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
Structural
and behavioural types
Generalisation
of a system: example 2
Types
and meta types in the description of software-intensive systems
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 |
|
|
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)..
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. |
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 Knowledge and Truth.
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.
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 20/06/2017 12:49
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