The Ada Semantic Interface Specification (ASIS) is a layered, open architecture providing vendor-independent access to the Ada Library Environment. It allows for the static analysis of Ada programs and libraries. It is an open, published interface library that consists of the Ada environment and their tools and applications.

As explained by the ASIS Working Group:

“ASIS is an interface between an Ada environment as defined by ISO/IEC 8652:1995 (the Ada Reference Manual) and any tool requiring information from this environment” (SIGAda, 2020)

It is exclusively used for programming language applications and static analysis on Ada programs, therefore giving the relevant information and access to Computer-aided software engineering (CASE) and applicable developers. ASIS also has the ability in utilizing the relevant software engineering tools whilst also embodying an easy understanding of the complexities of an Ada environment display. In addition, it provides procedures, functions and relevant information that can be significantly used to access exclusive information found in reference manuals and the Abstract Syntax Tree (AST). Which in return will advance ASIS to the capability of being portable to transport and retain information and terminology of Ada tools.

“ASIS consists of 21 packages, 2 are optional and within these packages define 349 queries”. ASIS will also consist of a package which within it includes child packages that include “Errors Compilation units, Ada environments, implementation, exceptions, elements, iterator, declarations, expressions, clauses, definitions, statements, text and Ids”.

Overall ASIS is simply a straightforward way to collect data from an ADA program and increases any of the Ada tools portability.thumb|Ada Programming/All Chapters. Vol.1 of 3 volume set. The basis of ASIS

Features of ASIS

Ada Semantic Interphase Specification under the ISO/IEC 8652 Ada 95 Reference Manual (Ada Language Referencing Manual, 1994) is defined as an interface amidst an Aria environment and other tools requiring information from the Aria environment.

Features of ASIS based tools could include: While there are additional types of abstractions also involved but the 3 mentioned are the fundamentals.

<syntaxhighlight lang="ada">

Context

</syntaxhighlight>The Context abstraction of ASIS consists of the definitions, terms and conditions that are available in ASIS enquiries. It is also used as a way and logical handle for the Ada environment.

1. Wide acceptance

It must be designed according to this criterion so that a wide variety of tools can be used for ASIS. Designing it with this allows the interface library to be more flexible and available for tools across other platforms, Ada vendor implementations. It also allows for it to reduce training time for tool users and developers.

2. Transportability

ASIS must also be designed so it has the capability to be transferred from one computer to another computer or another environment to another.

3. Uniformity and cohesiveness

It should also be consistent in properties, concepts, types and operations but also be kept as a simple and coherent operation.

4. Implementability

ASIS is also criticised so that it is "implementable by any Ada Compiler Vendor with a reasonable effort".

7. Ada terminology and style

ASIS should also adapt to the terms and conditions of style and definitions to the Ada Reference Manual.

8. Performance

"ASIS design must allow for efficiency from both the client view and implementation view"

Having written such a difficult code called ‘generate_db_support_code’ which majorly consisted of Ada code, the aim of it were to open 2 files, examine contents and create two new files based on the prior 2 files. ASIS had been used to examine the structure of the code efficiently, making it easier to store and link to a list containing Ada language. ASIS coherently completes what is asked to do and successfully gains constant and secure access to the data base information which meets the project’s needs.

AdaControl

AdaControl is a free (GMGPL) tool that detects the use of various kinds of constructs in Ada programs. Its uses include checking of coding standards, exploring the use of Ada features, making statistics, and more. It exploits all the power of ASIS, and can be considered as the most typical ASIS application.

References

Additional

  1. ISO/IEC 15291: Information technology — Programming languages — Ada Semantic Interface Specification (ASIS)
  2. Ada Language Reference Manual. Version 6.0 21 December 1994. Copyright (C) 1992, 1993, 1994, 1995 Intermetrics, Inc.
  3. ASIS 2.0 specification
  • ASIS Working Group
  • Ada Reference Manual