Form T133-0594 BINDINGS.TXT Ada Information Clearinghouse, 1-800-AdaIC-11 (232-4211), 703/685-1477 Available Ada Bindings Ada Semantic Interface Specification (ASIS) Guest Editor: Steve Blake, Alsys, Inc., 10251 Vista Sorrento Parkway - Suite 300, San Diego, CA 92121 tel: 619/457-2700; e-mail: sblake@alsys.com 1.1 Description and standardization efforts The Ada Semantic Interface Specification (ASIS) is a programmatic interface between an Ada compiler's library database and any tool or program requiring information in this library. ASIS is an open and published specification that gives CASE-tool and application developers access to both the syntactic and semantic information contained in an Ada compiler library. ASIS has been designed to be independent of underlying compiler library implementations; thus supporting portability of CASE tools while relieving users from having to understand the complexities of an Ada compiler library's internal representation of data. ASIS should greatly increase the number of tools available to the end user because tools can be more easily created and ported to environments of competing compiler vendors. Consequently, ASIS will significantly reduce the cost and the risk for a CASE-tool vendor to enter the Ada market. ASIS will also facilitate more powerful and capable tools to support software engineering. Examples of tools that could benefit from ASIS are symbolic debuggers, test tools, design tools, reverse engineering and re-engineering tools, metrics tools, style checkers, correctness verifiers, and automatic document generators. For example, a metrics tool can use ASIS to evaluate Ada application code. The symbolic name, type, and usage of each Ada object can be obtained through the ASIS interface to support the requirements of the metrics tool. Examples of other programs that could benefit include client/server communication between Ada programs occurring on separated processors. One application is currently using ASIS to analyze messages transmitted from a satellite to a ground station. The methodology used in this application has a significant cost-savings benefit to any application doing data reduction for post-mission analysis. ASIS is a unique interface in that it is the only consensus-based "de facto standard" capable of supporting an interface to an Ada library as the library is updated through new compilations. In this manner, CASE tools now have access to the latest information. ASIS is designed to be implemented on a variety of machines and operating systems by many Ada vendors, and to support Ada semantic requirements for a wide range of client tools. ASIS provides primitive services with the intent that layers of secondary higher-level sophisticated services addressing the variant needs of specific Integrated Software Engineering Environment (ISEE) tools can be created from these primitives. Plans to standardize ASIS The latest working draft for ASIS is ASIS 1.1.0, dated August 1993, and is based on the 1983 Ada Specification. The ASIS Working Group (ASISWG), under sponsorship of the Association of Computing Machinery's Special Interest Group on Ada (ACM SIGAda), intends to evolve this working draft into a standard accepted by the International Organization for Standardization (ISO), and complementing the Ada 9X standard. ASISWG hopes to encourgage CASE tool builders to use ASIS 1.1 as an important interface for accessing the semantic information in an Ada compiler library. Information gained from the use of ASIS 1.1 will be used to evolve the interface to support Ada 9X. The ASISWG plans to seek ISO standardization for the ASIS interface to support Ada 9X libraries. The ASISWG plans to have an ASIS standard to Ada 9X as an ISO standard approximately six months after Ada 9X becomes an ISO standard. Products implementing ASIS To date, product implementations of ASIS are being offered by Alsys, Rational, Verdix, and perhaps others. Contacting these vendors directly is the best way to obtain current product information. ASIS implementation differences ASIS 1.1.0 attempts to clearly define the areas where differences are allowed to occur. This list of potential variations is organized into several categories. 1. Optional & testable functionality: This group includes the optional features that are called out explicitly in the ASIS specification, and for which ASIS provides a query function to test whether the feature is supported by a particular implementation. 2. Bounded untestable variances: This group includes operations or features that are explicitly allowed by the specification to vary in prescribed ways, but for which there is no operation to query the behavior of a particular implementation. 3. Unbounded & untestable transformations: This group includes transformations, normalizations, and optimizations that may be performed early during compilation and thus affect the view presented via ASIS. There is no way to detect these transformations currently, and they may impact tools. 4. True system dependencies: Operations that it would not make sense to attempt to standardize further. This does not include compiler optimizations. Information about ASIS There are two electronic mail forums for the ASISWG. The technical-discussion address is "asis@stars.reston.paramax.com". General high-level nontechical subjects are discussed on "asis-info@stars.reston.paramax.com". Both lists receive all announcements of ASISWG meetings. To have your e-mail address added to these forums, send e-mail to "asis-request@stars.reston.paramax.com" or to "asis-info-request@stars.reston.paramax.com" and indicate your preferred e-mail address, name, telephone number, and surface-mail address. ASIS 1.1 is available for anonymous FTP from ajpo.sei.cmu.edu. It is available, as a series of files, in the public/asis/v1.1.0 directory. If you have Internet FTP access, and run your FTP program, your log might look something like this: $ ftp ajpo.sei.cmu.edu Name (ajpo.sei.cmu.edu:you): anonymous 331 Guest login ok, send ident as password. Password:you@your-company.com ftp> cd public/asis/v1.1.0 ftp> binary ftp> get asis_1.1.asc.zip 200 PORT command successful. 150 Opening data connection for asis_1.1.asc.zip (130.213.1.2,2614) (611652 bytes). ftp> bye (The "binary" command is not always necessary. Some host ftp programs drop form-feed characters. The binary command will prevent this behavior.) If you have Internet access without FTP, the AJPO host provides mail-server capabilities. To get more information about the mail-server, send e-mail to "ftpmail@ajpo.sei.cmu.edu", and address your message as: To: ftpmail@ajpo.sei.cmu.edu Subject: help To get a copy of the /public/asis/v1.1.0/README file, address your e-mail as: To: ftpmail@ajpo.sei.cmu.edu Subject: file-request asis/v1.1.0/README To get a "directory" listing of /public/asis, address your e-mail as: To: ftpmail@ajpo.sei.cmu.edu Subject: directory asis To get any of the various files, e.g., /public/asis/v1.1.0/asis_1.1.ps.zip, address your e-mail as: To: ftpmail@ajpo.sei.cmu.edu Subject: file-request asis/v1.1.0/asis_1.1.ps.zip 1.2 ASIS resources available from repositories/software-reuse libraries 1.2.1 Asset Source for Software Engineering Technology (ASSET) The following information was taken from the ASSET Library Repository Catalog. For more information on ASSET, see Appendix C. Ada Semantic Interface Specification (ASIS) Order Number: ASSET_A_313 Version: 0.4 Release Date: 21-OCT-91 Producer: PARAMAX Author: Steve Blake Reference: CDRL 251901-003, DTIC AD-A257058 Asset Type: SOFTWARE DOCUMENTATION Size: 2 Files, 637 Kbytes Domains: ADA STANDARDS AND BINDINGS, SOFTWARE ENGINEERING ENVIRONMENT Keywords: ADA COMPILER, ADA PROGRAM LIBRARY, ADA SEMANTIC INFORMATION, ASIS, INTERFACE, OPEN ARCHITECTURE, VENDOR-INDEPENDENT Collection: STANDARDS AND BINDINGS, STARS CATALOG Distribution: Approved for public release, distribution is unlimited The Ada Semantic Interface Specification is a layered vendor-independent open architecture. ASIS queries and services provide a consistent interface to information within the Ada Program Library. Clients of ASIS are shielded and free from the implementation details of each Ada vendor's proprietary library and intermediate representations. This document consists solely of Ada package (design) specifications with no accompanying software or other documentation. ASIS (Ada Semantic Interface Specification), V. 1.1.0 Order Number: ASSET_A_686 Alternate Name: ASIS Release Date: 09-AUG-93 Producer: ASIS Working Group Author: Gary E. Barnes Asset Type: SOFTWARE - BUNDLE Size: 25 Megabytes Domains: ADA STANDARDS AND BINDINGS Keywords: ADA, INTERFACE, PROGRAM LIBRARY, OPEN ARCHITECTURE, VENDOR-INDEPENDENT, ADA COMPILER Distribution: Approved for public release, distribution is unlimited The Ada Semantic Interface Specification is a layered vendor-independent open architecture. ASIS queries and services provide a consistent interface to information within the Ada Program Library. Clients of ASIS are shielded and free from the implementation details of each Ada vendor's proprietary library and intermediate representations. 1.2.2 Public Ada Library (PAL) The PAL contains ASIS files in its ../bindings/asis subdirectory, the contents of which are described in that subdirectory's README file. The text of that README file is the same as the text portion of the ASSET catalog reference for given above for ASSET_A_313. For more information on the PAL, see Appendix C. 1.3 ASIS products available from vendors Alsys, Inc. Alsys' TRIAD System provides support for ASIS. The TRIAD system is an Ada realtime development environment, used in conjunction with the RISCAda and TeleGen2 product lines. Besides an optimizing Ada compiler, TRIAD includes tools such as source-level debugger, profiler, source formatter, automatic builders, cross-referencer, library manager and tools, and a linker that excludes unused subprograms. For more information, contact: Alsys Sales, Alsys, Inc., 67 South Bedford Street, Burlington, MA 01803, USA; tel: 617/270-0030, fax: 617/270-6882, e-mail: marketing@alsys.com. Rational Rational Apex provides an Ada binding to ASIS. Rational Apex is an integrated, interactive software-engineering environment for total lifecycle control of Ada projects. It controls large-scale development efforts while lowering project risk. It supports design, development, unit test, maintenance, verification, documentation generation, configuration management and version control. It also supports integration with external front-end CASE tools and external target compilers. In addition, the Rational Environment enables teams of developers to reduce development time by providing syntactic and semantic assistance, incremental compilation, and automation of system builds and releases. The Environment's support of industry-standard protocols simplifies integration with new or existing project support environments. Host/Target: IBM RS/6000 under AIX and Sun SPARC under SunOS as host; targets any third-party platform and operating system. For more information, contact: Shelly Richard, Rational, 3320 Scott Boulevard, Santa Clara, CA 95054-3197, USA; tel: 408/496-3600; fax: 408/496-3636; e-mail: shellyr@rational.com. ********************** The views, opinions, and findings contained in this report are those of the author(s) and should not be construed as an official Agency position, policy, or decision, unless so designated by other official documentation. Copyright 1994. IIT Research Institute. All rights assigned to the U.S. Government (Ada Joint Program Office). Permission to reprint this flyer, in whole or in part, is granted, provided the AdaIC is acknowledged as the source. If this flyer is reprinted as a part of a published document, please send the AdaIC a courtesy copy of the publication. Ada Information Clearinghouse (AdaIC) P.O. Box 46593 Washington, DC 20050-6593 1-800-AdaIC-11 (232-4211), 703/685-1477, FAX 703/685-7019 adainfo@ajpo.sei.cmu.edu; CompuServe 70312,3303 The AdaIC is sponsored by the Ada Joint Program Office and operated by IIT Research Institute.