Implications for system architecture and ISO/IEC 42010

Copyright 2017 Graham Berrisford. Now a chapter in “the book” at https://bit.ly/2yXGImr. Last updated 23/02/2021 16:27

 

This article is a supplement to this description theory. It reviews a concept graph in ISO/IEC42010 and revises it match our epistemological triangle.

Contents

System architecture. 1

Implications for the ISO/IEC 42010 standard. 3

What’s wrong with the ISO/IEC 42010 standard? In short…... 4

What’s wrong with the ISO/IEC 42010 standard? At length…... 6

 

System architecture

Many systems thinkers have urged us to separate descriptions from described things. Our abstract system is a model (in mind or writing) that represents a physical system we observe or envisage as a phenomenon in reality.

 

System theory

Abstract systems

<create and use>              <represent>

System thinkers <observe and envisage> Physical systems

 

Russel Ackoff, a writer on management science, spoke of abstract and concrete systems. His abstract system is a description or model of how a concrete “organization” behaves, or should behave.

 

Ackoff’s system theory

Abstract systems

<create and use>            <represent>

System thinkers <observe and envisage> Concrete systems

 

W Ross Ashby, writing on cybernetics, distinguished entities in nature from the abstract systems they realise. His system is an abstraction, a theory or model of how “real machine” behaves, or should behave.

 

Ashby’s cybernetics

Abstract machines

<create and use>          <represent>

Observers    <observe and envisage>    Real machines

 

Jay Forrester (a professor at the MIT Sloan School of Management) was the founder of System Dynamics. He defined a system as a set of stocks (resources or populations) that interact and affect each other by increasing or decreasing the amounts they contain.

 

System Dynamics

Stock and flow models

<create and animate>                     <represent>

Modellers <observe and envisage> Interacting quantities

 

Peter Checkland promoted a “soft systems methodology” for the design of business activity systems. He said different observers may perceive different systems, some in conflict, in any one human organization or other entity.

 

Checkland’s Soft systems methodology

Business activity models

<create and use>                <represent>

Observers <observe and envisage> Human organizations

 

In addition to the three concepts in the triangles above, there is a fourth. An abstract system is a pattern (a thought, design or other phenomenon that is regular or repeatable) that contains and relates types to be instantiated in a physical system. An abstract system may be embodied or realized in many physical systems. And last but not least, we come to the physical entity that realizes a physical system. This table contains an example.

 

Stickleback mating ritual

Abstract system (roles, rules, variable types)

The type, a model of the ritual

Physical system (actors, activities, variable values)

An instance of the ritual

Physical entities

A pair of sticklebacks, nest and eggs

 

Most of triangles in this book gloss over the distinction between a physical activity system and the entity that realizes it, but to clarify the distinction, this table contains some more examples.

 

Describer(s)

One abstract type

Many physical instances

Many physical entities

Composer(s)

One symphony score

Many symphony performances

Many orchestras

Business architect(s)

One set of business roles and rules

Many businesses processes

Many business actors

Software engineer(s)

One program

Many program executions

Many computers

Game designer(s)

The rules of “poker”

Many games of poker

Many card schools

 

An abstract system does not have to be a perfect model of a physical entity’s behavior; only accurate enough to be useful. We can test that an entity realises an abstract system to the degree of accuracy we need for practical use.

 

In writing, we can create a very large and complex type, composed of smaller simpler types. We can create an architectural model of a system far beyond any model we can hold in mind. The model may typify

·       actors (structures in space that perform activities) by defining roles,

·       activities (behaviors that advance the state of the system or its environment) by defining rules, and the

·       system’s state (structures changed by activities) by defining state variables.

 

System architecture

Logical Roles, Rules, Variables

<create and use>                            <represent>

System architects <observe and envisage> Physical Actors, Activities, State

 

Ashby pointed out that countless system descriptions (mental or documented models) may be abstracted from one substantial real-world entity or situation. some of which may be in conflict. Conversely, countless real-world entities or situations may realise the same abstract system type.

 

