.no autojustify;.justify;.fill ! fill to margin, and pad lines .page size 55 ! 55 lines to a page (49 of text) .set paragraph 0,1,2 ! paragraph spacing .autoparagraph ! lines with space or tab start para. .spacing 1 ! single spacing .layout 1,2 ! page numbers at bottom of page .left margin 5 ! left margin in 5 from left .right margin 70 ! right margin out at column 70 .display levels D,D,D,D,D,D ! all sections and subsections in dec. .style headers 7,0,7,1,1,1,1,5,2 ! describes format of section titles .number level -1,1,1,1,1,1 ! 1st level starts at 0, others 1 .number page 1 ! restart page numbering at 1 for sect. .center;TAPSE: THE ADA(R) PROGRAMMING SUPPORT ENVIRONMENT .blank 2 .center;Stephen R. Rainier .center;The MITRE Corporation .blank 3 .footnote .left margin 5 .blank (R) - Ada is a registered trademark of the U.S. Government (Ada Joint Program Office). .end footnote ^& .header level 1 ABSTRACT \& The success of any large-scale software development project is very much dependent on the program development environment available. The Ada programming language is a big step in the right direction, but not enough emphasis was placed on the Ada programming support environment (APSE) aspects, initially. Much like the historical development of the Ada programming language [1], practical experience must be gained in programming environments in order to define a concise and complete specification for an Ada programming support environment. TAPSE is an experiment in APSE development. ^& .header level 1 INTRODUCTION \& Ada is not just another programming language; it is a programming environment. The Ada language is a Department of Defense (DoD) standardized programming language with features that encourage and enforce modern software engineering practices. Some of the standardization and portability advantages of the Ada language can be enhanced by a consistent, well-defined Ada programming support environment (APSE). Approximately twelve years have been invested in developing the Ada language; unfortunately, little of that time was spent in defining a standard Ada programming support environment to go hand in hand with the language. .page ^& .header level 1 APPENDIX A \& .center;TAPSE Default Commands .blank 2 The following list is a list of all the TAPSE specific commands available to a TAPSE user with "User" priviledge. In all the commands, "module" refers to a standard VAX Ada unit name (with no extension). A user is not limited to these commands; most of the standard DCL commands are also available from within TAPSE. .no justify .list " " .test page 10 .list element;BUIld[/sw] .list "-" .list element;Mass Ada compilation for all modules in the compilation closure [2] of . .list element;VAX DCL Counterpart: ACS COMPILE/WAI/LIS/SHO=ALL /NONOTE/COPY .list element;[/sw]: Correspond to the ACS COMPILE switches .end list .test page 11 .list element;CFO[/sw] .list "-" .list element;Copy the foreign language object file into the current library as the package body of . If no UIC is specified in , then the [.INTEG] facility at the current level will be assumed as the default directory for the object file. .list element;VAX DCL Counterpart: ACS COPY FOREIGN .list element;[/sw]: Correspond to the ACS COPY FOREIGN switches .end list .test page 10 .list element;CHEck[/sw] .list "-" .list element;Display names of modules in the compilation closure of that need to be recompiled due to an update of . .list element;VAX DCL Counterpart: ACS CHECK .list element;[/sw]: Correspond to the ACS CHECK switches .end list .test page 12 .list element;CMP [.ADA][/ssw] .list "-" .list element;Compile .ADA and update current library. The listing file will reside in the [.LIS] facility at the current level. .list element;VAX DCL Counterpart: ADA/LIS/SHO=ALL/NONOTE/COPY .list element;[/ssw]: Correspond to the ACS COMPILE switches excluding those above .end list .test page 10 .list element;CMP/ [.][/ssw] .list "-" .list element;Foreign language compile of .. is the name of another VMS language compiler. The listing file will reside in the [.LIS] facility at the current level, and the object file will reside in the [.INTEG] facility at the current level. .list element;[/ssw]: Correspond to the specified compiler's switches .end list .test page 8 .list element;ADELete .list "-" .list element;Delete all reference to * at the current level and mark as "checked in", if it was "checked out". .list element;VAX DCL Counterpart: ACS DELETE UNIT .end list .test page 7 .list element;DISplay [] .list "-" .list element;Display the module header for on the terminal. TAPSE will attempt to find the module at the specified . The default is the current level. .end list .test page 13 .list element;EDT [] .list "-" .list element;If does not exist, TAPSE creates a new Ada source file in the current UIC in the proper format for the specified Ada unit type. If does exist, it simply edits the existing module. In both cases, a special Ada EDT init file is used. The EDT init file is at the current level and is modifiable. .list element;[]: package ^&B\&ody, package ^&S\&pecification, ^&F\&unction, ^&P\&rocedure, ^&G\&eneric, ^&T\&ask, ^&N\&o format, or ^&Q\&uit .end list .test page 7 .list element;EDT .list "-" .list element;Edits a file in the current UIC using the special Ada EDT init file. The EDT init file is at the current level and is modifiable. .end list .test page 9 .list element;ENTer[/sw] .list "-" .list element;Enter a pointer into the current library for from the specified Ada library. .list element;VAX DCL Counterpart: ACS ENTER UNIT .list element;[/sw]: Correspond to the ACS ENTER UNIT switches .end list .test page 6 .list element;EXIt .list "-" .list element;Exit from TAPSE. Return to the UIC from whence the user came. No parameters expected. .end list .test page 12 .list element;EXPort[/sw] .list "-" .list element;Create an object file external to the Ada library with everything necessary to link the Ada . The exported object file will be created in the [.INTEG] facility of the current level. .list element;VAX DCL Counterpart: ACS EXPORT .list element;[/sw]: Correspond to the ACS EXPORT switches .end list .test page 15 .list element;GET [.xxx] [] .list "-" .list element;Extract [.xxx] from the current test_bed or the specified level Library. If .xxx is not specified or is ".ADA", then the source is retrieved from the library; otherwise the retrieval is from the [.SOURCE] facility. Copy to .xx or .ADA, and mark as "checked out". The GET will not succeed if [.xxx] cannot be found at , or the module is already "checked out". .list element;[]: VERsion or TESt_bed .end list .test page 10 .list element;HELp [