Software Engineering Institute Carnegie Mellon

ISO/IEC 42010 / IEEE 1471: Architectural Description

Rich Hilliard, project editor for ISO WG 42 and chair of the IEEE Architecture Working Group
r.hilliard@computer.org

One hallmark of the maturity of a discipline is the development of standards codifying concepts, terms and practices that have become understood and widely applied within that discipline.

IEEE Std 1471:2000, Recommended Practice for Architectural Description of Software-Intensive Systems, was created between 1995 and 2000 to (1) establish a frame of reference of terms and concepts for architectural description, (2) codify best practices for the architectural description of software-intensive systems, and (3) serve as a basis for the evolution of thinking in the field. If Google hits are any indication, IEEE 1471 has contributed toward each of these goals.

In 2001, ANSI adopted it as an American standard. Most recently, ISO recently adopted IEEE 1471:2000 as ISO/IEC 42010:2007, Systems and Software Engineering—Architectural Description.

IEEE 1471 in a Nutshell

IEEE 1471 is focused on architectural descriptions: the work products or artifacts used to document the architecture of a system. IEEE 1471 is built on several basic notions: system stakeholder, architectural concern, architectural view and architectural viewpoint.

An architectural description (or AD) is organized into a set of architectural views. Each view addresses one or more architectural concerns held by the system stakeholders interested in that architecture. An architectural concern is any area of interest in the system's construction, deployment, use or other factors which could affect its architecture. An AD is incomplete when there are identified architectural concerns which are not addressed in at least one view.

An architectural view is a set of architectural models. The notations, techniques and rules for constructing and interpreting those models must be documented to enable architects to create – and stakeholders to understand – a conforming architectural view. The notations, techniques and rules are described in an architectural viewpoint. Each architectural view in an AD must have an explicitly defined viewpoint. The viewpoint determines how the contents of the view address stakeholders' architectural concerns.

An architectural viewpoint is a way of looking at a system; therefore viewpoints are "reusable": they may be applied to many systems. Most existing architectural practices are built upon a set of required or recommended viewpoints in this sense.

Using these simple principles, IEEE 1471 establishes requirements for what an architectural description must include to be well-formed and understandable to a system's stakeholders.

For more about IEEE 1471's basic concepts and requirements see for example: IEEE 1471 FAQ, and IEEE Std 1471 and Beyond.

ISO and IEEE are now undertaking a joint revision of the standard. The goal is to have a version for balloting in 2009. Areas of interest for the revision include:

  • widening the scope of the standard from software-intensive systems to systems in general;
  • alignment with ISO/IEC JTC1/SC7's life cycle process models for Software Engineering (ISO/IEC 12207) and Systems Engineering (ISO/IEC 15288);
  • harmonization with other ISO architecture-related efforts: ISO 10746 Reference Model for Open Distributed Processing (RM-ODP) and ISO 15704, Generalized Reference Architecture and Methodology (GERAM);
  • improved support for architectural decision capture and architectural rationale;
  • standardizing the notion of architectural framework as a set of architectural viewpoints and relations whereby existing practices such as Krutchen's 4+1 view model, RM-ODP, GERAM, and even DoDAF could be considered instances;
  • architectural evaluation: review of architecture descriptions above and beyond conformance to the standard.

The first working draft toward the revision was circulated in July 2007. Interested parties can participate in the revision within ISO SC7 through their national member bodies. Individuals can participate through the IEEE Architecture Working Group.

References

For More Information

  • IEEE 1471 / ISO 42010 Web Site
  • IEEE 1471 Users Group
  • IEEE 1471 bibliography: references to items influencing and influenced by IEEE 1471
  • Two recent books that build upon the IEEE 1471 framework:
    • Jeff Garland and Richard Anthony. Large Scale Software Architecture: A Practical Guide Using UML. John Wiley and Sons, 2002.
    • Nick Rozanski and Eoin Woods. Software Systems Architecture: Viewpoint Oriented System Development. Addison Wesley, 2005.