Portability


Every Ada compiler must pass a series of "Validation Suite" tests administered by the DoD Ada Joint Program Office (AJPO) in order for it to be called "Ada." However, the implementation of some aspects of an Ada compiler is left to the compiler writer's best judgement. These are not required to be tested in order for the compiler to be validated. Because of this, even pure Ada code may not port from one platform to another without modification.

In addition to the above, programmers may unwittingly decrease the portability of their code by using system types, vendor-supplied packages, items mentioned in Chapter 13 or Appendix F of the LRM. Use of these should be carefully considered. If the system design requires the use of any of these, their use should be isolated to a few well documented packages. For an excellent article on this topic, see "The Myth of Portability in Ada" provided in Appendix A.

Sage-ST TM does have platform-dependent packages. These are kept isolated from the main portion of the system. When a port to another platform is done, most of the work is limited to these half-dozen packages. One excellent example of this is the ModSys (modified system) package. Sage-ST TM creates its own subtypes from the system types, and then uses its own types throughout Sage-ST TM . Thus when porting from a compiler that defines an integer as 32 bits to one where an integer is only 16 bits, only one quick change in one package (ModSys) is required.

(Of course, we, too, are not perfect, and platform-specific things sometimes appear during a port. These are removed as we become aware of them. Consequently each port is a little easier than the last!)

At the INL, under customer sponsorship, new hardware/compiler combinations are continually being evaluated for suitability as Sage-ST TM platforms. Through customer sponsors, Sage-ST TM has been, or will be, ported by the INL to the following platforms:

        
          Vendor
        
        
          Hardware
        
        
          Operating System
        
        
          Comments
        
        Alsys    IBM PC (286)  MS-DOS    U.S. Marine Corps sponsored
        Alsys    IBM PC (386)  Extended MS-DOS   U.S. Air Force sponsored
        Alsys    EVEREX PC   UNIX        AJPO sponsored
        Alsys    PRIME   UNIX        AJPO sponsored
        Alsys    IBM RS/6000    UNIX/AIX      U.S. Navy
        Meridian  IBM PC (286)  MS-DOS
        Meridian  IBM PC (386)  Extended MS-DOS
        Verdix    AT&T 3B2    UNIX        U.S. Army sponsored
        Verdix    SUN SPARC 2  UNIX        U.S. Air Force sponsored
      
Go Back To Sage-ST TM TABLE OF CONTENTS


warren.merrill@inl.gov , ftp://sage.inel.gov
Copyright © 1989-2006. Battelle Energy Alliance