Logo
Login Sign Up
Current Revision

ISO/IEC 15291:1999

Information technology -- Programming languages -- Ada Semantic Interface Specification (ASIS)
Best Price Guarantee
Instant

$287.21

2-5 Days

$287.21

SAVE 15%

$488.26


Sub Total (1 Item(s))

$ 0.00

Estimated Shipping

$ 0.00

Total (Pre-Tax)

$ 0.00


View in Library
or
International Organization for Standardization Logo

ISO/IEC 15291:1999

Information technology -- Programming languages -- Ada Semantic Interface Specification (ASIS)

PUBLISH DATE 1999
ISO/IEC 15291:1999

The Ada Semantic Interface Specification (ASIS) is an interface between an Ada environment (as defined by ISO/IEC 8652:1995) and any tool requiring information from this environment. An Ada environment includes valuable semantic and syntactic information. ASIS is an open and published callable interface which gives CASE tool and application developers access to this information. ASIS has been designed to be independent of underlying Ada environment implementations, thus supporting portability of software engineering tools while relieving tool developers from needing to understand the complexities of an Ada environment's proprietary internal representation.

Examples of tools that benefit from the ASIS interface include:

  • automated code monitors, browsers, call tree tools, code reformators, coding standards compliance tools, correctness verifiers, debuggers, dependency tree analysis tools, design tools, document generators, metrics tools, quality assessment tools, reverse engineering tools, re-engineering tools, safety and security tools, style checkers, test tools, timing estimators, and translators.

This International Standard specifies the form and meaning of the ASIS interface to the Ada compilation environment.

This International Standard is applicable to tools and applications needing syntactic and semantic information in the Ada compilation environment.

Extent

This International Standard specifies:

  • The form of the ASIS interface;
  • Sequencing of ASIS calls;
  • The permissible variations within this International Standard, and the manner in which they are to be documented;
  • Those violations of this International Standard that a conforming implementation is required to detect, and the effect of attempting to execute a program containing such violations;

This International Standard does not specify:

  • Semantics of the interface in the face of simultaneous updates to the Ada compilation environment.
  • Semantics of the interface for more than one thread of control.

Structure

This International Standard contains twenty-three clauses and four annexes.

Clause 1 is general in nature providing the scope of this International Standard, normative references, and definitions.

Clause 2 identifies the ASIS technical concepts. Here the Ada compilation environment to which ASIS interfaces is described. The concept of queries is presented. The ASIS package architecture is presented.

The packages that comprise the ASIS International Standard are provided in Clauses 3 through 23. These packages are provided in the correct compilation order and when presented in electronic format are compilable.

  • Clause 3 package Asis
  • Clause 4 package Asis.Errors
  • Clause 5 package Asis.Exceptions
  • Clause 6 package Asis.Implementation
  • Clause 7 package Asis.Implementation.Permissions
  • Clause 8 package Asis.Ada_Environments
  • Clause 9 package Asis.Ada_Environments.Containers
  • Clause 10 package Asis.Compilation_Units
  • Clause 11 package Asis.Compilation_Units.Times
  • Clause 12 package Asis.Compilation_Units.Relations
  • Clause 13 package Asis.Elements
  • Clause 14 package Asis.Iterator
  • Clause 15 package Asis.Declarations
  • Clause 16 package Asis.Definitions
  • Clause 17 package Asis.Expressions
  • Clause 18 package Asis.Statements
  • Clause 19 package Asis.Clauses
  • Clause 21 package Asis.Ids
  • Clause 22 package Asis.Data_Decomposition (optional package)
  • Clause 23 package Asis.Data_Decomposition.Portable_Transfer

The following annexes are informative:

  • Annex A: Glossary
  • Annex B: ASIS Application Examples
  • Annex C: Miscellaneous ASIS I/O and IDL Approaches
  • Annex D: Rationale

The major package interfaces visible to ASIS users are identified as clauses facilitating access from the table of contents.

The ASIS interface is compilable. Consequently, Sentinels have been used to mark portions of the ASIS text with comments appropriate to an ASIS implementor and an ASIS user.

