Tri-Ada'97 had a number of ASIS activities, including a tutorial, a panel, a paper session, and a BOF (Birds-of-a-Feather).
A joint 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 activities, along with extended abstracts are provided below.
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.
Chaired by Mr. Currie Colket, Chairman ASIS Working Group/Chairman ASIS Rapporteur Group.
tarfile (10 KBytes), or the individual text files:
The panel discussion focused on how a typical Ada developer can use the Ada Semantic Interface Specification (ASIS) to rapidly "roll-your-own" tools for special analysis of compilable Ada source code for a variety of purposes (such as call tree analysis, object/type usage analysis, browsing, etc.). This panel session addressed the ASIS 95 specification focusing on its use for ASIS-based tools to evaluate quality in general, and more specifically, for its analysis of mission-critical and safety-critical systems.
Mr. Currie Colket Space and Naval Warfare Systems Command SPAWAR PMW 133 2451 Crystal Drive Arlington, VA 22245-5200 - USA Phone: +1 (703) 602-1483 Fax: +1 (703) 602-6805 Email: Colket@ACM.Org Dr. Joyce L. Tokar DDC-I Phoenix, AZ Email: email@example.com OR Tokar@IBM.Net Dr. Bill Thomas The MITRE Corp. 1820 Dolley Madison Blvd., M/S W624 McLean, VA 22102 Phone: (703) 883-6159 FAX: (703) 883-1339 Email: BThomas@MITRE.Org Herm Fischer Mark V Systems Email: Fischer@MarkV.Com Robert Kitzberger Development Manager Rational Software Corporation Email: RLK@Rational.Com Clyde Roby Institute for Defense Analyses 1801 N. Beauregard Street Alexandria, VA 22311 Phone: (703) 845-6666 FAX: (703) 845-6788 Email: ClydeRoby@ACM.Org
Mr. Vasiliy Fofanov, Moscow State University, Dr. Sergey Rybin, Moscow State University, Professor Alfred Strohmeier, Swiss Federal Institute of Technology
ASIStint is an interactive ASIS interpreter with scripting facilities. It is a perfect assistant (sic!) in learning ASIS, because the user may interactively try out the effects of the various ASIS queries. It may be used for learning ASIS, i.e., the user may try out interactively the effects of the various ASIS queries. It might also be used as an assistant (sic!) when experimenting with ASIS queries, e.g., in order to find out a way of implementing a part of an ASIS application, or to correct it. Yet another use is debugging and testing an ASIS implementation. Input-output of a session may be recorded, and then be replayed.
ASIStint is completely portable between ASIS implementations that comply with the ASIS version 2.0.p. For ASIS-for-GNAT, such a version exists for registered users and will soon become publicly available.
You are welcome to contact the author at firstname.lastname@example.org if you need this tool to be adapted for any of the previous ASIS versions.
This presentation is available as a set of slides in PostScript form (87 KBytes).
The Ada language source files and associated documentation for ASIStint is available as a UNIX tar file (399 KBytes).
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 25 February 1998. Questions, comments to Clyde Roby (CRoby@IDA.Org)