VERSION DESCRIPTION DOCUMENT FOR THE IBM STARS PROTOTYPE BINDING OF ANSI-STANDARD SQL TO ADA SUPPORTING THE SAME METHODOLOGY CDRL Sequence No. 2010 June 14, 1990 Contract No. F19628-88-D-0032/0002 Task IR67: A Prototype Binding of ANSI-Standard SQL to Ada Supporting the SAME Methodology Prepared for: IBM Systems Integration Division 800 North Federick Gaithersburg, MD 20879 Prepared by: Lockheed Software Technology Center 2100 East St. Elmo Road Austin, TX 78744 Table of Contents 1. SCOPE 1 1.1 Identification 1 1.2 Purpose 1 1.3 Introduction 1 2. REFERENCED DOCUMENTS 2 3. VERSION DESCRIPTION 3 3.1 Inventories of Materials Released 3 3.2 Inventories of CSCI Contents 3 3.3 Class I Changes Installed 4 3.4 Class II Changes Installed 4 3.5 Adaptation Data 4 3.6 Interface Compatibility 4 3.7 Bibliography of Referenced Documents 4 3.8 Operational Description 4 3.9 Installation Instructions 5 3.10 Possible Problems and Known Errors 5 6. NOTES 6 6.1 Abbreviations and Acronyms 6 6.2 Glossary 6 Appendix A. DELIVERY DETAIL 7 1. SCOPE 1.1 Identification This Version Description Document (VDD) describes the final release of the Computer Software Configuration Item (CSCI) identified as the IBM STARS Prototype Binding of Ansi-Standard SQL to Ada Supporting the SQL Ada Module Extensions (SAME) Methodology. This software is delivered in the Software Technology for Adaptable, Reliable Systems (STARS), IBM Contract Data Requirements List (CDRL) Sequence Number 2010. CDRL item 2010 was delivered in three phases during the R-increment of the IBM STARS Prime contract and withe each phase referred to as 2010a, 2010b, and 2010c. This delivery contains additional testing code and information which is not part of the original CDRL list, but is provided as an added value product. All code supporting the testing method is contained in subdirectory named ASSERTION_UNITS and can be completely ignored by users of the SAME binding if desired. 1.2 Purpose The primary purpose of the Binding of Ansi-Standard SQL to Ada is to provide access to relational data bases that support SQL from within an Ada program. The secondary purpose of this project is to provide this access by implementing the SAME approach to data base interface as described in Guidelines for Use of the SAME, Technical Report CMU/SEI-89-TR-16. SAME is a specialization of the modular approach for implementing an interface between a programming language (in this case Ada) and a DBMS whose data manipulation language is SQL. SAME is an extension of the existing SQL module language standard meant to maximize Ada language capabilities. SAME provides an abstraction/mapping between an Ada program's objects and the weakly typed SQL concrete types through a layer that exists between the application program and the actual interface to the data base. To use SAME without any automated support would be a time consuming task. This project will provide such automated support. 1.3 Introduction This VDD describes the content of CDRL 2010c and presents a general view of the parts that make up the prototype binding. The structure of this document is based on the VDD Data Item Description (DID), Identification Number DI MCCR-80013, 85/06/04. As specified in the DID, this VDD contains only sections 1,2,3, and 6. There are no sections 4 and 5. 2. REFERENCED DOCUMENTS The following documents are referenced in the VDD: IBM Quality Assurance / Configuration Management Plan for the Software Technology for Adaptable, Reliable Systems (STARS Program), CDRL Sequence No. 1320, October 20, 1989. Graham, Marc H. Guiedlines for the Use of the SAME, Technical Report, CMU/SEI-89-TR-16, ESD-TR-89-24, May 1989. 3. VERSION DESCRIPTION 3.1 Inventories of Materials Released This delivery item is completely contained in a hierarchy of VAX/VMS file directories and delivered on a TK50 tape. This code will be maintained on the IBM STARS Repository machine. This machine is managed by Science Applications International Corporation (SAIC) in Clearwater, Florida. The full name of the top directory on the delivery medium is: [project.C2010] 3.2 Inventories of CSCI Contents The complete inventory of this delivery is contained in the file C2010.RDM in the top-level directory. The following list includes the content of that file: C2010, R67, SOURCE: Lockheed Software Technology Center Contract no. F19628-88-D-0032/0002 Ada Package Specifications/Bodies Date Submitted: 06/14/90 Date Due: 06/14/90 Total number of diskettes (TK50 tapes] : 1 ADA_UNITS.DIR -- A subdirectory containing all Ada units of this delivery including a compilation order file (file type .ORD). This includes the test drivers. ASSERTION_UNITS.DIR -- This subdirectory contains all needed descriptions, code, and instructions for a testing method developed at Lockheed Software Technology Center using Ada assertions for describing and testing Ada code behavior. This entire subdirectory can be ignored by users of the SAME binding delivered under this project. The contents of this directory are not a required CDRL and are provided only as a value added addition for testing any Ada code. DOMAIN_TEMPLATE.TXT -- A template describing the input (Ada procedure) needed from the interface programmer to describe the abstract domains. An actual procedure for testing is provided in the ada_units subdirectory. INTERFACE_TEMPLATE.TXT -- A template describing the input (Ada procedure) needed from the interface programmer to describe the abstract interface specification. An actual procedure for testing is provided in the ada_units subdirectory. TEST_INSTR.TST -- A text file containing information about the test drivers, how to execute them, what they will test, and the expected output. The file also contains information about the compilation order of all tests and their expected output. README.NTE -- A text file containing additional information about the compilation order of the units in the subdirectory ada_units. VDD.TXT -- A text file containing the Version Description Document Susan Phillips Lockheed Software Technology Center 2100 East St. Elmo Road Org 96/10 Bldg 30-E Austin, Texas 78744 (512)448-5740 This deliverable depends upon no other CDRL item or tool (other than an Ada compiler to compile Ada code). 3.3 Class I of Changes Installed This paragraph does not apply. 3.4 Class II of Changes Installed This paragraph does not apply. 3.5 Adaptation Data The Ada/SQL Binding has been written in completely portable Ada. This final CDRL delivery contains only two things specific to the VAX-RDB: One statement and one Ada procedure. The statement is contained in the package body of abstract_interface_generator and is commented to explain the dependency. The Ada procedure is named RDB_Specific and is used to convert the standard SAME concrete interface into a specification compatible with DEC's RDB DBMS. 3.6 Interface Compatibility For this version there are no interface issues; all code is written in completely portable Ada. 3.7 Bibliography of Referenced Documents The following IBM STARS delivery is related to this delivery: -- Lockheed Software Technology Center, Technical Plan for Ada/SQL Binding Supporting the SAME Methodology, CDRL Sequence No. 2000, December 3, 1989. -- Lockheed Software Technology Center, Ada Specifications and Bodies, CDRL 2010a 3.8 Operational Description Compilation order is given in the file ADA_UNITS.ORD in the [project.c2010.ada_units] directory. Further information and instructions for executing test drivers is given in the files README.NTE and TEST_INSTR.TST in directory [project.c2010]. 3.9 Installation Instructions The following list is a general outline for the installation of the Ada/SQL Binding. For detailed information and support, contact the development team. 1. Copy all of this delivery into an equivalent directory structure. 2. If you are installing on a VAX/VMS system, you must: a. Create an ACS library in directory [project.c2010.ada_units] with the command "acs create lib [project.c2010.ada_units.adalib]". Set the default library to this library with the command "acs set library [project.c2010.ada_units.adalib]". b.. Compile all units in this directory [project.c2010.ada_units] using the 'ada' command. Follow instructions given in files [project.C2010]README.NTE and [project.C2010]TEST_INSTR.TST. 3. If you are installing on a PC-DOS, UNIX, or other system with an Ada compiler, you must follow instructions for executing Ada procedures and packages for that system. The directory [project.c2010.ada_units] contains a compilation order file (file type = ORD). 3.10 Possible Problems and Known Errors There are no known problems or errors in this delivery. 6. NOTES 6.1 Abbreviations and Acronyms Acronym Meaning ACS -- Ada Compilation System ANSI -- American National Standards Instititute CDRL -- Contract Data Requirements List CSCI -- Computer Software Configuration Item DBMS -- Data Base Management System DEC -- Digital Equipment Corporation DID -- Data Item Description DoD -- (United States) Department of Defense DOS -- Disk Operating System IBM -- International Business Machines PC -- Personal Computer SAIC -- Science Applications International Corporation SAME -- SQL Ada Module Extensions SQL -- Structured Query Language STARS -- Software Technology for Adaptable, Reliable Systems VDD -- Version Description Document 6.2 Glossary Ada: A programming language mandated for DoD software projects. Binding: A method for connecting two or more disparate systems. Modular Approach: An approach to database design and development which allows different tasks to be assigned to different programmers who can perform in their area of specialization. UNIX: A standard operating operating system available on many different hardware systems. VAX/VMS: A computer and operating system available from Digital Equipment Corporation (DEC). Appendix A. DELIVERY DETAIL See paragraph 3.2.