Modelling the
passage of time
This page is published under the terms of the licence
summarized in the footnote.
All
free-to-read materials on the 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.
Contents
Modelling
the passage of time in ontology
Modelling
the passage of time using a system modelling method
Modelling
a system over the long term
Aristotle
favoured a structural view of the world - he placed persistent components above
transient events and processes.
In
modelling a dynamic system, the transient processes are as important as the
persistent components, or more.
In
biological entities, the components are sustained by processes.
In
business systems, the processes are performed by components or actors designed
or hired for that purpose
One
cannot recognise persistent entities unless they have continuity of identity.
“A continuant is an entity that persists, endures, or continues to
exist through time while maintaining its identity.” (ref. 4)
If
we cannot recognise an entity we see now as being the same as one we saw
before, then we see two distinct entities.
The
division between persisting entities and occurring events, is widely recognised
in ontologies.
“The dichotomy between continuant and occurrent
ontologies forms the central organizing axis of [our]
ontology.” (ref. 4)
“… non-continuant entities, which Zemach calls ‘events’ (ref. 4)
In
natural language, we tend to use nouns for persistent entities, and verbs for
transient events and processes.
[The names we give to entities such as chairs and dogs] in our language,
obey a grammar which is fundamentally dissimilar to the grammar of names of
events. (ref. 5)
But
this is far from a rule, names like offer, order, invoice, purchase, bill,
drill, mine, play, display, are given to persistent entities and to transient
events or processes.
UML
UML
presumes that all processes are driven by discrete events (though the time
between events can be small enough to simulate continuous behaviour).
The
structural features (attributes and relations) of objects are modelled in a class diagram.
The
long-term behaviour of class can be defined in a state chart showing the discrete events that affect it.
The
behavioural features (events and rules) of objects may be modelled in some kind
of behavioural model.
The
short-term behaviour triggered by a discrete event can be defined in a sequence diagram showing the objects it
affects
The UK government’s Systems
Analysis and Design Method.
The
structural features (attributes and relations) of objects are modelled in a data model.
The
long-term behaviour of an entity can be defined in an entity life history diagram showing the discrete events that affect
it.
The
behavioural features (events and rules) of objects may be modelled in a
behavioural model.
The
short-term behaviour triggered by a discrete event can be defined in an event process outline.
The
basic principles are:
·
A dynamic system is composed of many long-running process threads,
each the time dimension (or life history) of one persistent variable.
·
We model those processes as discrete step processes, each a state
machine in which variable updates and state changes are triggered by discrete
events.
·
Wherever two variables have the same life history (experience the same
pattern of states and events) we can merge them into a composite entity life
history.
·
Each entity life history maintains one or more variables, and often
corresponds to an entity in a data model (or a table in a database).
·
One transient event can appear in the life histories of several
persistent entities.
·
E.g. An order event appears in the life histories of an order instance,
a customer instance and one or more product types.
·
We design transient discrete event-oriented processes to
coordinate and progress the persistent entity-oriented processes.
To
model any part of the universe (aside from numbers), we have to bound the
time-frame over which we are interested in it.
And
within that time frame, we have to consider how entities (we see as having
continuity of identity) change during their life times.
Seeing a system as a
succession of system generations
It
can help to see a whole system as a step-by-step evolutionary process.
In
each system generation, there is a step change in its components and processes
E.g.
when a baby is born, its lungs start to work, and many other changes occur.
We usually model a system’s components and processes as they work
within one system generation.
Seeing persistent components
as ongoing processes.
E.g.
You can define your heart and lungs as persistent components, and at the
same time consider them as representing the current state of ongoing processes.
At
any moment, your lungs are in one state of a two-step process – breathing in
and out.
At
any moment your heart is in one state of a more complex cyclical process.
Modelling a persistent component requires understanding the states
it passes through.
Seeing types as states
How
we choose to model a particular domain or system depends on continuity of
identity.
E.g.
looking at the structure of world at one moment, we see a set of babies and a
set of adults
If
we look at the world as a static structure, the two sets suggest there are
instances to two different types.
Considering
an individual’s continuity of identity over time, those types may be regarded
instead as states of one type.
E.g.
we may model foetus, new born, child and adult as states in the process of a
human’s life.
E.g.
we may model “father" as a state in
the process of an adult entity’s life.
Modelling things over time can turn types into states.
Seeing composites as looser
associations
In
a “composite” relation, a part belongs to only one composite, and cannot
outlive its composite.
E.g.
a biological entity contains many space-constrained composites whose parts meet
those conditions.
In
mechanical systems, what appear to be composites can turn out to be looser
associations.
E.g.
if an engine can be recycled from one car to another, the relation is a loose
association
Modelling things over time can turn tight compositions into looser
associations.
Seeing an apparently static
system as volatile
Some
systems appear homeostatic in that components are maintained, not created or destroyed.
The
components may be maintained by homeostatic and/or cyclical processes.
E.g.
A mature biological entity does not gain or lose coarse-grained components.
It
maintains its organs and other components through regular cyclical processes.
But
at a finer-grained level, you may find that instances that are continually
created and destroyed.
E.g.
A mature biological entity gains and loses cells at a lower level of modelling.
Modelling at a fine-grained level can reveal more volatile
instances.
We usually model a system’s components and processes as they work within one system generation.
Modelling a persistent component requires understanding the states it passes through.
Modelling things over time can turn types into states.
Modelling things over time can turn tight compositions into looser associations.
Modelling at a fine-grained level can reveal more volatile instances.
Footnote: Creative Commons Attribution-No Derivative Works Licence
2.0 19/01/2016 00:02
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