1 May 1992
Approved for Public Release by
SWG on APSE
1 July 1992
Prepared for the
Tri-Service Group on Communications and Electronics (TSGCE)
Special Working Group on Ada Programming Support Environments (SWG on APSE).
Motif is a trademark of the Open System Foundation, Inc.
OpenLook is a trademark of UNIX System Laboratories, Inc.
UNIX is a trademark of UNIX System Laboratories, Inc.
X Window System is a product of Massachusetts Institute of Technology
This document was produced by the Special Working Group on Ada Programming Support Environments (SWG on APSE*) for the PCIS Programme. It may be copied as a whole or in part provided that the source is given.
This document is based upon a number of initiatives of military origin as is evident from the referenced material. However, nothing that is contained in this document should be construed as being confined to systems of a military nature. On the contrary, it is an explicit objective that any results arising from this document, or related work, should serve the interests of the computing community at large.
The "Stoneman" Requirements for Ada Programming Support Environments (APSE) [Buxton80] have had a seminal influence on subsequent work. Since "Stoneman", much work has been done, both in Europe and in the United States (US), based on a common understanding of the general nature of the tool support interface. A variety of factors have led to the desire for the standardization of tool support interfaces. In 1982 and 1983, respectively, the US Department of Defense (DoD) under the Ada Programme and the Commission of European Communities (CEC) under the European Strategic Programme for Research of Information Technology (ESPRIT) began independent efforts to design, implement and evaluate environment frameworks.
This document is the International Requirements and Design Criteria (IRAC) for the Portable Common Interface Set (PCIS). It was developed by a team of internationally recognized experts in the area of interface technology under the direction of the Special Working Group (SWG) on APSE, a subordinate body of the NATO Tri-Service Group on Communications and Electronics (TSGCE). Both the IRAC and PCIS, when completed, will be recommended for adoption and use by NATO and its member nations. In addition, PCIS will be submitted for standardization by the International Standards Organization (ISO).
The IRAC is based on three previous requirements and design criteria documents in the area of interface technology:
This version of the IRAC specifies requirements which are envisaged as being adequate for environments through the mid- to late-1990s and beyond. Migration paths from existing standards to the first version of PCIS must be kept as simple as possible.
Section 1 is a general introductory section outlining the nature of the work and its scope. The terms "shall", "should", "provide" and "support" are introduced. Requirements throughout this document are given in these terms.
Section 2 gives the general design objectives. These cover the scope and role of the PCIS and the possibilities for its implementation on different hardware, on different operating systems, on networks and in environments with different degrees of security needs. General design objectives also cover the quality of implementations of the PCIS in terms of their reliability and efficiency.
While Section 2 identifies general requirements for the PCIS as a whole, more specific requirements for functionality are given in Sections 3 through 6. General models, based on a consensus view of the PCIS, are used to express specific requirements.
Section 3 gives some general properties of the specification and of the interface. In particular, the requirements reflect the nature of the PCIS as an abstract (language-independent) specification, but at the same time, realize that bindings will be developed for at least the Ada and C programming languages.
Sections 4 through 6 give more detailed requirements for three main aspects of the PCIS: data management, process management and input/output.
Section 4, which is the most detailed, deals with the tool interface area offering the largest step toward the goals of IPSEs. The terminology of the entity-relationship model of data are often used as a conceptual model that enables the statement of a detailed set of requirements. Nevertheless, sometimes the terminology of an object-oriented model is used, too.
By contrast, Section 5 on process execution management and interprocess communication requires little more than would be met by a modern operating system.
The requirements in Section 6 on input and output would, on the whole, be met by most operating systems. Additionally, there are requirements that the PCIS provide capabilities for graphical devices. Further, the requirements state that the input and output facilities are provided at a logical level rather than implicitly through the interpretation of unstructured byte streams.
Section 7 is concerned with the integrity and reliability of the PCIS software and controls. It also covers requirements for implementations of PCIS in environments with different degrees of security needs.
Section 8 details requirements upon the PCIS for tool management and tool services.
Section 9 includes ancillary requirements, not directly upon the PCIS itself. These include, for example, requirements for a validation suite, for education, and for training.
Section 10 is a detailed list of term definitions. These are precise and take precedence over any intuitive meaning that the terms may have. The usage of terms throughout the IRAC and embedded rationale depends on the precise definition.
Each requirement and design criterion appears in bold typeface. Embedded rationale paragraphs appear in normal typeface.
In this Preface, normal typeface is used for presentation.
The purpose of rationale paragraphs is to provide, for each requirement and design criterion, any or all of the following, as appropriate: