XD Ada MIL-STD-1750A for OpenVMS Systems Version 2.1

 

Software Product Description        August 1997         DDA-0011F

 


Description

 

XD Ada™ is a cross-development software product jointly developed by Digital Equipment Corporation (now Hewlett-Packard) and EDS (now HP Enterprise Services), which provides a validated implementation of the full ANSI/MIL-STD-1815A-1983 Ada language. It runs on the VAX™-series and AXP™-series processors under the OpenVMS™ Operating System. XD Ada MIL-STD-1750A Version 2.1 for OpenVMS Systems is designed for use in embedded systems, generating optimized and relocatable code for targets that conform to MIL-STD-1750A.

 

XD Ada is integrated with the OpenVMS Operating System, DEC Ada™, the OpenVMS Debugger and Digital’s DECset™ tools. XD Ada programs can invoke modules written in assembly language and programs written in assembly language can invoke XD Ada modules.

 

Ada is a powerful, general-purpose language that supports many modern programming practices. The language was designed as the result of a competition sponsored by the United States Department of Defense. The purpose of the competition was to define a language suitable for programming embedded computer systems. Among the requirements of the language were features that would reduce software costs by increasing maintainability, evolvability, reliability, and portability.

 

Ada meets these requirements by providing a modular structure for programs, allowing separate compilation of program units, strong typing, exception handling and standard language features that must be supported across implementations. Ada provides a number of other features that make it suitable for a variety of applications including general and computational systems. Because it includes language features that support multi-tasking, Ada is particularly well suited for real-time applications.


Ada Language Features

 

·         Strong Typing — An object (variable) of given type may take on only those values that are appropriate to that type, and only certain predefined operations may be performed to data of that type. Because type checking is done at compile time, strong typing ensures that any errors associated with incorrect data types are detected at compile time.

 

·         Data Abstraction — Also known as information hiding, data abstraction hides implementation details while providing users with mechanisms for using the implementation. Abstraction allows the user to focus on important characteristics while ignoring underlying details. Ada provides various levels of abstraction through features such as private data types and packages.

 

·         Concurrent Processing — For many applications, it is important that a program be expressed as a number of parallel, rather than serial activities. Most high-order languages provide little or no support for handling such parallel or concurrent activities; they rely on facilities of the host operating system. Ada uses tasks to allow parallel activities to be programmed directly within the language.

 

·         Separate Compilation — Ada’s separate compilation feature allows a programmer to divide a large program into compilation units that may be compiled at different times. When a unit is compiled, the Ada program library manager records information about that unit and other related units. This feature is unlike separate compilation features in other languages, where very little information about separately compiled modules is maintained.


 

·         Generic Definitions — A generic unit is a template from which specific instances can be made at compile time. In many cases, the logic of an algorithm or a set of operations is independent of the specific type of the values being manipulated. However, in a strongly typed language such as Ada, all types must be defined at compile time. Generic definitions allow the user to define a general algorithm or set of related operations, and then create a specific instance of that algorithm or set of operations for each type to which the algorithm or operations must apply.

 

·         Exception Handling — In many operations, especially embedded computer systems, it is critical that a system be able to recover quickly and efficiently from error conditions. Ada provides the ability to raise and handle exceptions. It includes predefined exceptions and also permits the user to define exceptions. When an exception occurs in an Ada program, normal processing is abandoned and control passes to the exception handler.

 

XD Ada Components and Special System-Related Features:

 

·         XD Ada fully conforms to ANSI/MIL-STD-1815A-1983 (Reference Manual for the Ada Programming Language) and is validated by the Ada Joint Program Office using Version 1.11 of the Ada Compiler Validation Capability.

 

·         XD Ada’s program library manager that provides support for programming teams through:

 

—   Program libraries that can be shared by many programmers

—   Program sublibraries that can be used to isolate, develop and test Ada units in the context of parent program libraries

—   Automatic recompilation of obsolete compilation units

—   The ability to share compiled Ada code either by reference or copy.

 

·         XD Ada toolset which provides for the following:

 