The sentinels and their meanings are:

  • --|ER (Element Reference) These comments mark an element kind reference which acts as a header for those queries that work on this element kind.
  • --|CR (Child Reference) These sentinel comments follow sentinel comments marking element references (--ER) and reference child element queries that decompose the element into its children.
  • --|AN (Application Note) These comments describe suggested uses, further analysis, or other notes of interest to ASIS applications.
  • --|IP (Implementation Permissions) These comments describe permissions given an implementor when implementing the associated type or query.
  • --|IR (Implementation Requirements) These comments describe additional requirements for conforming implementations.

Conformity with this International Standard

Implementation conformance requirements

An ASIS implementation includes all the hardware and software that implements the ASIS specification for a given Ada implementation and that provides the functionality required by the ASIS specification. An ASIS implementor is a company, institution, or other group (such as a vendor) who develops an ASIS implementation. A conforming ASIS implementation shall meet all of the following criteria:

  • The system shall support all required interfaces defined within this International Standard. These interfaces shall support the functional behavior described herein. All interfaces in the ASIS specification are required unless the interface is specifically identified as being optional. The ASIS specification defines one optional package: Asis.Data_Decomposition. Asis.Data_Decomposition has one child package, Asis.Data_Decomposition.Portable_Transfer.
  • The system may provide additional facilities not required by this International Standard. Extensions are non-standard facilities (e.g., other library units, non-standard children of standard ASIS library units, subprograms, etc.) which provide additional information from ASIS types, or modify the behavior of otherwise standard ASIS facilities to provide alternative or additional functionality. Nonstandard extensions shall be identified as such in the system documentation. Nonstandard extensions, when used by an application, may change the behavior of functions or facilities defined by this International Standard. The conformance document shall define an environment in which an application can be run with the behavior specified by this International Standard. In no case except package name conflicts shall such an environment require modification of a Basic Conforming or Fully Conforming ASIS Application. An implementation shall not change package specifications in this International Standard except by:
  • Adding “with” clauses, pragmas, representation specifications, comments, and allowable pragmas. Allowable pragmas are those which do not change the semantics of the interface (e.g., List, Optimize, Page).
  • Replacing instances of the words <implementation-defined> with appropriate value(s).
  • Adding or changing private parts.
  • Making any other changes that are lexically transparent to Ada compilers.
  • An ASIS implementation shall not raise Program_Error on elaboration of an ASIS package, or on execution of an ASIS subprogram, due to elaboration order dependencies in the ASIS implementation.
  • Except as explicitly provided for in this International Standard, Standard.Storage_Error is the only exception that should be raised by operations declared in this International Standard.
  • When executed, an implementation of this International Standard shall not be erroneous, as defined by ISO/IEC 8652:1995.

Implementation conformance documentation

A conformance document shall be available for an implementation claiming conformance to this International Standard. The conformance document shall have the same structure as this International Standard, with the information presented in the equivalently numbered clauses, and subclauses. The conformance document shall not contain information about extended facilities or capabilities outside the scope of this International Standard.

The conformance document shall contain a statement that indicates the full name, number, and date of the International Standard that applies. The conformance document may also list software standards approved by ISO/IEC or any ISO/IEC member body that are available for use by a Basic or Fully Conforming ASIS Application. Applicable characteristics whose documentation is required by one of these standards, or by standards of government bodies, may also be included.

The conformance document shall describe the behavior of the implementation for all implementation-defined features defined in this International Standard. This requirement shall be met by listing these features and providing either a specific reference to the system documentation or providing full syntax and semantics of these features. The conformance document shall specify the behavior of the implementation for those features where this International Standard states that implementations may vary.

No specifications other than those described in this subclause shall be present in the conformance document.

The phrase “shall be documented” in this International Standard means that documentation of the feature shall appear in the conformance document, as described

SDO ISO: International Organization for Standardization
Document Number ISO/IEC 15291
Publication Date April 15, 1999
Language en - English
Page Count
Revision Level
Supercedes
Committee ISO/IEC JTC 1/SC 22
Loading...

Failed to load document history.

Publish Date Document Id Type View