In short, the relationship between physical entities and abstract systems is many-to-many.

·       One physical entity (e.g. a card school) may realise countless abstract systems (poker, whist, pizza sharing).

·       One abstract system (the game of poker) may be realised by countless physical entities (card schools).

Implications for the ISO/IEC 42010 standard

The ISO/IEC 42010 standard is for the architectural description of software-intensive systems. The concern here is the way the standard relates three concepts in 1-1 associations.

 

The ISO/IEC 42010 standard

1 Architecture Description

<is expressed in>                <identifies>

1 Architecture      <is exhibited in>         1 System

                                                                          

An Architecture Description represents (in an abstract form) any System that it describes. What is that third thing called “Architecture”? If it is neither a description nor a described things then when and where does it exist?

 

If an architecture is a documented description of a thing, then in ISO 42010 terms, it is an Architecture Description. If it is a described thing, then in ISO 42010 terms, it is a System observed in reality or envisaged in the mind. If it is neither one nor the other, then where is it?

 

To say “a weight describes the weight of a thing” is tautologous. To say “a type describes the type of a thing” is tautologous. To say “an architecture description describes the architecture of a system” is tautologous. It is really to say either “a description describes the description of a thing”, or else “a description describes the thing of a thing”.

 

More accurately: “An architecture description sets out concepts or properties that a system that will embody.” That is all we need to discuss. So better, revise the concept graph thus.

 

System architecture

1 Architecture Description

<create and use>               <represents>

N Architects    <observe and envisage>    N Systems

 

For longer and deeper analysis of ISO/IEC 42010, read on.

What’s wrong with the ISO/IEC 42010 standard? In short…

“This International Standard takes no position on what constitutes a system... The nature of systems is not defined.”

“For a system of interest to you, the Standard provides guidance for documenting an architecture for that system."

“Architecture description: work product used to express an architecture".

“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.”

 

How to distinguish concepts or properties that are fundamental from other ones?

Are the concepts or properties of a system different when the system is not in its environment? What would that mean?

Where are the concepts or properties embodied? In the Architecture? In the Architecture Description? In the System?

Surely elements and relationships are merely instances of concepts and properties?

Surely principles are external guidelines for defining the Architecture, embodied in its concepts and properties?

                                                                     

We can see description and reality in terms of types and instances.

1.     a type - concepts or properties expressed in an intensional definition.

2.     an instance – concepts or properties embodied in an observed or envisaged thing.

 

In the worlds of business and software architecture, we can see

1.     Architecture Descriptions that express and relate architectural property types.

2.     Physical systems – realized by enterprises – that embody or exhibit architectural property types in particular instances.

 

If the Architecture expresses and relates property types, then it is an Architecture Description. If the Architecture embodies or exhibits property types, then it is a System. If it does neither then what is it, and where is it?

 

The existence, or potential existence, of a physical software system is not worth debating, The question that ISO/IEC 42010 raises is whether a universal system architecture exists outside of human minds and models. And a moment’s reflection suggests not.

 

Different people may have different ideas of what they see as the “fundamental concepts or properties” of a given system. There is no single, universal, concept of that system’s “architecture” outside of an architectural description we make – in mind or on paper. Moreover, the concept on paper is likely to be more complete, consistent and coherent than any held in any architect’s mind.

 

There is no metaphysical system architecture out there, which we can find and express in an architecture description.

 

To say “a weight describes the weight of a thing” is tautologous. To say “a type describes the type of a thing” is tautologous. To say “an architecture description describes the architecture of a system” is tautologous. It is really to say either “a description describes the description of a thing”, or else “a description describes the thing of a thing”.

 

More accurately: “An architecture description sets out concepts or properties that a system that will embody.” That is all we need to discuss. So better, revise the concept graph thus.

 

System architecture

1 Architecture Description

<create and use>               <represents>

N Architects    <observe and envisage>    N Systems

 

