Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
ISO/IEC TR 29108 provides a standardized terminology framework for information technology interfaces. As IT systems become increasingly interconnected through APIs, communication protocols, hardware buses, and service-oriented architectures, the need for precise, unambiguous interface terminology becomes critical. This Technical Report addresses that need by defining a comprehensive set of terms, concepts, and classification criteria for describing IT interfaces at multiple levels of abstraction.
ISO/IEC TR 29108 establishes a multi-dimensional classification system for IT interfaces. The primary classification dimensions include: abstraction level (physical, logical, application), directionality (unidirectional, bidirectional, broadcast), synchronicity (synchronous, asynchronous, isochronous), and binding type (compile-time, link-time, run-time). By classifying interfaces along these dimensions, engineers can communicate about interface properties with precision.
The Technical Report further distinguishes between interface specification (the abstract contract), interface implementation (the concrete realization), and interface instance (a specific communication channel). This tripartite distinction is essential for reasoning about interface compatibility, versioning, and conformance testing. For example, multiple implementations may conform to the same specification, and multiple instances may share the same implementation.
| Dimension | Categories | Engineering Relevance |
|---|---|---|
| Abstraction Level | Physical / Logical / Application | Determines testing scope and tooling |
| Directionality | Unidirectional / Bidirectional / Broadcast | Affects protocol design and error handling |
| Synchronicity | Synchronous / Asynchronous / Isochronous | Impacts timeout strategies and buffering |
| Binding Type | Compile-time / Link-time / Run-time | Governs flexibility and reusability |
A major contribution of ISO/IEC TR 29108 is its treatment of interface semantics. Beyond syntactic definitions (data types, message formats), the Technical Report emphasizes the importance of precisely specifying the meaning of interface operations, including preconditions, postconditions, invariants, and error conditions. This semantic dimension is what transforms a simple API description into a full interface contract.
The report introduces terminology for describing interface behaviors, including operation (a unit of functionality), event (an occurrence that triggers communication), state (a condition of the interface or its environment), and transaction (a sequence of operations with atomicity guarantees). These terms provide a vocabulary for specifying interfaces in domains ranging from real-time control systems to enterprise application integration.
For engineering practitioners, the semantic specification approach recommended by ISO/IEC TR 29108 aligns with Design by Contract (DbC) principles. By making interface contracts explicit and machine-verifiable, organizations can automate conformance testing, generate stub and skeleton code, and reason about system-level properties such as deadlock freedom and data consistency.
| Semantic Element | Definition | Example |
|---|---|---|
| Operation | A unit of functionality | POST /api/orders |
| Event | Occurrence triggering communication | OrderShipped notification |
| State | Condition of interface/environment | Connection established |
| Transaction | Atomic sequence of operations | Begin/Commit/Rollback |
ISO/IEC TR 29108 provides valuable guidance for interface versioning and evolution. As interfaces change over time, maintaining backward compatibility while enabling innovation is a persistent engineering challenge. The terminology framework supports versioning strategies by distinguishing between compatible extension (adding new operations or optional parameters), compatible restriction (narrowing allowable values without breaking existing clients), and breaking change (modifying existing semantics). The report recommends that interface specifications include explicit versioning policies and deprecation procedures.
Another practical application is in the domain of interface testing and verification. The terminology enables precise specification of test coverage criteria: operation coverage (every operation tested), state coverage (every reachable state visited), transition coverage (every state transition exercised), and semantic coverage (precondition and postcondition combinations tested). These criteria form the basis for systematic interface test design and adequacy assessment.
For architects designing interface-heavy systems such as microservice architectures, API gateways, or integration platforms, ISO/IEC TR 29108 provides the conceptual tools needed to document and govern interface portfolios at enterprise scale. The classification framework can be used to populate interface catalogs, identify redundant or overlapping interfaces, and plan interface rationalization initiatives.