ISO/IEC/IEEE 42010 Systems and software engineering — Architecture description is an international standard for architecture descriptions of systems and software.
ISO/IEC/IEEE 42010:2011 defines requirements on the description of system, software and enterprise architectures. It aims to standardise the practice of architecture description by defining standard terms, presenting a conceptual foundation for expressing, communicating and reviewing architectures and specifying requirements that apply to architecture descriptions, architecture frameworks and architecture description languages.
Following its predecessor, IEEE Std 1471, the standard makes a strict distinction between Architectures and Architecture Descriptions.
The description of ISO/IEC/IEEE 42010 in this article is based upon the standard published in 2011.
ISO/IEC 42010 defines a number of terms:
ISO/IEC/IEEE 42010 has a conceptual model that underpins the standardisation requirements. In particular the conceptual model describes how the key concepts involved in architecture description relate to each other. In the standard, the model is presented as a set of class diagrams.
The ISO/IEC/IEEE 42010 conceptual model utilizes the following concepts:
In the ISO/IEC/IEEE 42010 conceptual model, an architecture description:
The conceptual model states that an architecture description must have a stakeholder, system of interest, identified concern(s), architecture viewpoint(s), architecture view(s) and architecture rationale(s). It states that an architecture description may have correspondences and correspondence rules.
In the ISO/IEC/IEEE 42010 conceptual model, an architecture view:
In the ISO/IEC/IEEE 42010 conceptual model, an architecture viewpoint:
An architecture viewpoint is in effect a specification for an architecture view - the architecture view has to conform to its architecture viewpoint.
In the ISO/IEC/IEEE 42010 conceptual model, a concern:
ISO/IEC/IEEE 42010 defines four cases of conformance to the standard:
An architecture description is an artifact describing the architecture for some system of interest. In ISO/IEC/IEEE 42010, system refers to man-made and natural systems, including software products and services and software-intensive systems. Architecture descriptions have a variety of uses. Per ISO/IEC/IEEE 42010, an architecture description conforming to the standard is expected to include:
ISO/IEC/IEEE 42010 organizes an architecture description into multiple architecture views. An architecture view addresses one or more concerns held by stakeholders of the system being described. An architecture view describes the architecture of the system of interest in accordance with the rules and conventions defined in its architecture viewpoint. Each architecture view must have an architecture viewpoint.
A viewpoint formalizes the idea that there are different ways of looking at the same system. Viewpoints have a long history in software and systems engineering, dating back at least to the 1970s in Ross' Structured Analysis. In ISO/IEC/IEEE 42010, viewpoints play an integral part of architecture descriptions, architecture frameworks and ADLs, and may also be separately specified.
In ISO/IEC/IEEE 42010 an architecture viewpoint is expected to:
Viewpoint conventions include modeling languages, notations, model kinds, design rules, and/or modelling methods, analysis techniques and other operations on views. Viewpoints establish the rules of conformance for views (such as well-formedness, completeness, interpretability). In framing the stakeholder concerns, a viewpoint defines the means by which architecture views of that type address these concerns.
IISO/IEC/IEEE 42010 requires an architecture viewpoint to include:
An architecture viewpoint should include:
An architecture framework establishes a common practice for using, creating, interpreting, and analyzing architecture descriptions within a particular domain of application or stakeholder community. ISO/IEC/IEEE 42010 formalizes a framework as a set of predefined, interconnected viewpoints.
An architecture framework conforming to the standard includes:
Frameworks conforming to the standard often include processes, methods, tools and other practices beyond those specified above.
Examples of architecture frameworks: Zachman’s information systems architecture framework, UK Ministry of Defence Architecture Framework (MODAF), The Open Group’s Architecture Framework (TOGAF), Kruchten’s 4+1 view model, Siemens’ 4 views method, Reference Model for Open Distributed Processing (RM-ODP) and Generalized Enterprise Reference Architecture and Methoodology (GERAM). ISO/IEC JTC1/SC7 WG42 has developed a working catalog and classification of architecture frameworks.
ISO/IEC 42010 requires an architecture description language (ADL) conforming to the standard to specify:
An architecture description language may specify one or more architecture viewpoints, but need not have any.
The concerns framed by an ADL are not necessarily aligned with those addressed by a particular architecture framework. The suitability of the ADL for use with an architecture framework will depend on how well it is able to frame the concerns that the framework and its viewpoints.
In 2006, ISO/IEC JTC1/SC7 WG 42 and IEEE Computer Society launched a coordinated revision of this standard to address: harmonization with ISO/IEC 12207 and ISO/IEC 15288; alignment with other ISO architecture standards (e.g. ISO/IEC 10746 Reference Model Open Distributed Processing); the specification of architecture frameworks and architecture description languages; architecture decision capture; and correspondences for model and view consistency.
In July 2011, the Final Draft International Standard was balloted and approved (21-0) by ISO member bodies. The corresponding IEEE version, P42010/D9, was approved as a revised standard by the IEEE-SA Standards Board on 31 October 2011. ISO/IEC/IEEE 42010:2011 was published by ISO on 24 November 2011.