SIGAda'98, held 8-13 November 1998, in Washington DC, had a number of ASIS activities, including a workshop on ASIS, a workshop on commercializing Ada, High Integrity Track presentations, workshop reports, a tutorial, and a BOF (Birds-of-a-Feather).
ASISWG and Safety and Security Working Group (SAFEWG) BOF
was held, discussing the safety-critical and very mission-critical
application of making India Pale Ale. India Pale Ale has more hops and
more alcohol than traditional Ale to serve as a preservative for the
long trip to India. Yes, a great tasting Ale is very mission-critical
and the process is very safety-critical. Yes, ASIS can be used to make
a great tasting Ale.
The report on the workshop results (available as a Word document, 250 KBytes) was presented on Thursday morning and published in Ada Letters: "Workshop Report: ASIS - Where Do We Go From Here? 6-10 PM, Sunday, 8 November 1998, SIGAda'98, Washington, D.C.", Ada Letters, Volume XIX, No. 1, March 1999, pp. 42-47.
Dr. Robert Leif also made a presentation:
"Software Measurement for Science and Profit".
It is also available in
Rich Text Format (RTF) and
Portable Document Format (PDF).
Building Development Tools: ASIS and Other GNAT Technologies is the tutorial given by Sergey and Cyrille.
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 tutorial consists of two parts. In the first part (presented by Cyrille Comar) the general approach for developing tools for the GNAT Ada 95 compilation system is discussed. In the second part (presented by Sergey Rybin) ASIS is presented as an effective technology for building the wide range of useful tools.
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.
Then the tour guide through the ASIS specification is presented. The goal of this tour is to show what and where things are defined in ASIS, and how to navigate in the ASIS specification.
A short overview of the ASIS implementation for GNAT is next.
And then some practical aspects of ASIS-based tool development are discussed in order to show that ASIS really is easy-to-use and easy-to-start and give the audience some hints and tips on how to build your own ASIS tool. This part contains the basic cycle of an ASIS application, specific and general traversing of Ada programs by means of ASIS queries, dealing with lists of Elements and Compilation Units, the idea of ASIS secondary layers, the notion of consistency in an ASIS Context and dealing with ASIS implementation-specific features in ASIS applications.
Mr. George Romanski, Chair SAFEWG Mr. Currie Colket, Chair ASISWG/ASISRG Dr. Bill Thomas, MITRE
A safety-critical / mission-critical application was presented which is used to make India Pale Ale [Yes, safety-critical, and we will all agree, taste is very mission-critical]. Safety aspects were discussed which lend themselves to ASIS code analysis.
Special thanks to George Romanski for the free samples of his
home-made India Pale Ale.
Last update 14 October 1999. Questions, comments to Clyde Roby (CRoby@IDA.Org)