Minutes from ASISWG/ASISRG Meeting of 10 June 1996 in Montreux, Switzerland The Ada Semantic Interface Specification Working Group (ASISWG) and the Ada Semantic Interface Specification Rapporteur Group (ASISRG) met all day Monday (10 June 1996) at the Hotel Eurotel Riviera in Montreux, Switzerland. The following people attended: Currie Colket, SPAWAR Vasily Fofanov, Moscow State University Jesper Joergensen, DDC-I Clyde Roby, IDA Sergey Rybin, Moscow State University Tom Strelich, General Research Corporation Bill Thomas, MITRE In addition, Prof. Alfred Strohmeier of the Swiss Federal Institute of Technology attended a part of the morning session before the break. The primary goal of this meeting was to complete an initial draft Working Draft to be submitted to ISO/IEC SC22 WG9 at their meeting on Friday, 14 June, at the Hotel Eurotel Riviera. A draft Working Draft was submitted to WG9 at their meeting. WG9 was requested to review the document and provide comments. After comments from ASISWG/ASISRG and WG9 are incorporated, ASISRG will request a formal ballot on the ASIS Specification. When WG9 approves the ASIS Working Draft, it will become a Committee Draft (CD); they will then forward it to SC22 for approval. Some of the information from that meeting appears in these minutes. Currie Colket noted that this was our very first truly international meeting in that the meeting was held outside the United States and had representatives from four countries. Our last meeting was the first meeting with international participation; Sergey Rybin (from Russia) and Steen Silberg (from Denmark). Minutes and Action Items from March Meeting The minutes of the March 1996 meeting were accepted and approved by a formal motion and vote. The Action Items from the March 1996 meeting were reviewed (these are available on the AJPO's SW-Eng host). ISO Standardization of ASIS SC22 had approved the ASIS New Work Item on 2 February 1996 with 17 nations voting to approve (one nation abstained and 5 nations did not submit their votes on time). To become a formal ISO project, approval at the JTC1 level is required. The JTC1 ballot closed on 28 May 1996, but the results were not known for the ASISWG/ASISRG meeting. A week later, the results were announced: the ASIS New Work Item was approved and the Project Number #22-15291 was assigned. This is an important milestone as the ASIS project is now formally recognized by ISO, facilitating the standardization of ASIS. The first real step towards getting an international standard is to submit a Working Draft to WG9. Our latest ASIS for Ada 95 draft specification is ASIS Version 2.0.G. This version was submitted to the WG9 meeting on 14 June for their comments. After the draft Working Draft is updated, a mail ballot will be done by WG9 within 60 days of their receiving it. Once WG9 approves the Working Draft, it is submitted to SC22 as a Committee Draft (CD). Once a CD is in, we can only make changes as a response to comments formally submitted in order to go from a CD to a Draft International Standard (DIS). Tom Strelich said that, from the tool-builder's perspective, we want something that is stable now so that tools can be built. The ISO standard document template for ASIS was distributed. Of course, several sections will have to be completed. The ISO draft Working Draft document (excluding the source listing) was reviewed. We agreed to make a general change: anywhere "Vendor" appears, change it to "Implementor". In addition, we corrected several typos and misspelling errors and removed irrelevant bulleted items. It would be useful to have an index; perhaps an index of queries and ASIS types would be valuable. If this is done, it should be done after the CD is submitted. Also, an annex which contains example programs which use ASIS: such as a Call Tree example, an example that supports HRG requirements, and an example that supports OO requirements. Bill Thomas indicated he would look into this. An annex for the rationale is not included at this time. Expected ASIS Schedule for ISO Standardization This schedule has been revised based upon our meeting with WG9. As can be seen by the following schedule, we are still looking for an ISO approved standard ASIS 95 in the 1998 time frame. Dec 93 AJPO recommends ASIS V1.1.0 (ASIS 83) be used as interface to Ada 83 Program Library Mar 94 Design Goals for ASIS 95 identified Jun 94 ASISWG finalizes ASIS 83 as V1.1.1 with test suite Jun 94 Evaluate design approaches for ASIS 95 Nov 94 Finalize approach for ASIS 95 Nov 94 Categorize outstanding ASIS 83 deferred issues Nov 94 Proposed KINDS for ASIS 95 Feb 95 ASIS Home Page on WWW established http://www.acm.org/sigada/WG/asiswg Mar 95 Finalize ASIS 95 Kinds Mar 95 Provide ASIS 95 in Skeleton format Mar 95 Organize ASIS 83 Deferred Issues and Current Issues Apr 95 ASISRG created unanimously by ISO/IEC JTC1/SC22 WG9 Jun 95 Approved initial ASIS 95 Element_Kind Type Hierarchy Jun 95 Approved changes to ASIS 83 to produce ASIS 95 draft standard Jun 95 Defined ASIS terminology Jun 95 Approved new library/environment model Oct 95 Prototype demonstration of ASIS for GNAT Nov 95 Draft ASIS 95 distributed for public comments Feb 96 SC22 approved ASIS New Work Item (NWI) Mar 96 ASISWG/ASISRG approved ASIS 95 ISO Committee Draft (CD) May 96 ASIS draft Working Draft distributed to WG9 May 96 JTC1 approved ASIS NWI (ASIS assigned Project #22-15291) Jun 96 ASIS-for-GNAT prototype available for GNAT Ada 95 Compiler Jun 96 ASIS draft Working Draft submitted to WG9 for comments Oct 96 Possible; ASIS Working Draft submitted to WG9 Dec 96 Possible; first WG9 ballot on ASIS Mar 97 Possible; second WG9 ballot on ASIS May 97 Possible; SC22 ballot on ASIS CD Dec 97 Possible; JTC1 ballot on ASIS CD (ASIS registerable as DIS) Feb 98 ASISWG/ASISRG incorporate comments into ASIS DIS May 98 Possible; WG9 approval Aug 98 Possible; SC22 ballot on ASIS DIS Nov 98 Possible; JTC1 ballot on ASIS DIS Dec 98 Possible; ASIS International Standard printed ASIS on the Internet Mickey White's paper and slide presentation from the Software Technology Conference of 1993 are now available through the ASISWG/ASISRG web site. This paper describes how IBM used ASIS to create a Universal Delogger to process messages from the U.S. Air Force System 1 Satelite at the ground station. The approach could be practical to decouple interfaces for any organization with data recording / data de-logging requirements. All the slide presentations from the Ada-Europe'96 conference will eventually be on the web site; most are already there. The following information is now available via the World Wide Web (either on the ACM host or via links to the AJPO host): * the ASIS Frequently Asked Question (FAQ) list * ASIS Vendor Products (both implementations and client products) * ASIS Related Work * ASIS Tutorials (for ASIS 83) * information about ASIS for GNAT * information about the AJPO ATIP: ASIS/PVL * other information about ASISWG and its meetings, etc. The URL is (note the new shortened form of the URL): http://www.acm.org/sigada/wg/asiswg The ASIS FAQ was updated for the Ada-Europe'96 conference. Update on ASIS-for-GNAT Project ASIS-for-GNAT cannot be considered as a source-based interface anymore. Some intermediate information is written to a file so that ASIS can access it. ASIS-for-GNAT can now process multiple units -- there had been a restriction of only one unit at a time. Now it can process all compilation units in the current directory. ASIS-for-GNAT is much more reliable now; there are currently two users of the ASIS-for-GNAT prototype: Sema Group in Grenoble, France, and Uppsala University in Sweden. Traverse_Element is now fully implemented and Sergey is currently working on the Text package. An application can product source code in many forms, so it can be used as a pretty printer, but that is not the Text package's only role. ASIS-for-GNAT 3.04/3.05 was delivered immediately after Ada-Europe'96. Future work on ASIS-for-GNAT includes implementing the semantic queries. ASIS for GNAT is available by ftp on the lglftp.epfl.ch host in the /pub/ASIS directory. Sergey's tool, ASIStint, could be used as part of the Conformance Suite. They are going to base the ASIS-for-GNAT test suite on that tool. Formal Issues discussed at this ASISWG/ASISRG meeting #012 - Terminology for ASIS 95 Glossary In recent email discussions concerning the glossary, the question was asked about whether or not we should maintain two glossaries -- the real glossary and a discussion glossary (for internal ASISWG). The glossary should be for the standard and not for ASISWG/ASISRG. There was a suggestion that we have one glossary from which to extract terms for both the standard and the rationale. Could we use a different type font for definitions that appear as part of the standard and those that aren't part of the standard? We agreed that this probably would not be desirable. We essentially voted for one glossary. The glossary is not a normative portion of the standard and consequently will be valuable as a tool for communication and understanding. Terms in the glossary do not have to be referenced in the main body of the standard. It will help those who have worked with the standard for years towards a common terminology. Terms in the glossary should be clearly defined. There was a suggestion for a more formal process of deciding what terms should be in the glossary and which should not. Also, how does ASIS relate to Ada 95? There are a few contradictions between Ada 95 and ASIS 95; the glossary is only one of many things which must be considered. Recall that one of the goals of ASIS 95 was an easy transition from ASIS 83. But we also want to define terms that we use among ourselves. For new people, we need terms that they can use, too. Thus, we should define terms that people find useful. New people cannot learn that much from a "discussion glossary". ASISWG/ASISRG then went through the glossary that was distributed shortly before the meeting and determined which terms should be removed. All the private types defined in ASIS should be in the glossary. Definitions of notions should appear first followed by the definition of the private type; for example, compilation unit, then Compilation_Unit. The characters "[type]" should appear after terms which are private types. Issue #012 remained Open. #013 - Don't preclude plug'n'play Currently we see potentially four ASIS implementors. The IDL approach recently discussed on email (see email discussions by Bill Beckwith and others) may have some merit. Is Annex E use of Ada a way of satisfying plug'n'play? We could provide one or more annexes in the standard that shows how this could be done -- whether via IDL or via Annex E or via client/server. As a practical matter, all ASIS providers currently provide linking to a library. There should probably be words in section 1 or 2 of the draft Working Draft (formerly draft CD) under Scope about implementation approaches, including client/server and plug'n'play. Perhaps a paragraph on the first page of the introduction about examples of implementation strategies. Perhaps add an annex identifying implementation approaches. Issue #013 remained Open. Coordination with Other Groups The meeting was a combined meeting of ASISWG (which normally holds open meetings) and ASISRG (which usually holds meetings by invitation only). Currently the ASISRG rules have been relaxed, but later we may want to exercise these rules. The Safety and Security Rapporteur Group (HRG) is very interested in ASIS. They have proposed "pragma annotate" to communicate to ASIS-based tools to support analysis of assertions. Additional information about the HRG and this pragma can be found on the HRG Home Page (http://www.npl.co.uk/npl/cise/systems/hrg.html). Both the Ada Bindings Working Group and the Object Oriented Working Group of SIGAda have received copies of the draft CD. Dave Bookman, chair of OOWG, sent an email request to OOWG on 31 May for them to review ASIS. Other Issues for Consideration * In recent email discussions, the issue of a client/server implementation was raised again -- it had been raised about 12-15 months ago. Thus far, nothing precludes such an implementation. However, implementors may not want to do this because of performance constraints. * Recent email discussions also suggested that ASIS interfaces should be defined with IDL. * Another recent email message by Steen Silberg suggested something similar to Ada's Annex E. The Remote Procedure Call could be used as a means to support the desired plug'n'play characteristics. Later we determined that the call could be problematic as the Remote Procedure Call could have some compiler provider (vendor) dependencies. * "Contraversials in the current ASIS definition as a formal barrier for ASIS standardization", a recent email discussion begun by Sergey. There are some inconsistencies identified in the Ada 95 Reference Manual; these are not formalized and there is no real corresponding part in ASIS. He suggests that ASIS must cover these in its concept of an Ada environment. Sergey said that he will do an analysis of the Ada RM concerning its inconsistencies. Tom has said that, from a tool-builders viewpoint, ASIS describes well the Ada environment that tools must interface with. Removing the concept of an Ada environment out of ASIS would be confusing to people. The current definition of ASIS is an incredibly useful definition. * Technical details concerning explicit and implicit declarations. Currently ASIS returns only explicit declarations from all of the ASIS queries (where it makes sense). Sergey indicates that this is a formality issue since Ada 95 identifies both explicit and implicit declarations. Subprogram bodies are treated as declarations; ASIS treats these as declarative items. There was some discussion about attribute references with respect to explicit and implicit, too. There was a suggestion to change the specification of ASIS. But one of our initial design goals was to minimize changes, in order to provide a minimal impact to existing implementations. We've agreed not to make changes except to make clarifications in the documentation. On section 11.14 Implicit_Components_Supported -- does this apply to record components or what? From a tool-builder's perspective, the tool's documentation will indicate what limitations might be part of the stuff to what is displayed to the end user. The tool takes up the slack from ASIS as ASIS takes up the slack from Ada 95. We must provide additional commentary. * Dan Eiler's email message of 7 June (early in the morning) "compilation database vs environment" identifies some inconsistencies in the commentary. There are still some places where "vendor" appears. He also points out some other "non-sensical" stuff, mainly about the term "environment". In some email discusssion about compiler dependent and compiler independent information, we should separate these out in the ASIS specification as well. * There is a perception that ASIS could better support OO queries. Thus we need OO experts to examine the ASIS specification to determine if queries related to OO are missing. One example of such a query is whether or not something is statically tagged. Another example might concern the dispatch calling. ASIS has been submitted to SIGAda's OOWG for review -- hopefully, they will provide some insight and may possible identify some new queries. Future Meetings Washington Ada Symposium (WAdaS'96) -- WAdaS'96 is at McLean, Virginia, USA from 22-25 July 1996. We will distribute the ASIS FAQ and highlights of this ASISWG/ASISRG meeting at WAdaS'96. Tri-Ada'96 -- Tri-Ada'96 is at Philadelphia, Pennsylvania, USA from 3-7 December 1996 (Tuesday through Saturday immediately following Thanksgiving weekend -- a holiday in the US). There's a possibility that ASISWG/ASISRG will hold a panel or a Birds-of-a-Feather (BoF) session similar to the panel we had at Ada-Europe'96. We might get Mickey White to come as part of that. ASISWG/ASISRG is planning to meet probably on 2 and/or 3 December at Tri-Ada in the Philadelphia area. Spring 1997, DDC-I in Phoenix has volunteered to host a meeting perhaps in March, April, or May. ASIS in AdaLetters and Other Periodicals Bill Thomas and Currie may work on an article for one of ACM's magazines/journals. Possible articles for future issues of AdaLetters include: * ASIS-for-GNAT update * Highlights of the March 1996 ASISWG/ASISRG meeting * Minutes of the March 1996 ASISWG/ASISRG meeting * Convert presentations at conferences into articles Next Meeting The next meeting will be held at the Tri-Ada'96 conference. Please look for meeting details on the ASIS Home Page.