Suppose we posit a metaphysical Architecture – not found in a model/description. Which of several mental and documented models/descriptions does it correspond to? How do we know what the Architecture contains? What use is it? It is redundant - a pointless piece of nonsense.

 

Oddly

Since the standard does not take any view of what a system is, it can be applied to any designed thing. Since it does not say which concepts and properties are fundamental to architecture, it can be applied to any documented design. In fact, it can be applied to anything whose documented description must address the concerns of stakeholders. You can change all "architecture" to "design" without affecting its practical application. And generalize its triangular relation thus.

 

Design

Designs

<create and use>                    <represent>

Designers    <observe and envisage>  Designed things

 

Read on for a longer version of the argument above.

What’s wrong with the ISO/IEC 42010 standard? At length…

In the worlds of business and software architecture, we can see

1.      Architecture descriptions that express and relate architectural property types.

2.     Physical systems – realized by enterprises – that embody or exhibit architectural property types in particular instances.

 

Our triangle can be used to describe the situation thus..

 

System architecture

Architecture Descriptions

<create and use>               <represent>

Architects   <observe and envisage>   Physical systems

 

The ISO/IEC 42010 standard posits a third thing called “architecture” related by 1-1 associations to the first two. Compare with the standard with cartography. What would you put in place of the questions marks.

 

ISO/IEC 42010 triangle

Cartography

 1 Architecture Description

<is expressed in>                <identifies>

1 Architecture   <is exhibited in>    1 System

 1 Map

<is expressed in>         <represents>

1 ???????   <is exhibited in>   1 Territory

 

What is the “architecture description” in ISO/IEC 42010?

Our mental models are relatively fragile and fuzzy, and they fade. In writing, we can create an architectural model of a system that is beyond any model we can hold in mind. It can be larger, more complex, consistent and coherent, as well as more stable and persistent.

 

ISO/IEC 42010 says it is a: “work product used to express an architecture".

OK, it is a documented form of the architecture that is formed from (but cannot be completely or perfectly remembered in) one or more architects’ minds.

 

What does a system architecture description express? The types to be instantiated in a physical system.

What does a system embody or realize? The types expressed in an architecture description.

Who conceives the types and translates them from a fragile mental form into a documented form? The system architects.

 

What is the “architecture” in ISO/IEC 42010?

ISO/IEC 42010 says it is a: “<system> fundamental concepts or properties of a system in its environment embodied in its elements, relationships, and in the principles of its design and evolution"

This definition starts off referring to descriptive property types, as expressed in an architecture description.

It then shifts to a physical entity - the embodiment of those types in an observable system – and throws in some constraints on the design activity.

So, is it a Platonic ideal? Or is it real, a copy of the architecture description in some mental form?

 

If the architecture is ethereal, the concept of the architecture, then how could it exist before architects conceived it?

Platonic ideals are “universals” - eternal and invariant types like “height” and “ellipse” – they never change.

There is no such universal “architecture”, since it must change every time the “architecture description” that identifies a “system” is changed.

Which means there are infinite architectures for the identified system!

The concept of a Platonic ideal architecture is baffling; it adds no meaning to the description and reality of a system; it is redundant.

                                                                 

If the architecture is real, then where is it? And when is it created?

Before architects start work - there is no system or architecture – just some concerns about a vast, indescribable and incomprehensible enterprise.

Surely the architecture gradually emerges from architects’ incomplete, fragile and fuzzy mental models of what they envisage.

Architects collate and consolidate those mental models into the form of a documented architecture description.

 

In this view, the architecture is one or more mental models – encoding a set of property types in a private bio-chemical form.

And the architecture description is a documented model – encoding the same set of property types in a public verbal form.

 

Two problems with this view.

 

Mental models can be incoherent, fragile and transient. Does the architecture disappear when the architect who conceived it forget it, or their mental models shift over time?

 

