SIGAda'99, held 17-21 October 1999, in Redondo Beach, California, had a number of ASIS activities, including:
This was an excellent time to find out more about ASIS and to get involved in the ASIS Community!
As last year, the results will be published in Ada Letters, and will guide the activities of the ASIS community for years to come. The results of the SIGAda'99 ASIS Workshop are now available as a MS Word document (156 KBytes), a PDF document (36 KBytes), and as a PostScript file (462 KBytes).
The focus of the Ada Semantic Interface Specification (ASIS) Working Group and ASIS Rapporteur Group has been to evolve ASIS as an interface to the Ada 95 compilation environment. ASIS now provides a powerful mechanism to perform code analysis for mission-critical, high-integrity, and safety-critical applications. A variety of highly effective tools have been built using ASIS. This interface was approved as an ISO standard in 1999 and is known as:
ISO/IEC 15291:1999 Information technology - Programming languages - Ada Semantic Interface Specification (ASIS)
At SIGAda'98, the ASIS Workshop focused on where do we go from here. A principal concern was the issue of ASIS extensions to support the development of higher level abstractions. Extensions to the ASIS specification may be required for a host of valid reasons. The principle reason identified was:
These abstractions raise a number of issues, such as:
Since the SIGAda'98 ASIS Workshop, ASIS for Ada95 extensions have been developed and are available on the ASIS Home Page. This is an excellent time to address the needs of emerging ASIS extensions.
Participants from the compiler vendor community, tool vendor
community, and user community have been asked to identify ASIS higher
level abstraction needs for extensions. The workshop addressed
voluntary naming conventions. Perhaps a future ASIS Workshop will
address a possible taxonomy for categorizing extensions to facilitate
Building Development Tools with ASIS-for-GNAT is the tutorial given by Sergey and Vasiliy.
This tutorial explains how you can build your development and analysis tools when working with GNAT. Some sample tools were presented to demonstrate different approaches to tool development. Participants should have a good understanding of Ada semantics, and basic experience in programming with GNAT is helpful, but not required.
The first part starts from the general overview of GNAT, including the compiler's internal data structures and existing GNAT toolset. Then different technologies for building tools for GNAT are compared to give some ideas which technology should be used for a specific tool. ASIS is positioned as a technology which provides a proper (that is, standardized, stable and high-level) interface to the compiler's internals and allows you to build both free and proprietary tools for GNAT.
The second part is an introductory ASIS (sub)tutorial, and its main goal is to help the audience to get started with writing their own ASIS tools. It starts from the general definition of ASIS, examples of ASIS-based code fragments and tools which can be built on top of ASIS. The main ASIS abstractions, such as Context, Compilation Unit and Element, are described.
Last update 22 February 2000. Questions, comments to Clyde Roby (CRoby@IDA.Org)