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.
ISO/IEC 42010 defines a number of terms:
- architecting: architectural design—the process of conceiving, defining, expressing, documenting, communicating, certifying proper implementation of, maintaining and improving an architecture throughout a system's life cycle (i.e., "designing")
- architecture: fundamental concepts or properties of a system in its environment embodied in its elements, relationships, and in the principles of its design and evolution
- architecture description (abbreviation 'AD'): work product used to express an architecture
- architecture description language (abbreviation 'ADL'): any form of expression for use in architecture descriptions
- architecture framework: conventions, principles and practices for the description of architectures established within a specific domain of application and/or community of stakeholders
- architecture viewpoint: work product establishing the conventions for the construction, interpretation and use of architecture views to frame specific system concerns
- architecture view: work product expressing the architecture of a system from the perspective of specific system concerns
- concern: interest in a system relevant to one or more of its stakeholders. A concern pertains to any influence on a system in its environment, including developmental, technological, business, operational, organizational, political, economic, legal, regulatory, ecological and social influences.
- model kind: conventions for a type of modeling. An architecture view consists of multiple models, each following one model kind.
- stakeholder : individual, team, organization, or classes thereof, having an interest in a system
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:
- AD Element
- Architecture Decision
- Architecture Description
- Architecture Description Language
- Architecture Framework
- Architecture Model
- Architecture Rationale
- Architecture View
- Architecture Viewpoint
- Correspondence Rule
- Environment (of a System)
- Model Kind
- (System) Stakeholder
- (System) Concern
- System of Interest
Conceptual Model - Architecture Description
In the ISO/IEC/IEEE 42010 conceptual model, an architecture description:
- expresses an architecture
- identifies a system of interest
- identifies 1 or more stakeholders
- identifies 1 or more concerns (about the system of interest)
- includes 1 or more architecture viewpoints and 1 or more architecture views
- includes 0 or more correspondence(s)
- includes 0 or more correspondence rules
- includes 1 or more architecture rationales
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.
Conceptual Model - Architecture View
In the ISO/IEC/IEEE 42010 conceptual model, an architecture view:
- is part of an architecture description
- is governed by exactly 1 architecture viewpoint
- addresses one or more concerns held by the stakeholder(s)
- is composed of 1 or more architecture models
Conceptual Model - Architecture Viewpoint
In the ISO/IEC/IEEE 42010 conceptual model, an architecture viewpoint:
- is part of an architecture description
- frames 1 or more stakeholder concerns (about the system of interest)
- governs exactly 1 architecture view
- is composed of 1 or more model kinds
An architecture viewpoint is in effect a specification for an architecture view - the architecture view has to conform to its architecture viewpoint.
Conceptual Model - Concern
In the ISO/IEC/IEEE 42010 conceptual model, a concern:
- is held by 1 or more stakeholder(s) in the system of interest
- is addressed by an architecture view
- is identified by an architecture description
- is framed by an architecture viewpoint
Conformance to ISO/IEC/IEEE 42010
ISO/IEC/IEEE 42010 defines four cases of conformance to the standard:
- architecture description (AD)
- architecture viewpoint
- architecture framework
- architecture description language (ADL)
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:
- identification and overview information of the architecture being expressed;
- identification of the system stakeholders and their concerns;
- definitions for each architecture viewpoint used in the architecture description and a mapping of all concerns to those viewpoints;
- an architecture view and its architecture models for each architecture viewpoint used;
- correspondence rules and correspondences and a record of known inconsistencies among the architecture description's required contents;
- architecture rationale (explanation, justification, reasoning for decisions made about the architecture being described).
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:
- frame one or more concerns held by the stakeholders about the system of interest
- establish the conventions for one kind of architecture view.
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:
- identified stakeholder concerns that are framed by the viewpoint (to be addressed by views of that type)
- an identified set of stakeholders holding these concerns
- the model kinds used (means of representing the relationships/information e.g. N-squared)
- languages, notations, conventions, modelling techniques, operations used on these model kinds
An architecture viewpoint should include:
- techniques used to create, interpret and analyse
- correspondence rules and means of checking consistency
- heuristics, metrics, patterns, examples
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:
- identification of the relevant stakeholders in the domain;
- the concerns arising in that domain;
- architecture viewpoints framing those concerns and
- correspondence rules integrating those viewpoints.
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.
Architecture Description Language
ISO/IEC 42010 requires an architecture description language (ADL) conforming to the standard to specify:
- the concerns framed by the ADL
- the typical stakeholders who hold these concerns
- the model kinds implemented by the ADL that frame these concerns
- any correspondence rules linking those model kinds
An architecture description language may specify one or more architecture viewpoints, but need not have any.
Examples of architecture description languages are: Architecture Analysis & Design Language, Acme, ArchiMate, BPMN, Rapide, SBC Architecture, SysML, UML, Wright, and the five viewpoint languages of RM-ODP.
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.
History of ISO/IEC/IEEE 42010
The origin of the standard was the fast track international standardization of IEEE 1471:2000. The standard was originally balloted as ISO/IEC DIS 25961. It was subsequently adopted and published as ISO/IEC 42010:2007 which was identical with IEEE 1471:2000.
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.
- "ISO/IEC/IEEE 42010:2011 - Systems and software engineering - Architecture description". Iso.org. 2011-11-24. Retrieved 2013-08-06.
- "ISO/IEC/IEEE 42010: Conceptual Model". Iso-architecture.org. Retrieved 2013-08-06.
- "Survey of Architecture Frameworks". Iso-architecture.org. Retrieved 2013-08-06.
- David Emery and Rich Hilliard (2008-02-21). "Updating IEEE 1471: Architecture Frameworks and Other Topics". Ieeexplore.ieee.org. doi:10.1109/WICSA.2008.32. Retrieved 2013-08-06.
- ISO/IEC/IEEE 42010 website
- A documentation framework for architecture decisions based on 42010
- Views and Beyond: The SEI Approach to Architecture Documentation
- MEGAF is an infrastructure for realizing architecture frameworks that conform to the definition of architecture framework provided in the ISO/IEC/IEEE 42010 standard.