—   Building a program image

—   Loading a program image onto a target

—   Verifying a program image on the target

—   Executing a program image on the target

—   Reformatting an image to an industry-standard format, for example HP/MRI IEEE-695 or that required for an emulator or target PROM

—   High and low level fully symbolic debugging

—   Assembly language development.

 

·         Reconfigurable, modular run-time system with optimized rendezvous performance


·         Host-target communications as follows:

 

—   RS-232-C serial interface

—   OpenVMS Mailbox interface for non-standard host-target links.

 

·         High-level, fully symbolic debugging capability through the OpenVMS debugger, including support for:

 

—   Mixed Ada and Assembler code

—   Separately compiled units

—   Tasking programs.

 

·         Integration with DEC Ada and the OpenVMS debugger

 

—   Allows development, testing and debugging of a program on the host using DEC Ada, before using XD Ada to compile the program for the chosen target.

 

·         Integration with DECset tools — In particular the following tools are useful to the XD Ada developer:

 

—   DEC/CMS — DEC/Code Management System — Provides a method for storing files and maintaining a record of changes to them

 

—   DTM — DEC Test Manager™ — Provides a method for organizing software test and for automating the way tests are run and evaluated

 

—   LSE/SCA — Language-Sensitive Editor — Provides a series of language-specific templates to assist in building syntactically correct programs, in addition to allowing editing, compilation and review of errors. The Source Code Analyzer provides cross-referencing and static analysis information about programs

 

—   VAX DOCUMENT™ — A documentation generation tool that includes support for documentation conforming to U.S. DOD Standard-2167A.

 

·         System-dependent facilities — Different systems vary in such characteristics as the size of storage units, memory size and the smallest and largest integer values supported. XD Ada provides the predefined package SYSTEM to define system-related constants and to represent system-dependent information.

 

·         XD Ada also provides representation clauses, which allow the user to tailor the representation of data to suit a particular system.


XD Ada provides:

 

—   Length clauses, which specify the amount of storage associated with a type

—   Enumeration representation clauses, which specify the internal codes for the literals of enumeration types

—   Record representation clauses, which specify the layout of a record type, such as the order, position and size of record components

—   Address clauses, which specify required addresses in storage for constants and variables.

 

·         XD Ada provides a number of pragmas (compiler directives) that allow various system-related parameters to be set and changed, and control mixed-language programming.

 

·         XD Ada provides comprehensive diagnostic messages, including automatic syntax error correction, directed at helping the new Ada user.

 

Product Options

 

The following separately licensable product options are

available with XD Ada MIL-STD-1750A Version 2.1 for OpenVMS Systems:

 

·         XD Ada MIL-STD-1750A Emulator Support Option Version 2.1 for OpenVMS Systems (SPD DDA–0621B)

·         XD Ada MIL-STD-1750A Semaphores and Message Passing Version 2.1 for OpenVMS Systems (SPD DDA–0211C)

 

Host Software Components

 

XD Ada MIL-STD-1750A Version 2.1 for OpenVMS Systems host software consists of the following:

 

·         Cross-compiler — Generates optimized and relocatable object code from programs written in Ada. Flags the use of implementation-dependent features which result in potentially non-portable code

 

·         Builder — Creates a loadable image from the object code

 

·         Loader — Loads the image onto the target

 

·         Image verification system — Performs checks to verify that an image loaded into target memory is identical to that on the host

 

·         Run command — Starts execution of the image

 

·         Formatter — Reformats the image so that it can be transferred to the target without the loader; HP/MRI IEEE-695 V4.0 format object files can be created

·         Debugger — Allows high level, fully symbolic debugging from the host of programs running on the target; also supports low level assembly language debugging when required

·         Macro assembler — Translates assembly language into object code

 

·         Librarian — Creates and maintains object code libraries and macro libraries

 

·         Program library manager — Provides the user interface to the cross-compiler and builder

 

·         Library of predefined compilation units — Provides standard units for use in programs

 

·         Run-time system object code library — Provides the support required at run time; only the modules used by a program are included at build time.

 

