At the core of SPIRIT are its specifications.
These specifications are standards used to create platform
The SPIRIT taxonomy is depicted in
Note that all leafs and some intermediate nodes of the taxonomy
tree have associated labels.
These labels, along with some other qualifiers (see
When the labels are used for references, the labels are concatenated,
Six major categories of specification are identified:
Industry understandings regarding the use of specific technologies. An example is the RFC that defines the allocation of Internet addresses.
An abstract description that defines the basic concepts of a technology, abstract components, and the relationship of those components to each other. For example, the X/Open Distributed TP Model belongs to this category.
Defines the conventions to be used by two entities to work together. This category is further refined.
A physical entity capable of retaining information. Examples of media specifications include tape and disk.
Specifications that address the operation of systems and/or components within and across different locales. Character sets are defined as internationalisation specifications. A character set is a normal set of symbols for which encoding is not defined. Code sets are not defined as internationalisation specifications.
Auxiliary specifications that either harmonise sets of specifications or augment a specification to make it more useful in a particular context. For example, various OSI profiles specify how some standard protocols must be constrained when used in cooperation with others.
Several types of interface are defined:
Describes the interaction between a human being and computer system using one or more devices.
Used in coding programs. This class is further refined.
Defines the structure of information passed from one platform to another via media.
Defined by two communicating entities, the formats of messages exchanged between them, the states of the communicating entities, and which messages can be exchanged when the entities are in the respective states. This category is further refined.
Programming Interfaces are refined into the following categories:
Defined by a syntax and associated semantics. Examples include C, COBOL, SQL and STDL. Languages are used to construct application programs; that is, specific sets of instructions in the syntax of one or more languages that direct the underlying machine to perform specific actions.
A collection of services. Each service is a well-defined operation. Each service definition consists of a service name, zero or more inputs and outputs, and the semantics of the service. APIs are augmented by language bindings that map the services into the syntax of a programming language. Services are invoked through the call mechanism provided by the languages for which bindings have been defined.
A run-time (or application) binary interface between components.
SIIs are used to enable different components (see
Protocols are further refined into the following categories:
Includes all protocols corresponding to the transport, network, data link and physical layers in the OSI Reference Model.
Includes all protocols above the Transport Layer in the OSI Reference Model.
All SPIRIT specifications are identified by labels in the specifications' taxonomy. In order to further refine specifications, a set of additional qualifiers is provided to augment a specification's classification.
The following qualifier may be associated with any specification:
Denotes a specification that is included for interworking with large, proprietary installed base systems. It is not intended for interworking among SPIRIT-compliant platforms. Legacy specifications may be referenced for the foreseeable future. The label LEG is used as a prefix to the specification's category.
Additionally, APIs are qualified by the platform services defined
in the SPIRIT Platform model.
The labels for the platform services are used as a category suffix
for specifications in the API category (see
Finally, Operating System Services specific to the UNIX operating
system are qualified by the label UNIX, appended after the OS qualifier.