[Up] [SIGAda] [ACM]

ASIS at SIGAda'99


SIGAda'99, held 17-21 October 1999, in Redondo Beach, California, had a number of ASIS activities, including:

  1. Monday, 18 October, from 2:00-5:30 P.M., ASIS Tutorial: "Building Ada Development Tools with ASIS-for-GNAT" by Sergey Rybin and Vasily Fofanov.
  2. Tuesday, 19 October, from 2:00-3:30 P.M., Paper in the Distributed Systems Issues Track: "CORBA and CORBA services for DSA" by Thomas Quinot, Fabien Azavant, Jean-Marie Cottin, Laurent Kubler, Vincent Niebel, Laurent Pautet, Sébastien Ponce, and Samuel Tardieu.
  3. Tuesday, 19 October, from 2:00-3:30 P.M., Paper in the Software Engineering Track: "Transitioning an ASIS Application: Version 1 to Ada95 2.0" by Joseph Wisniewski.
  4. Tuesday, 19 October, from 2:00-3:30 P.M., Paper in the Software Engineering Track: "Code Analysis of Safety-Critical and Real-Time Software Using ASIS" by Currie Colket [The paper was presented by Bill Thomas].
  5. Thursday, 21 October, from 1:30-5:30 P.M., ASIS Workshop: ASIS Extensions for Higher Level Abstractions by ASISWG/ASISRG. Steve Blake, the Vice-Chair of ASISWG, chaired the Workshop.
  6. Friday, 22 October, ISO/IEC JTC1/SC22 WG9 Meeting, Clyde Roby gave the ASISRG Report.

This was an excellent time to find out more about ASIS and to get involved in the ASIS Community!


Thursday, 21 October 1999; ASIS Workshop

An ASIS Workshop at SIGAda'99 was held to address "ASIS Extensions for Higher Level Abstractions". Steve Blake of Aonix, co-chair of ASISWG/ASISRG, identified a number of issues to guide the ASIS Workshop (available as a PowerPoint presentation). The primary purpose of this Workshop was to address a framework to support the development of ASIS Extensions for higher level abstractions.

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 their selection/use.


Monday, 18 October; Half Day Tutorial

Building Development Tools with ASIS-for-GNAT

Sergey I. Rybin
Vasiliy Fofanov

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.


[Up] [SIGAda] [ACM]

Last update 22 February 2000. Questions, comments to Clyde Roby (CRoby@IDA.Org)