Target Software Components

 

The XD Ada MIL-STD-1750A Version 2.1 for OpenVMS Systems target environment consists of the following:

 

·         Run-time system — Provides the following:

 

—   Predefined language environment

—   Tasking system

—   Interrupt support

—   Input-output support

—   Storage management

—   Exception handling

—   Program initialization and termination

—   Expanded memory support for simple programs in address state 0, and for up to 16 concurrent programs running in separate address states

 

·         Target debug kernel — Provides support for loading and online debugging from the host.

 

The target software is supplied configured for a standard hardware configuration: the Fairchild SBC-50 board using the F9450 microprocessor.

 

The target software is supplied in source form so that it

can be reconfigured for other target configurations conforming to MIL-STD-1750A.

 

Documentation

 

Comprehensive online help is provided for XD Ada. The manuals supplied are as follows:

 

·         The XD Ada MIL-STD-1750A, Installation Guide for OpenVMS VAX Systems or XD Ada MIL-STD-1750A, Installation Guide for OpenVMS AXP Systems — Step-by-step instructions for installing XD Ada.

·         The XD Ada Language Reference Manual — Includes the full text of the Reference Manual for the Ada Programming Language together with XD Ada specific supplements.

 

·         XD Ada MIL-STD-1750A, Developing XD Ada Programs on OpenVMS Systems — Describes how to use the XD Ada compiler, program library manager and XD Ada toolset.

 

·         The XD Ada MIL-STD-1750A, Assembly Language Reference Manual — Describes how to use the assembly language supplied as part of the XD Ada software.

 

·         The XD Ada MIL-STD-1750A, Run-Time Reference Manual — Describes the execution of programs on the target, including memory allocation, compiler optimization, interfacing with assembly language and writing interrupt handlers.

 

·         The XD Ada OpenVMS Debugger Manual — Describes how to use the XD Ada OpenVMS Debugger.

 

·         The XD Ada MIL-STD-1750A, Fairchild SBC-50 System Manual — Contains all the system specific information referenced from the other documents above.

 

HOST HARDWARE REQUIREMENTS

 

Disk Space Requirements (Block Cluster Size = 1):

 

Disk blocks required for installation: 35,000 - VAX

  58,000 - AXP

Disk blocks required for permanent use: 32,000 - VAX

        56,000 - AXP

These block counts refer to the disk space required on the installation disk. The sizes are approximate; actual sizes may vary depending on the user’s system environment, configuration and software options selected.

 

TARGET REQUIREMENTS

 

XD Ada MIL-STD-1750A Version 2.1 for OpenVMS Systems is supplied configured for the following standard target:

 

·         A Fairchild SBC-50 board using the F9450 microprocessor.

 

XD Ada MIL-STD-1750A Version 2.1 for OpenVMS Systems can be used with any target conforming to MIL-STD-1750A, provided that the appropriate reconfiguration has been carried out.

 


ORDERING INFORMATION

 

For information on how to order the product, contact your local Sales Office.

 

SOFTWARE LICENSING

 

This software is furnished under the provisions of a software license.

 

Licenses for educational institutions are available.

 

For more information on licensing terms and conditions, contact your local Sales Office.

 

License Management Facility Support

This product supports the OpenVMS License Management Facility.

 

For more information on the License Management Facility, refer to the OpenVMS Operating System Product Description (SPD 25.01.xx) or the OpenVMS VAX Operating System documentation set or the OpenVMS AXP Operating System documentation set.

 

SOFTWARE WARRANTY

 

Warranty for this product is provided in accordance with the terms and conditions of the license.

 

The above information is valid at time of release. Please contact your local Sales Office for the latest information.

 

 

 

 

 

 

 

TM                  AXP, DEC, DEC Ada, DECset, DEC Test Manager, Digital, OpenVMS, TK, VAX, VAX DOCUMENT, VMS and XD Ada are trademarks of Hewlett-Packard Development Company, L.P.

 

 

Company related details last updated May 2010

 

 


 

swep.sales@hp.com;  www.swep-eds.com