for the



Embedded Rationale

Version 1.0


1 May 1992

Approved for Public Release by
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).

MSDOS is a trademark of Microsoft, Inc.

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.

* The SWG on APSE programme was signed under a Memorandum of Understanding (MOU) on 15 April 1987 with the participation of Canada, Denmark, France, Germany, Italy, the Netherlands, Norway, Spain, United Kingdom, the United States, and NATO.



Widespread development of software tools to tackle the recognized software engineering crisis has led to the recognition that software tools need richer and more powerful support than provided by a conventional operating system. The interfaces to the software that provides this support have become known as tool support interfaces.

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:

  1. The US DoD Requirements and Design Criteria (RAC) for the Common APSE Interface Set (CAIS) [RAC86]. The RAC derives and refines some of the earlier DoD "Stoneman" Requirements for Ada Programming Support Environments [Buxton80], and it imposes them upon an interface specification. The DoD "Steelman" Requirements for Higher Order Computer Programming Languages [Fisher78] and the several sets of American National Standards Institute (ANSI) "OSCRL" requirements and design objectives for Operating System Command and Response Languages [OSCRL82] also influenced the RAC.
  2. The Independent European Programme Group's (IEPG) Requirements and Design Criteria for Tool Support Interface [EURAC89]. This document sets forth requirements of the Portable Common Tool Environment (PCTE) [PCTE88].
  3. The NATO Requirements and Design Criteria [NRAC88]. Through review, the NRAC refines the requirements originating from NATO and national military needs, the evolutionary developments in interface technology as represented by CAIS [CAIS89] and PCTE [PCTE88], and the previously mentioned requirements documents.


It is understood that a standard, such as the PCIS, cannot be used forever without change. The PCIS should evolve as new requirements and new technologies emerge. This evolution must proceed in a controlled manner, giving users appropriate consideration to upward compatibility with previous versions, so as to maximize the ease of migration of existing PCIS tools, user databases, and PCIS support artifacts.

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.


The main body of the document consists of 10 sections.

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.

Style and Presentation Conventions

The following presentation conventions are used in the main body of this document.

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:

Submission of Comments

You may also submit comments on this version of the IRAC.