Types and meta types

This page is published under the terms of the licence summarized in the footnote.

All free-to-read materials at http://avancier.website 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.

 

This paper maps ideas from earlier papers to the description of operational systems.

It illustrates the appearances of instances, types and meta types in system descriptions and in the architecture description standard called ISO 42010.

Contents

Generalisation of a system: example 1. 1

Structural and behavioural types. 2

Generalisation of a system: example 2. 3

Types and meta types in the description of software-intensive systems. 4

 

Generalisation of a system: example 1

Here is an outline of one specific activity system description, naming some types of structural and behaviour elements.

Angel cake making system

From

we collect

to perform

that deliver

of value to

Suppliers

Inputs

Processes

Outputs

Customers

Suppliers

Flour

Eggs

Butter

Bakings

Angel

Cakes

Angel

Buyers

Bakers

 

Performers / Actors

 

 

 

Structural types and instances

Angel cake is the food type produced by executions of the angel cake recipe.

The angel cake type is describable in terms of its general structural appearance.

An angel cake instance is the result of executing the angel cake recipe.

Input ingredients are described as types, to be embodied as instances in cake baking.

The main system role is a baker – to be embodied in a person able to follow the recipe.

 

Behavioural types and instances

The angel cake recipe describes a baking process for making angel cakes.

The recipe is a process type, and each performance of it is an instance of that process type.

 

The system above can be generalised, replacing subtypes by super types.

This model replaces “angel cake” by the more generic “cake”.

Baker’s shop  as system

From

we collect

to perform

that deliver

of value to

Suppliers

Inputs

Processes

Outputs

Customers

Suppliers

Ingredients

Bakings

Cake

Buyers

Bakers

 

Performers / Actors

 

 

 

Structural and behavioural types

General system theory is based on the idea that different sciences observe or envisage what may be called “systems” in similar ways.

 “Systems concepts include: system-environment boundary, input, output, process, state….”     Principia Cybernetica

 

The operational system features structural elements (bakers) and behavioural elements (bakings).

The system description features structural elements (baker role description) and behavioural elements (recipes)

A cake recipe defines a behaviour that terminates with the production of a cake structure (perhaps shown as a picture of typical cake)..

Types structural element

This table lists some types of structural element to be found in activity systems.

Type name

Type description

Cake

An item of soft sweet food made from flour, fat, eggs, sugar, and other ingredients, baked and sometimes iced or decorated.

Data flow

A structure data items organised using the grammar of a regular expression

Body

The physical structure, including the bones, flesh, and organs, of an animal.

Types of behavioural element

This table lists some process types and what it means to instantiate them

Type name

is an informational resource that encodes in a

the instructions needed by actors of this type

to do this activity

Cake recipe

natural language

Baker

baking

Symphony score

music notation

Member of orchestra

performing a symphony

Business procedure

natural language

Employee in organisation unit

performing a business process

Computer program

programming language

Execution environment in a computer

executing algorithms

Genome

DNA macromolecule

Cell in organ of body

assemble, maintain, and reproduce a living organism

 

Note that “Cake recipe” is a metatype, of which one cake recipe (a structural thing) is an instance.

In turn, one cake recipe is itself a type of which one cooking process (a behaviour) is an instance.

This is a type

that defines an instance of this behaviour

by which actor(s) of this type

produce a structure of this type

A cake recipe

baking

Baker

Cake

A symphony score

performing a symphony

Member of orchestra

Memory of performance

A business procedure

performing a business process

Employee in organisation unit

Business output or product

A computer program

executing algorithms

Execution environment in computer

Data structure

A genome

living

Cell in organ of body

Body of living organism

 

How to judge if a thing instantiates a type? Read The fuzziness of truth.

Generalisation of a system: example 2

Below is an outline of types in another specific activity system description.

Data model making system

From

we collect

to perform

that deliver

of value to

Suppliers

Inputs

Processes

Outputs

Customers

Domain experts

Data sources

RDA technique performances

Data models

Database designs

Data analysts

Performers

 

Structural types and instances

Data model is the model kind produced by performances of the Relational Data Analysis (RDA) technique.

The data model kind is describable in terms of its general structural appearance.

A data model instance is the result of one RDA performance.

Inputs are described as data sources, to be embodied as instances in data model making.

The main system role is an analyst able to apply the RDA technique, to be embodied in people.

 

Behavioural types and instances

The RDA technique describes a modelling process for making data models.

The technique is a process type, and each performance of it is an instance of that type.

 

The system above can be generalised, replacing subtypes by super types.

This model replaces “data model” by the more generic “model”.

Model making system

From

we collect

to perform

that deliver

of value to

Suppliers

Inputs

Processes

Outputs

Customers

Stakeholders

Requirements

Modelling technique performances

Models

Designers and

other stakeholders

Modellers

Performers

 

These two models describe more flexible systems, which can produce a wider range of outputs.

But generalising the system description leads to a loss of specifically useful information

And there can be more downsides at run time; flexibility is often the enemy of performance.

Types and meta types in the description of software-intensive systems

Other papers suggest the ISO 42010 standard is misguided on some points, because its philosophical position is naive, and it suffers from the lack of a system theory.

However, the standard serves well here to illustrate types and meta types in system description.

 

The subject of the standard is how architects should describe systems of interest in documentation.

In a nutshell, the standard recommends an architect’s description should be:

·         documented in models and presented in views that have been agreed as

·         addressing the concerns of stakeholders about the system of interest.

 

The Standard defines contents expected of a good (Standard-compliant) Architecture Description, and how those contents should be related.

The table below lists four type-instance relations you may detect the standard.

This complex type

contains types used by actors to govern

these things

The ISO 40210 Standard

the instantiation by documentation of

Architecture Descriptions

An Architecture Description

the instantiation by building of

Operational Systems

A Viewpoint

the instantiation by definition of

Views

A Model Kind

the instantiation by drawing of

Models

 

A model kind (e.g. entity-attribute-relationship diagram) defines the structural form of a model (e.g. a data model).

It may also include a modelling technique (e.g. relational data analysis) that is a recipe for the function of producing a model (e.g. a data model).

 

The Standard can be read as recommending that:

·         A model is a thing that instantiates a named model kind (e.g. data model)

·         In turn, that named model kind instantiates the meta type called "model kind" in the standard.

·         A view is a thing that instantiates a particular viewpoint (e.g. data architecture)

·         In turn, that particular viewpoint instantiates the standard’s meta type named "viewpoint".

 

The table below shows these and other types and meta types in the standard.

This thing

instantiates this type

itself a thing that instantiates this meta type

A Model (e.g. one flowchart)

A Model Kind (e.g. flowchart)

“Model Kind” in ISO 42010

A View (e.g. one behaviour view)

A Viewpoint (e.g. behaviour viewpoint)

“Viewpoint” in ISO 42010

A Requirement (e.g. available 24 * 7)

A Concern (e.g. availability)

“Concern” in ISO 42010

A System of Interest

An Architecture Description

The requirements in section 5 of ISO 42010

 

 

Footnote: Creative Commons Attribution-No Derivative Works Licence 2.0       03/01/2016 17:26

Attribution: You may copy, distribute and display this copyrighted work only if you clearly credit “Avancier Limited: http://avancier.co.uk” before the start and include this footnote at the end.

No Derivative Works: You may copy, distribute, display only complete and verbatim copies of this page, not derivative works based upon it.

For more information about the licence, see http://creativecommons.org