Several architects can contribute to creating one description of the same system, none holds the whole description in mind. To posit a mental model “architecture” in 1 to 1 correspondence with a documented “architecture description” is incredible. Which of the architects’ heads holds that complete description? What if different architects hold different mental models? What if one architect holds the whole description in mind, then another architect changes the documented description?

 

A type is a description. A description is a type. It can be contained in a mind or in a document. So ISO/IEC 42020 terms:

 

Q1) What does the architecture contain?

A1) A complex type, an integrated and coherent set of property types (in one or more mental models).

 

Q2) What does the architecture description express?

A2) A complex type, an integrated and coherent set of property types (in a documented model).

 

Q3) What does the system instantiate, embody or realize?

A3) A complex type, an integrated and coherent set of property types.

 

You might say:

·       The architecture <consists of> architectural property types envisaged by architects.

·       The architecture description <expresses> that architecture.

·       The system <instantiates, embodies or realizes> that architecture and that architecture description.

 

Or else remove the redundant “architecture” and say:

·       The documented architecture description <expresses> the mental architecture description envisaged by architects.

·       Both architecture descriptions <consist of> architectural property types.

·       The system <instantiates, embodies or realizes> both architecture descriptions.

 

What is the “system” in ISO/IEC 42010?

Despite being a standard on describing software-intensive systems, ISO/IEC 42010 does not define what a system is.

It says: “This International Standard takes no position on what constitutes a system within those domains—or elsewhere. The nature of systems is not defined….”

 

OK, the standard is obliged to delegate the definition of some terms, notably system, to other ISO standards. But the ISO standards don’t add up to a coherent or consistent whole. And in any case, ISO/IEC 42010 doesn’t limit itself to what other ISO standards say. Its “system” is so far generalised it could be any entity describable from different perspectives by people with different interests in it.

 

The standard says: The term system is used in this International Standard to refer to entities whose architectures are of interest.

This definition is so far generalized it can be applied to the description of any entity of which different views may be drawn - be it a system or not. The standard does not define the real target, which is activity systems in which behaviors are performed by structures. So, the standard could be applied to passive structures.

 

The standard says: The term is intended to encompass, but is not limited to, entities within the following domains:

Since the standard is not limited to the three domains below, it does not actually define what a system is. It merely lists some possible system type and contents, with somewhat arbitrary distinctions like between process and procedure.

 

·       “systems as described in [ISO/IEC 15288]: “systems that are man-made and may be configured with one or more of the following: hardware, software, data, humans, processes (e.g., processes for providing service to users), procedures (e.g. operator instructions), facilities, materials and naturally occurring entities”; 

·       software products and services as described in [ISO/IEC 12207];

·       software-intensive systems as described in [IEEE Std 1471:2000]: “any system where software contributes essential influences to the design, construction, deployment, and evolution of the system as a whole” to encompass “individual applications, systems in the traditional sense, subsystems, systems of systems, product lines, product families, whole enterprises, and other aggregations of interest”.”

Revising the ISO/IEC 42010 triangle so it makes sense

The first recommendation is to replace the 1 “architecture” by the N architects who conceive the architecture.

 

The ISO/IEC 42010 standard

1 Architecture Description

<is expressed in>                <identifies>

1 Architecture     <is exhibited in>        1 System

Issue: the architecture above is a metaphysical concept

Revised to match our triangle (1)

1 Architecture Description

<create and use>               <represents>

N Architects   <observe and envisage>   1 Systems

 

OK, the standard defines everything from the perspective of 1 and only 1 Architecture Description. But for sure one Architecture Description <can represent> many similar systems realisations. So, the triangle could reasonably be reshaped to match our epistemological triangle thus.

 

Revised to match our triangle (2)

1 Architecture Description

<create and use>               <represents>

N Architects <observe and envisage> N Systems

 

(What the standard omits to say is different architects may create different Architecture Descriptions of the same System.)

 

 

All free-to-read materials on the http://avancier,web site are paid for out of income from Avancier’s training courses and methods licences.

If you find them helpful, please spread the word and link to the site in whichever social media you use.