Domain science and engineering from computer science to the sciences of informatics. Part II: Science
We discuss means for describing domains. We do so on the background of the example of part I of the present (Part II) paper and in its discussion. The discussion amounts to a proposal for a base description ontology. The discussion borders between computer science and an emerging Philosophy of Infor...
Gespeichert in:
Datum: | 2011 |
---|---|
1. Verfasser: | |
Format: | Artikel |
Sprache: | English |
Veröffentlicht: |
Інститут кібернетики ім. В.М. Глушкова НАН України
2011
|
Schriftenreihe: | Кибернетика и системный анализ |
Schlagworte: | |
Online Zugang: | http://dspace.nbuv.gov.ua/handle/123456789/84188 |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Назва журналу: | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
Zitieren: | Domain science and engineering from computer science to the sciences of informatics. Part II: Science / D. Bjorner // Кибернетика и системный анализ. — 2011. — Т. 47, № 2. — С. 100-120. — Бібліогр.: 54 назв. — англ. |
Institution
Digital Library of Periodicals of National Academy of Sciences of Ukraineid |
irk-123456789-84188 |
---|---|
record_format |
dspace |
spelling |
irk-123456789-841882015-07-04T03:02:14Z Domain science and engineering from computer science to the sciences of informatics. Part II: Science Bjorner, D. Системный анализ We discuss means for describing domains. We do so on the background of the example of part I of the present (Part II) paper and in its discussion. The discussion amounts to a proposal for a base description ontology. The discussion borders between computer science and an emerging Philosophy of Informatics. As such it is very tentative. The present discussion might inspire better minds to put this border area on a stronger footing. Проаналізовано засоби опису предметних областей на прикладі із ч. I даної статті. Мета аналізу — утворення онтології базового опису. Обговорення ведеться на межі комп’ютерних наук і філософії інформатики — галузі, що перебуває на стадії становлення. Публікація сприятиме утвердженню даної предметної області. 2011 Article Domain science and engineering from computer science to the sciences of informatics. Part II: Science / D. Bjorner // Кибернетика и системный анализ. — 2011. — Т. 47, № 2. — С. 100-120. — Бібліогр.: 54 назв. — англ. 0023-1274 http://dspace.nbuv.gov.ua/handle/123456789/84188 004.4 en Кибернетика и системный анализ Інститут кібернетики ім. В.М. Глушкова НАН України |
institution |
Digital Library of Periodicals of National Academy of Sciences of Ukraine |
collection |
DSpace DC |
language |
English |
topic |
Системный анализ Системный анализ |
spellingShingle |
Системный анализ Системный анализ Bjorner, D. Domain science and engineering from computer science to the sciences of informatics. Part II: Science Кибернетика и системный анализ |
description |
We discuss means for describing domains. We do so on the background of the example of part I of the present (Part II) paper and in its discussion. The discussion amounts to a proposal for a base description ontology. The discussion borders between computer science and an emerging Philosophy of Informatics. As such it is very tentative. The present discussion might inspire better minds to put this border area on a stronger footing. |
format |
Article |
author |
Bjorner, D. |
author_facet |
Bjorner, D. |
author_sort |
Bjorner, D. |
title |
Domain science and engineering from computer science to the sciences of informatics. Part II: Science |
title_short |
Domain science and engineering from computer science to the sciences of informatics. Part II: Science |
title_full |
Domain science and engineering from computer science to the sciences of informatics. Part II: Science |
title_fullStr |
Domain science and engineering from computer science to the sciences of informatics. Part II: Science |
title_full_unstemmed |
Domain science and engineering from computer science to the sciences of informatics. Part II: Science |
title_sort |
domain science and engineering from computer science to the sciences of informatics. part ii: science |
publisher |
Інститут кібернетики ім. В.М. Глушкова НАН України |
publishDate |
2011 |
topic_facet |
Системный анализ |
url |
http://dspace.nbuv.gov.ua/handle/123456789/84188 |
citation_txt |
Domain science and engineering from computer science to the sciences of informatics. Part II: Science / D. Bjorner // Кибернетика и системный анализ. — 2011. — Т. 47, № 2. — С. 100-120. — Бібліогр.: 54 назв. — англ. |
series |
Кибернетика и системный анализ |
work_keys_str_mv |
AT bjornerd domainscienceandengineeringfromcomputersciencetothesciencesofinformaticspartiiscience |
first_indexed |
2025-07-06T11:08:07Z |
last_indexed |
2025-07-06T11:08:07Z |
_version_ |
1836895529396600832 |
fulltext |
UDC 004.4
D. BJ �ORNER
DOMAIN SCIENCE AND ENGINEERING FROM COMPUTER SCIENCE
TO THE SCIENCES OF INFORMATICS.
PART II: SCIENCE
Keywords: domain, domain description, domain engineering, domain modelling,
software development, software engineering.
1. THE PROBLEM OF THIS PAPER
The problem is twofold. (1) There is a dichotomy between what an informal
description, a narrative, refers to, and what a formal description, a formalisation,
refers to. (2) And which are our means of description?
Problem (1) is indicated in Fig. 1.
Issue (1) was amply illustrated in Sec. 2 of Part I of this paper [3]. A narrative,
which is expressed in some national, that is, informal language, designates some (i.e.,
“the”) domain. A formalisation (supposedly of some (i.e., “the”) domain) denotes a
mathematical model. One can claim, as we shall, that a formalisation designates a
number of narratives, including “the one” given. One can “narrate” a formalisation.
The “beauty” of a formalisation, if any, is its ability to “inspire” designated
formalisations that are worth reading, that exhibit a clear, didactic understanding of the
domain, and is pedagogical, that is, introduces domain phenomena and notions, gently,
one-by-one.
In Sec. 2 of [3] we presented a pair of descriptions – purportedly – of a domain of
(a class of) pipeline systems. In the narrative part of the pair such terms as type, value,
entity, function and behaviour were intended to “point to”, to refer to phenomena
and concepts of the domain, that is, to sets of such phenomena and concepts formed,
basically, from these phenomena.
In the formal part of the pair of domain descriptions the corresponding, formal
textual phrases, i.e., the syntactic sentences of the formulas, have a semantics, and that
semantics, as in RSL, is usually, for formal specifications, some mathematical
100 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2011, ¹ 2
Pragmatics
Linguistics
Mathematical
Semantics
“The” Domain Narrative Formalisation Model
Designation Designation Denotation
is_a_model_of
Fig. 1. Formal and informal relations
© D. Bj�orner, 2011
structures. Therein, lies the first problem: The relation between narrative texts and the
domain, “the real world”, can only be an informal one. The relation between the formal
texts and their semantics is a formal one. “And never the twain shall meet!”1 One can
not establish a formal relation between the informal world of domains and the formal
world of mathematical specifications. The above is an essence of abstract models.
Then we outline the “describability” problem. What, of actual domains, can be
modelled? That is, what, of any domain, on one hand, can be narrated, all or some,
and on the other hand, can be formalised, all or some? This double question is one of
ontology and of epistemology. This section shall discuss issues related to Item (i–ii) of
Footnote 3.
1.1. Russell’s Problem
Bertrand Russell, in [49] and in several other writings, brought the following
example (abbreviated): “The present King of France”. At present there is
no designation in any domain of such a person. Thus the sentence does not make
sense. In a formalisation we would express this as:
type
DOMAIN, DESIGNATION
value
obs_DESIGNATIONs: DOMAIN � DESIGNATION-infset
designation: Sentence � DOMAIN �~ DESIGNATION
existence: Sentence � DOMAIN � Bool
designation(s)(�) � if existence(s)(�) then ... else chaos end
“The present King of France” did have a designation around year 1600. I
claim that Russell’s “problem” lies in the dashed (rounded edge) box of the left side of
Fig. 1. The simpler-minded computer/computing science problem of syntax and
semantics is then that of the rectangular box of the right side of Fig. 1.
1.2. The Problem of This Paper
The problem of this paper should now be a little more clear: It is that of
“reconciling” of what is indicated by the two “boxes” of Fig. 1: the classical
epistemological universe of discourse of the left side of that figure, and the domain
science universe of discourse of the right side of that figure.
Put in different terms: We would somehow like to establish that the horisontal,
non-dashed double arrows expresses that the model (to the extreme right) “is a model”
of the domain (to the extreme left) — such as indicated by the bottom left-pointing
dashed arrow (with the upside-down2 is_a_model_of label).
In Sec. 2 of part I of this paper [3] we presented a non-trivial example. It served to
illustrate the new concepts of domain engineering, domain description and domain
model. Section 3 the Part I paper then discussed the concept of domains. In Sec. 2 of
the present paper we shall embark on a discussion of our logical and linguistic means
for description, of “the kind of ‘things’ that can ‘exist’ or the things (say in the domain,
i.e., “real world”) that they reflect”.
ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2011, ¹ 2 101
1
Rudyard Kipling, Barrack-room Ballads, 1892: “Oh, East is East, and West is West, and never the
twain shall meet.”
2
So as to be read from where dashed arrow emanates to where it is incident.
2. A SPECIFICATION ONTOLOGY AND EPISTEMOLOGY
3
2.1. What Is an Ontology?
2.1.1. Some remarks. By a specification ontology we shall understand a set of
mathematical concepts to be used in specifying “something”. By a domain
description ontology we shall understand a set of concepts to be used in describing
a domain. We shall choose a textual, rather than a diagrammatic (graphical) form
for expressing descriptions. The description ontology therefore hinges on a number
of textual (i.e., non-diagrammatic) syntactic constructs. These will be covered in
Secs. 2.2–2.5 and 2.7–2.8. The pragmatics of description designations (using these
syntactic constructs) are, of course, phenomena of the domain. The semantics of
description designations are, of course, mathematical constructs. The above
remarks, naturally, influence the rest of this more “theoretical/philosophical” part of
the paper. That is, we thus hint at, but do not present, a more thorough philosophy
of science reasoning, arguments that should support our description ontology.
2.1.2. Description ontology versus ontology description. According to
Wikipedia: Ontology is the philosophical study of (i) the nature of being, existence or
reality in general, (ii) as well as of the basic categories of being and their relations.
Section 2 of [3] emphasized the need for describing domain phenomena and concepts.
This section (Sec. 2 of this paper) puts forward a description ontology — (i) which
“natures of being, existence or reality” and (ii) which “categories of being and their
relations” — that we shall apply in the description of domain phenomena and
concepts.
Yes, we do know that the term ‘description ontology’ can easily be confused with
‘ontology description’ — a term used very much in two computing related
communities: AI (artificial intelligence) and WWW (World Wide Web). These
communities use the term ‘ontology’ as we use the term ‘domain’ [2, 13, 15, 22–25, 51].
But their use of ‘ontology’ is mostly directed at an analysis of the entities, not so much
the operations, events and behaviours. They are also mostly interested in such formal
specifications that can be subjected to automatic analysis. Our use of ‘description
ontology’ is to analyse and formalise also incomputable [31] phenomena and concepts.
By domain ‘description ontology’ we shall mean a set of notions that are used in
describing a domain. So the ontology is one of the description language not of the
domain that is being described.
2.2. Categories, Predicates and Observers for Describing Domains
It is not the purpose of this paper to motivate the categories, predicates and
observer functions for describing phenomena and concepts. This is done elsewhere
[4, 5, 8–10]. Instead we shall more-or-less postulate one approach to the analysis
of domains. We do so by postulating a number of meta-categories, meta-predicates
and meta-observer functions. They characterise those non-meta categories,
predicates and observer functions that the domain engineer cum researcher is
suggested to make use of. There may be other approaches [50] than the one put
forward in this paper.
102 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2011, ¹ 2
3
Webster Collegiate Dictionary explanation of philosophical terms:
Ontology: (i) a branch of metaphysics concerned with the nature and relations of being;
(ii) a particular theory about the nature of being or the kinds of things that have existence.
(iii) Epistemology: the study or a theory of the nature and grounds of knowledge especially with
reference to its limits and validity.
2.2.1. An aside on notation. In this entire section we shall be using two kinds of
notation. Both may look like uses of RSL, but they are not. A notation which involves
the use of THIS FONT; and a notation which, in some form of mathematics, explain
the former. Please note that these meta-functions, those “partially spelled” with THIS
FONT are not RSL functions but are mental functions applied by the domain modeller
in the analysis of domains.
2.2.2. The hypothetical nature of categories, predicates and observers. In the
following we shall postulate some categories of phenomena4, that is, some meta-types:
categories
0: ALPHA, BETA, GAMMA
What such a clause as the above means is that we postulate that there are the
categories ALPHA, BETA, GAMMA of “things” (phenomena and concepts) in the
world of domains. That is, there is no proof that such “things” exists. It is just our way
of modelling domains. If that way is acceptable to other domain science researchers or
domain engineers, fine. In the end, which we shall never reach, those aspects of a, or
the domain science, may “survive”. If not, well, then they will not ”survive” !
2.2.3. Predicates and observers. With the categories just introduced we then go
on to postulate some predicate and observer functions. For example:
predicate signatures
1: is_ALPHA: “Thing” � Bool
2: is_BETA: “Thing” � Bool
3: is_GAMMA: “Thing” � Bool
observer signatures
4: obs_ALPHA: “Thing” �~ ALPHA
5: obs_BETA: ALPHA �~ BETA
6: obs_GAMMA: ALPHA �~ GAMMA
So we are “fixing” a logic! Observing, as in [4], an ALPHA “in” (or “from”) a
“thing” is, of course, not possible, if “that thing” does not “contain” an ALPHA. Hence
the observer function is partial: not defined for all “things”, yielding chaos for such
“things” which do not “contain” an ALPHA. Etcetera.
The “Things” clause is a reference to the domain under scrutiny. Some ‘things’ in
that domain are of category5 ALPHA, or BETA, or GAMMA. Some are not. It is then
postulated that from such things of category ALPHA one can observe things of
categories BETA or GAMMA. Whether this is indeed the case, i.e., that one can
observe these things is a matter of conjecture, not of proof.
2.2.4. Uncertainty. The function signature:
value
fct: A �
�
B
expresses a relation, fct �, which one may think of as:
type
fct �: FCT� = (A � B)-infset.
Applying fct to an argument a, that is, fct(a), may then either “always” result in
some specific b, in which case fct is a function; or result in chaos, that is, fct is not
defined for that argument a, that is: (a,b)�fct � for any b; or sometimes result in
some b, sometimes in another b�, etc., that is, fct � ={(a,b), (a,b�), (a,b��), ... }.
ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2011, ¹ 2 103
4
These observable phenomena or abstract concepts are, in general, entities, more specifically either
simple entities, actions, events or behaviours.
5
We use the term ‘category’ in lieu of either of the term ‘type’, ‘class’, ‘set’. By here using the term
‘category’ we do not mean category in the mathematical sense of category theory.
2.2.5. Meta-conditions. Finally we may sometimes postulate the existence of
a meta-axiom:
meta condition:
Predicates over ALPHA, BETA and GAMMA
Again, the promulgation of such logical meta-expressions are just conjectures, not
the expression of “eternal” truths which would then be laws of the (description of
the) domain.
2.2.6. Discussion. So, all in all, we suggest four kinds of meta-notions:
• categories,
• is_Category and obs_Property predicates,
• obs_Category and obs_Attribute observers, and
• meta-conditions, i.e., axioms.
The category [type] A, B, ..., the predicate is_A, is_B, ... functions, the observer
obs_A, obs_B, ... functions, and the meta-condition [axiom] predicate notions derive
from McCarthy’s analytic syntax [35].
Discussion. Thus the formal specification and the high level programming
languages’ use, that is, the software designers’ use of type clauses, predicate functions
and observer (in the form of selector) functions shall be seen in the context of
specifications, respectively program code dealing with computable quantities and
decomposing and constructing such quantities.
The proposal here, of suggesting that the domain engineer cum researcher makes
us of categories, predicates, observers and meta-conditions is different. In domain
descriptions an existing “universe of discourse” is being analysed. Perhaps the
categories, predicates, observers and meta-conditions makes sense, perhaps the
domain engineer cum researcher can use these descriptional “devices” to “compose”
a consistent and relative complete “picture”, i.e., description, of the domain under
investigation.
Either the software designers’ use of formal specification or programming
language constructs is right or it is wrong, but the domain engineer cum researchers’
use is just an attempt, a conjecture. If the resulting domain description is inconsistent,
then it is wrong. But it can never be proven right. Right in the sense that it is the right
description. As in physics, it is just a conjecture. There may be refutations of domain
models.
2.3. Entities
What we shall describe is what we shall refer to as entities. In other words, there
is a category ENTITY, and there is a meta-logical predicate is_ENTITY. The
is_ENTITY predicate applies to “whatever” in the domain, whether an entity or
not, and “decides”, i.e., is postulated to analyse whether that “thing” is an entity or
not:
predicate signature:
is_ENTITY: “Thing” � Bool
meta condition:
e:ENTITY • is_ENTITY(e)
Discussion. When we say “things”, or entities, others may say ‘individuals’,
‘objects’, or use other terms.
The meta-predicate is_ENTITY provides a rather “sweeping” notion, namely that
someone, the domain engineer, an oracle or other, can decide whether “something” is
to be described as a phenomenon or concept of the domain.
104 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2011, ¹ 2
By introducing the predicate is_ENTITY we have put the finger on what this
section is all about, namely “what exists?” and “what can be described?” We are
postulating a description ontology. It may not be an adequate one. It may have flaws.
But, for the purposes of raising some issues of epistemological and ontological nature,
it is adequate.
2.3.1. Entity categories. We postulate four entity categories:
category:
SIMPLE_ENTITY, ACTION, EVENT, BEHAVIOUR
Some phenomena or concepts are simple entities.
Discussion. That is, the domain describer is free to decide that a phenomenon or
a concept is a simple entity. The decision, of course, has implications. It may be a good
modelling decision; or it may be a not-so-good modelling decision. There is nothing
inherent, or innate, we claim, in the world, that is, in some chosen domain of that
world, which mandates that something is a simple entity.
Simple entity phenomena are the things we can point to, touch and see. They are
manifest. Other phenomena, for example those we can hear, smell, taste, or measure by
physics (including chemistry) apparatus are properties (attributes) of simple entity
phenomena. Concepts are abstractions about phenomena and/or other concepts.
Discussion. We have made a rather important decision here; and that is: we make
a distinction between simple entities and their properties (attributes). We claim that
simple entity phenomena are manifest and that their attributes are a way of (not
necessarily fully) characterising such simple entities. We shall further claim that one
cannot remove an attribute (a property) from a simple entity and, at the same time,
retaining that simple entity (less the “removed attribute”). So attributes are
indispensable articulations (ingredients, measures) of simple entities. A “free-standing”
property is not a simple entity.
Examples. The height, age, gender, weight, hair color, profession, etc., of
a person are attributes. The height value 179 cm is not a separately manifest simple
entity.
Attributes can be classified as either static or dynamic. Static attributes have
values that are constant, cannot change. Dynamic attributes have values that are
variable, can change.
Discussion. Again it is a decision to be made by the describer: whether an
attribute is static or dynamic. It depends, one can claim, on the temporal “perspective”
that the modeller decides to apply. Seen with a narrow, detailed, say micro-second
interval time granularity an attribute may be considered dynamic, whereas seen from a
24 hour granularity an attribute may be considered static.
Examples. A persons passport data, height, for example, is considered static;
valid, approximately, for the validity period of the passport. A person’s weight is, by a
medical, say diabetes doctor, considered dynamic.
A subset of simple domain entities form a state. Actions are the result of applying
functions to simple domain entities and changing the state. What is changed are the
attribute values of simple (state) entities. Actions are observable through the
observation of the occurrence of the ‘before’ and ‘after’ states. The functions or
relations that relate before and after states are not observable. They are our way of
“explaining” the actions. If you wish to consider them as simple entities then they are
atomic have no name, but do have a type, the function signature. Actions are caused by
domain behaviours.
ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2011, ¹ 2 105
Events are state changes that satisfy a predicate on the ‘before’ and ‘after states’.
Events are observable through their “taking place”, that is, by observing, as if they
were actions, their ‘before’ and ‘after states’, but also by, somehow, observing that
they are not caused by domain behaviours, well, possibly then by behaviours “outside”
the domain being considered. The above represents a “narrow” concept of events.
A less narrow concept would characterise some domain actions as events; we might
call them “interesting” action events.
Behaviours are sets of sequences (of sets of) actions and events. Behaviours are
observable – through the observation of the constituent actions and events.
Below we shall have “much more” to say about these four categories of entities.
category:
ENTITY = SIMPLE_ENTITY
ACTION
EVENT
BEHAVIOUR
Discussion. The four categories of entities may overlap.
With each of the four categories there is a predicate:
predicate signature:
is_SIMPLE_ENTITY “Thing” �
�
Bool
is_ACTION “Thing” �
�
Bool
is_EVENT “Thing” �
�
Bool
is_BEHAVIOUR “Thing” �
�
Bool
Each of the above four predicates require that their argument t:“Thing” satisfies:
is_ENTITY(t)
The use of �
�
shall illustrate the uncertainty that may befell the domain modeller.
We shall henceforth “boldly” postulate functionality, i.e., �, of the
is_SIMPLE_ENTITY, is_ACTION, is_EVENT and is_BEHAVIOUR functions.
The
“union” is inclusive:
meta condition:
t: “Thing” • is_ENTITY(t) �
is_SIMPLE_ENTITY(t) � is_ACTION(t) � is_EVENT(t) � is_BEHAVIOUR(t)
2.4. Simple Entities
We postulate that there are atomic simple entities; that there are therefrom distinct
composite simple entities; that a simple entity is indeed either atomic or composite;
that atomic simple entities cannot meaningfully be described as consisting of
proper other simple entities; but that composite simple entities indeed do consist of
proper other simple entities. It is us, the observers, who decide to abstract a simple
entity as either being atomic or as being composite.
That is:
category:
SIMPLE_ENTITY = ATOMIC
COMPOSITE
observer signature:
is_ATOMIC: SIMPLE_ENTITY � Bool
is_COMPOSITE: SIMPLE_ENTITY � Bool
meta condition:
ATOMIC
COMPOSITE = {}
s: “Things”:SIMPLE_ENTITY •
is_ATOMIC(s) �~is_COMPOSITE(s)
106 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2011, ¹ 2
Discussion. We put in brackets, in the text paragraph before the above formulas,
there-from distinct. One may very well discuss this constraint — are there simple
entities that are both atomic and composite? — and that is done by
Bertrand Russell in his ‘Philosophy of Logical Atomism’ [49].
2.4.1. Discrete and continuous entities. We postulate two forms of
SIMPLE_ENTITIES: DISCRETE, such as a railroad net, a bank, a pipeline pump, and
a securities instrument, and CONTINUOUS, such as oil and gas, coal and iron ore, and
beer and wine.
category:
SIMPLE_ENTITY =
= DISCRETE_SIMPLE_ENTITY
CONTINUOUS_SIMPLE_ENTITY
predicate signatures:
is_DISCRETE_SIMPLE_ENTITY: SIMPLE_ENTITY � Bool
is_CONTINUOUS_SIMPLE_ENTITY: SIMPLE_ENTITY � Bool
meta condition:
(is it desirable to impose the following?)
s: SIMPLE_ENTITY •
is_DISCRETE_SIMPLE_ENTITY(s) � ~CONTINUOUS_SIMPLE_ENTITY(s)
Discussion. In the last lines above we raise the question whether it is
ontologically possible or desirable to be able to have simple entities which are both
discrete and continuous. Maybe we should, instead, express an axiom which dictates
that every simple entity is at least of one of these two forms.
2.4.2. Attributes. Simple entities are characterised by their attributes: attributes
have name, are of type and has some value; no two (otherwise distinct) attributes of a
simple entity has the same name.
category:
ATTRIBUTE, ATTRIBUTE_NAME, TYPE, VALUE
observer signature:
obs_ATTRIBUTEs: SIMPLE_ENTITY � ATTRIBUTE-set
obs_ATTRIBUTE_NAMEs: SIMPLE_ENTITY � ATTRIBUTE_NAME-set
obs_ATTRIBUTE_NAME: ATTRIBUTE � ATTRIBUTE_NAME
obs_TYPE: ATTRIBUTE � TYPE
obs_VALUE: ATTRIBUTE � VALUE
meta condition:
s:SIMPLE_ENTITY •
a, a�: ATTRIBUTE • {a, a�}� obs_ATTRIBUTEs(s)
� a � a�� obs_ATTRIBUTE_NAME(a) � obs_ATTRIBUTE_NAME(a�)
Examples of attributes of atomic simple entities are: (i) A pipeline pump usually
has the following attributes: maximum pumping capacity, current pumping
capacity, whether for oil or gas, diameter (of pipes to which the
valve connects), etc. (ii) Attributes of a person usually includes name, gender,
birth date, central registration number, address, marital state,
nationality, etc.
Examples of attributes of composite simple entities are: (iii) A railway system usually
has the following attributes: name of system, name of geographic areas of
location of rail nets and stations, whether a public or a private
company, whether fully, partly or not electrified, etc. (iv) Attributes of
a bank usually includes: name of bank, name of geographic areas of
location of bank branch offices, whether a commercial portfolio bank
or a high street, i.e., demand/deposit bank, etc.
ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2011, ¹ 2 107
We do not further define what we mean by attribute names, types and values.
Instead we refer to [37] and [20] for philosophical discourses on attributes.
2.4.3. Atomic simple entities: Attributes. Atomic simple entities are
characterised only by their attributes.
Discussion. We shall later cover a notion of domain actions, that is functions
being applied to entities, including simple entities. We do not, as some do for
programming languages, “lump” entities and functions, etc. into what is there called
‘objects’.
2.4.4. Composite simple entities: Attributes, sub-entities and mereology.
Composite simple entities are characterised by three properties: (i) their attributes,
(ii) a proper set of one or more sub-entities (which are simple entities) and
(iii) a mereology of these latter, that is, how they relate to one another, i.e., how they
are composed.
Sub-entities
Proper sub-entities, that is simple entities properly contained, as immediate parts
of a composite simple entity, can be observed (i.e., can be postulated to be observable):
observer signature:
obs_SIMPLE_ENTITIES: COMPOSITE � SIMPLE_ENTITY-set
Mereology
Mereology is the theory of part-hood relations: of the relations of part to whole
and the relations of part to part within a whole. Suffice it to suggest some
mereological structures:
• Set Mereology: The individual sub-entities of a composite entity are
“un-ordered” like elements of a set. The obs_SIMPLE_ENTITIES function yields the
set elements.
predicate signature:
is_SET: COMPOSITE � Bool
• Cartesian Mereology: The individual sub-entities of a composite entity are
“ordered” like elements of a Cartesian (grouping). The function obs_ARITY yields the
arity, 2 or more, of the simple Cartesian entity. The function obs_CARTESIAN yields
the Cartesian composite simple entity.
predicate signature:
is_CARTESIAN: COMPOSITE � Bool
observer signatures:
obs_ARITY: COMPOSITE �~ Nat
pre: obs_ARITY(s): is_CARTESIAN(s)
obs_CARTESIAN: COMPOSITE �~
SIMPLE_ENTITY � ... � SIMPLE_ENTITY
pre obs_CARTESIAN(s): is_CARTESIAN(s)
meta condition:
c:SIMPLE_ENTITY •
is_COMPOSITE(c)� is_CARTESIAN(c) �
obs_SIMPLE_ENTITIES(c) = elements of obs_CARTESIAN(c)
� cardinality of obs_SIMPLE_ENTITIES(c) = obs_ARITY(c)
We just postulate the elements of and the cardinality of meta-functions.
Although one may have that distinctly positioned elements of a Cartesian to be of the
same type and even the same value, they will be distinct – with distinctness “deriving”
from their distinct positions.
108 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2011, ¹ 2
• List Mereology: The individual sub-entities of a composite entity are “ordered”
like elements of a list (i.e., a sequence). Where Cartesians are fixed arity sequences,
lists are variable length sequences.
predicate signature:
is_LIST: COMPOSITE � Bool
observer signatures:
obs_LIST: COMPOSITE �~ list of SIMPLE_ENTITY
pre obs_LIST(s): is_LIST(s)
obs_LENGTH: COMPOSITE �~ Nat
pre obs_LENGTH(s): is_LIST(s)
meta condition: �
s:SIMPLE_ENTITY•
is_COMPOSITE(s) � is_LIST(s) �
obs_SIMPLE_ENTITIES(s) = elements of obs_LIST(s) �
cardinality of elements of obs_LIST(s) = LENGTH(s) �
e,e� • {e,e�} � elements of �
obs_LIST(s) � obs_TYPE(e)=obs_TYPE(e�)
We also just postulate the list of, elements of and the cardinality of
meta-functions. Again, as for Cartesians, we shall postulate that although distinct
elements of a list (which are all of the same type) may have the same value – they are
distinct due to their distinct position in the list, that is, their adjacency to a possible
immediately previous and to a possibly immediately following element.
• Graph Mereology: The individual sub-entities of a composite entity are
“ordered” like elements of a graph, i.e., a net, of elements. Trees, lattices, cycles and
other structures are just special cases of graphs. Any (immediate) sub-entity of
a composite simple entity of GRAPH mereology may be related to any number of (not
necessarily other) (immediate) sub-entities of that same composite simple entity
GRAPH in a number of ways: it may immediately PRECEDE, or immediate
SUCCEED or be BIDIRECTIONALLY_LINKED with these (immediate) sub-entities
of that same composite simple entity. In the latter case some sub-entities PRECEDE
a SIMPLE_ENTITY of the GRAPH, some sub-ent i t ies SUCCEED
a SIMPLE_ENTITY of the GRAPH, some both.
predicate signature:
is_GRAPH: COMPOSITE � Bool
observer signatures:
obs_GRAPH: COMPOSITE �~ GRAPH
pre obs_GRAPH(g): is_GRAPH(g)
obs_PRECEEDING_SIMPLE_ENTITIES:
COMPOSITE � SIMPLE_ENTITY � SIMPLE_ENTITY-set
pre obs_PRECEEDING_SIMPLE_ENTITIES(c,s):
is_GRAPH(c) � s � obs_SIMPLE_ENTITIES(c)
obs_SUCCEEDING_SIMPLE_ENTITIES:
COMPOSITE � SIMPLE_ENTITY � SIMPLE_ENTITY-set
pre obs_PRECEEDING_SIMPLE_ENTITIES(c,s):
is_GRAPH(c) � s � obs_SIMPLE_ENTITIES(c)
ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2011, ¹ 2 109
meta condition:
c: SIMPLE_ENTITY • is_COMPOSITE(c) � is_GRAPH(c)
� let ss = SIMPLE_ENTITIES(c) in
s�: SIMPLE_ENTITY • s� � ss
� obs_PRECEEDING_SIMPLE_ENTITIES(c)(s�) � ss
� obs_SUCCEEDING_SIMPLE_ENTITIES(c)(s�) � ss
end
2.4.5. Discussion. Given a “thing”, s, which satisfies is_SIMPLE_ENTITY(s), the
domain engineer can now systematically analyse this “thing” using any of the
is_ATOMIC(s), is_COMPOSITE(s), is_SET(s), is_CARTESIAN(s), is_LIST(s),
is_GRAPH(s), etc., predicates and using also the observer functions sketched above.
Given any SIMPLE_ENTITY the domain engineer can now analyse it to find out
whether it is an ATOMIC or a COMPOSITE entity. An, in either case, the domain
engineer can analyse it to find out about its ATTRIBUTES. If the SIMPLE_ENTITY
is_COMPOSITE then its SIMPLE_ENTITIES and their MEREOLOGY can be
additionally ascertained. In summary: If ATOMIC then ATTRIBUTES can be
analysed. If COMPOSITE then ATTRIBUTES, SIMPLE_ENTITIES and MEREOLOGY
can be analysed.
Please note that these meta-functions, those “partially spelled” with THIS FONT,
are not RSL functions but are mental functions applied, conceptually, i.e., “by the
brain” of the domain modeller in the analysis of domains.
2.4.6. Practice. How do we interpret this section, Sec. 2.4, on simple entities? We
practice it by analysing the domain according to the principles laid down in this section,
Sec. 2.4, by discovering simple entities of the domain, by discovering and writing down,
for example in RSL, their sorts (i.e., abstract types) or their concrete types, by possibly
also discovering (postulating, conjecturing) and writing down constraints, that is axioms or
well-formedness predicates over these sorts and types. That is, we are not using these
“funny” names, such as SIMPLE_ENTITY, ATOMIC, COMPOSITE,
DISCRETE_SIMPLE_ENTITY, CONTINUOUS_SIMPLE_ATTRIBUTE, NAME,
TYPE, VALUE, CARTESIAN, ARITY, LIST, LENGTH, GRAPH,
PRECEDING_SIMPLE_ENTITIES, SUCCEEDING_SIMPLE_ENTITIES, etc., nor
their is_ or obs_ forms. The example of Sec. 2 of part I [3] of this paper has given
several examples of sort and type definitions as well as of constraint definitions.
2.5. Actions
2.5.1. Definition of actions. By a STATE we mean a set of one or more
SIMPLE_ENTITIES. By an ACTION we shall understand the application of
a FUNCTION to (a set of, including the state of) SIMPLE_ENTITIES such that
a STATE change occurs.
2.5.2. Non-observables. The mathematical concept of a function, explained as
“that thing which when applied to something(s) called its arguments yields (i.e., results
in) something called its results”, that concept, is an elusive one. No-one has ever
“seen”, “touched”, “heard” or otherwise sensed a function. Functions, as a concept, is
purely a mathematical construction possessing a number of properties and introduced
here in order to explain what is going on in any domain. We shall not be able to
observe functions. To highlight this point we use this SPELLING OF FUNCTIONS.
2.5.3. Atomic and composite actions. One can, in principle, talk about composite
actions, that is, actions composed from two or more (other) actions, and so forth, until
one, the domain analyser, determines that the “smallest” actions are no longer
composite, but atomic. We shall, in this paper, consider composite actions as being,
110 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2011, ¹ 2
instead, behaviours. Whether a composite action, had we decided to maintain the
composite/atomic action distinction, was then structured, as for simple entities, as a set,
a Cartesian or list, or an acyclic “graph” (a lattice) of actions, themselves composite or
atomic would then have lead to the same kind of structure analysis as we apply to
behaviours, see Sec. 2.8.2.
2.5.4. Observers &c. We postulate that the domain engineer can indeed decide,
that is, conjecture, whether a “thing”, which is an ENTITY is an atomic ACTION.
category:
ACTION, FUNCTION, STATE
predicate signature:
is_ACTION: ENTITY � Bool
Given an ENTITY of category ACTION one can observe, i.e., conjecture the
FUNCTION (being applied), the ARGUMENT CARTESIAN of SIMPLE_ENTITIES
to which the FUNCTION is being applied, and the resulting change STATE change.
None of the elements of the CARTESIAN ARGUMENT are allowed to be SIMPLE
STATE ENTITIES.
category:
STATE = SIMPLE_ENTITY
FUNCTION = ARGUMENT � STATE � STATE
ARGUMENT = {|s:SIMPLE_ENTITY•is_CARTESIAN(s)|}
observer signatures:
obs_ACTION: ENTITY � ACTION
obs_ARGUMENT: ACTION � ARGUMENT
obs_INPUT_STATE: ACTION � STATE
obs_RESULT_STATE: ACTION � STATE
2.5.5. Practice. How do we interpret this section, Sec. 2.5, on actions? We
practice it by analysing the domain according to the principles laid down in this
section, Sec. 2.5, by discovering actions of the domain, by discovering and writing
down, for example in RSL, their signatures, by possibly also discovering (postulating,
conjecturing) and writing down their definitions. That is, we are not using these
“funny” names, such as ACTION, STATE, ARGUMENT, INPUT_STATE,
RESULT_STATE nor there is_ or obs_ forms. The pipeline example of Sec. 2 of
part I of this paper [3] has given several examples of action signatures and definitions.
2.6. “Half-way” Discussion
6
Some pretty definite assertions were made above: We postulate that the
domain engineer can indeed decide whether a “thing”, which is
an ENTITY is an ACTION. And that one can conjecture the FUNCTION, the
ARGUMENT and the RESULT of an ACTION. We do not really have to phrase it
that deterministically. It is enough to say: One can speak of actions, functions, their
arguments and their results. Ontologically we can do so. Whether, for any specific
simple entity we can decide whether it is an actions is, in a sense, immaterial: we can
always postulate that it is an action and then our analysis can be based on that
hypothesis. This discussion applies inter alia to all of the entities being introduced
here, together with their properties.
The domain engineer cum researcher can make such decisions as to whether an
entity is a simple one, or an action, or an event or a behaviour. And from such
a decision that domain engineer cum researcher can go on to make decisions as to
ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2011, ¹ 2 111
6
“Half-way”: after simple entities and actions and before events and behaviours.
whether a simple entity is discrete or continuous, and atomic or composite, and then
onto a mereology for the composite simple entities. Similarly the domain engineer cum
researcher can make decisions as to the function, arguments and results of an action.
All these decisions do not necessarily represent the “truth”. They hopefully are not
“falsities”. At best they are abstractions and, as such, they are approximations.
2.7. Events
Like we did for simple entities we distinguish between atomic and composite
events.
2.7.1. Definition of atomic events. By an EVENT we shall understand a pair,
( ,� � �� , of STATEs, a time, or time interval, t: TIME (at or during which event occurs),
and an EVENT PREDICATE, p : P, such that p( ,� � �� (s), yields true.
The difference between an ACTION and an EVENT is two things: the EVENT
ACTION need not originate within the analysed DOMAIN, and the EVENT
PREDICATE is trivially satisfied by most ACTIONs which originate within the
analysed DOMAIN.
2.7.2. Examples of atomic events. Examples of atomic events, that is, of
predicates are: a bank goes “bust” (e.g., looses all its monies, i.e., bankruptcy), a bank
account becomes negative, (unexpected) stop of gas flow and iron ore mine depleted.
Respective stimuli of these events could be: (massive) loan defaults, a bank client
account is overdrawn, pipeline breakage, respectively over-mining. The example of
Sec. 2 of part I of this paper [3] has not given very many examples. Some are: an oil well
runs dry (atomic event); a valve gets stuck in closed position, causing further events;
a gas pipe breaks causing a fire causing gas to flow, etc. (composite event); etcetera.
2.7.3. Composite events. Definition. A Composite event is composed from a
sequence of two or more events: The ‘after’ state of one or more events become the
‘before’ event of an immediately subsequent event.
Example of Composite Event. We consider the first birth of a child to a mother
and a father as a composite event: the child is born, is a “first” event of the
composition; the mother- and fatherhood of the “newborn” parents is a “second”
event, following from the fist, but taking place “at the same time as the child is born
event; with the grandparents perhaps, for the first time becoming grandparent, being a
“third” event, etcetera. We shall, in this paper, consider composite events as being,
instead, behaviours. Whether a composite event, had we decided to maintain the
composite/atomic event distinction, was then structured, as for simple entities, as a set,
a Cartesian or list, or as an acyclic “graph” (a lattice) of actions, themselves composite
or atomic would then have lead to the same kind of structure analysis as we apply to
behaviours, see Sec. 2.8.2.
2.7.4. Observers &c. We postulate that the domain engineer from an atomic
EVENT can observe the TIME, the BEFORE_STATE, the AFTER_STATE and the
EVENT_PREDICATE. As said before: the domain engineer cum researcher can
decide on these abstractions, these approximations.
category:
TIME
P = (STATE � STATE) � TIME � Bool
observer signatures:
obs_TIME: EVENT � TIME
obs_BEFORE_STATE: EVENT � STATE
obs_AFTER_STATE: EVENT � STATE
obs_EVENT_PREDICATE: EVENT � P
112 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2011, ¹ 2
meta condition:
e:EVENT •
� t: TIME, �� � �: STATE •
BEFORE_STATE(e) = � �
AFTER_STATE(e) = �� �
� p: P • p(�� � �)(t)
2.7.5. Practice. How do we interpret this section, Sec. 2.7, on events? We practice
it by analysing the domain according to the principles laid down in this section,
Sec. 2.7, by discovering events of the domain, that is, by discovering and writing
down, for example in RSL, the “defining” pre/post condition predicates, by
discovering and writing down, for example in RSL, their signatures (as if they were
domain actions), by possibly also discovering (postulating, conjecturing) and writing
down their definitions (as if they were domain actions). Events, as we shall see in the
next section, Sec. 2.8 are, in our treatment, closely linked to behaviours. Therefore we
describe events as special actions of behaviours. That is, we are not using these
“funny” names, such as EVENT, STIMULUS, EVENT_PREDICATE,
BEFORE_STATE, AFTER_STATE nor their is_ or obs_ forms.
2.8. Behaviours
2.8.1. A Loose characterisation. By a BEHAVIOUR we shall understand a set of
sequences of ACTIONs and EVENTs. We make a distinction between the domain
being analysed and described and the “surroundings”, the environment of that
domain. With the environment we associate, or rather postulate a behaviour. This
atomic or composite environment behaviour is not described further than
postulating a number of interactions between the environment behaviour and the
domain behaviour(s). The domain behaviour(s) cover different, “overlapping” or
“disjoint”, parts of the domain. Their interactions with an, or the, environment
behaviour, i.e., the events between domain and environment behaviours:
• when modelled in a CSP-like textual notation [30], are expressed as CSP
channel (ch) inputs (ch?)/outputs (ch!v): inputs from the environment,
outputs to the environment;
• when modelled in a Petri Net-like graphic notation [47], are expressed by some
further designated environment places that share transitions with domain
places
7; and
• when modelled in a MSC-like graphic notation [32], are expressed as message
inputs/outputs: the, usually horisontal, lines that “connect” the, usually vertical,
instance, or behaviour lines.
Similar directions as to modelling can be given for Statechart-like descriptions
[28]. It may now be so that some EVENTs in two or more such sequences have their
STATEs and PREDICATEs express, for example, mutually exclusive synchronisation
and communication EVENTs between these sequences which are each to be
considered as simple SEQUENTIAL_BEHAVIOURs. Other forms than mutually
exclusive synchronisation and communication EVENTs, that “somehow link” two or
more behaviours, can be identified.
2.8.2. Atomic and composite behaviours. It really does not make sense to talk about
atomic behaviours unless one insists, and then an atomic behaviour should be taken as an
(atomic) ACTION or as an (atomic) EVENT. We will not do so. The “nearest” to an
atomic behaviour then becomes a SIMPLE_SEQUENTIAL_BEHAVIOUR, see next.
ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2011, ¹ 2 113
7
The sets of environment places and domain places are disjoint and covers all Petri Net
places.
BEHAVIOUR_INTERACTION_LABELs
We abstract from the orderly example of synchronisation and communication given
above and introduce a further un-explained notion of (synchronisation and communication)
BEHAVIOUR_INTERACTION_LABELs and allow BEHAVIOURs to now just be sets
of sequences of ACTIONs and BEHAVIOUR_INTERACTION_LABELs, such that any
one simple sequence has unique labels. BEHAVIOUR_INTERACTION LABELs are
just a representation of EVENTSs.
We can classify some BEHAVIOURs.
SIMPLE_SEQUENTIAL_BEHAVIOURs
SIMPLE_SEQUENTIAL_BEHAVIOURs are sequences of ACTIONs and
BEHAVIOUR_INTERACTION_LABELs.
value
is_SIMPLE_SEQUENTIAL_BEHAVIOUR: BEHAVIOUR � Bool
obs_ACTIONandBEHAVIOUR_INTERACTION_LABEL:
SIMPLE_SEQUENTIAL_BEHAVIOUR �
(ACTION | BEHAVIOUR_INTERACTION_LABEL)*
pre obs_ACTIONandBEHAVIOUR_INTERACTION_LABEL(b):
is_SIMPLE_SEQUENTIAL_BEHAVIOUR(b)
SIMPLE_CONCURRENT_BEHAVIOURs
SIMPLE_CONCURRENT_BEHAVIOURs are
sets of SIMPLE_SEQUENTIAL_-BEHAVIOURs.
value
is_SIMPLE_CONCURRENT_BEHAVIOUR: BEHAVIOUR � Bool
obs_SIMPLE_CONCURRENT_BEHAVIOURs:
SIMPLE_CONCURRENT_BEHAVIOUR �
SIMPLE_SEQUENTIAL_BEHAVIOUR-set
pre SIMPLE_CONCURRENT_BEHAVIOURs(b):
is_SIMPLE_CONCURRENT_BEHAVIOUR(b)
COMMUNICATING_CONCURRENT_BEHAVIOURs
COMMUNICATING_CONCURRENT_BEHAVIOURs are sets of
SIMPLE_CONCURRENT_BEHAVIOURs where every
SIMPLE_CONCURRENT_BEHAVIOUR share at least one
BEHAVIOUR_INTERACTION_LABEL with some other
SIMPLE_CONCURRENT_BEHAVIOUR in the
COMMUNICATING_CONCURRENT_BEHAVIOUR.
value
is_COMMUNICATING_CONCURRENT_BEHAVIOUR: BEHAVIOUR � Bool
obs_SIMPLE_CONCURRENT_BEHAVIOURs:
COMMUNICATING_CONCURRENT_BEHAVIOUR �
SIMPLE_CONCURRENT_BEHAVIOUR-set
pre obs_SIMPLE_CONCURRENT_BEHAVIOURs(b):
is_COMMUNICATING_CONCURRENT_BEHAVIOUR(b)
We say that two or more such COMMUNICATING_CONCURRENT_BEHAVIOURs
synchronise & communicate when all distinct BEHAVIOURs “sharing” a (same) label
have all reached that label.
114 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2011, ¹ 2
Many other composite behaviours can be observed. For our purposes it suffice
with having just identified the above. So far we have restricted ourselves to linear,
textual descriptions of entities. For behaviours there are some diagrammatic, or
graphical description forms that more vividly capture such properties as instantaneous
concurrent actions in otherwise distinct behaviours. We are thinking of such
description tools as MSC (Message Sequence Charts) [32], LSC (Live Sequence
Charts) [29], Petri Nets [47], Statecharts [28], etc.
SIMPLE_ENTITIES, ACTIONs and EVENTs can be described without reference
to time. BEHAVIOURs, in a sense, take place over time.8 It will bring us into a rather
long discourse if we are to present some predicates, observer functions and axioms
concerning behaviours — along the lines such predicates, observer functions and axioms
were present, above, for SIMPLE_ENTITIES, ACTIONs and EVENTs. We refer
instead to Johan van Benthem’s seminal work on the The Logic of Time [52]. In
addition, more generally, we refer to A.N. Prior’s [42–46] and McTaggart’s works [36,
17, 48]. The paper by Wayne D. Blizard [11] proposes an axiom system for
time-space.
2.8.3. Practice. How do we interpret this section, Sec. 2.8, on behaviours? We
practice it by analysing the domain according to the principles laid down in this section,
Sec. 2.8, by discovering behaviours of the domain, that is, by discovering and writing
down, for example in RSL, the signatures of these behaviours (e.g., as CSP processes),
by possibly also discovering (postulating, conjecturing) and writing down their
definitions (as sequences of domain actions and events — the latter modelled as CSP
communications between behaviours). Events are now, for CSP-based descriptions, the
input/output synchronisations and communications of CSP. For MSCs they are the
“horisontal lines” that stretch between the vertical behaviour lines. For Petri Nets they
are the usually “longish” rectangle transitions that are triggered by tokens present on all
incoming “lines” (and transfer tokens from input place holders to output place holders).
That is, we are not using all these “funny” names such as: BEHAVIOUR,
SEQUENTIAL_BEHAVIOUR, SIMPLE_SEQUENTIAL_BEHAVIOUR,
CONCURRENT–BEHAVIOUR, COMMUNICATING_CONCURRENT_
BEHAVIOUR, BEHAVIOUR_INTERACTION_LABELs, etcetera.
2.9. Impossibility of Definite Mereological Analysis
It would be nice if there was a more-or-less obvious way of “deciphering” the
mereology of an entity. In the Set, Cartesian, List, Map, and Graph
subsections above we may have left the impression with the reader that is a
more-or-less systematic way of uncovering the mereology of a composite entity.
That is not the case: there is no such obvious way, there is no Magic Wand! It is
a matter of both discovery, ingenuity and choice between seemingly alternative
mereologies, and it is also a matter of choice of abstraction.
2.10. What Exists and What Can Be Described?
In the previous section we have suggested a number of categories9 of entities,
ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2011, ¹ 2 115
8
If it is important that ACTIONs take place over time, that is, are not instantaneous, then we can just
consider ACTIONs as very simple SEQUENTIAL_BEHAVIOURs not involving EVENTs.
9
Some categories: ENTITY, SIMPLE_ENTITY, ACTION, EVENT, BEHAVIOUR, ATOMIC,
COMPOSITE, DISCRETE, CONTINUOUS, ATTRIBUTE, ATTRIBUTE_NAME, TYPE, VALUE,
SET, CARTESIAN, LIST, MAP, GRAPH, FUNCTION, STATE, ARGUMENT, STIMULUS,
EVENT_PREDICATE, BEFORE_STATE, AFTER_STATE, SEQUENTIAL_BEHAVIOUR,
BEHAVIOUR_INTERACTION_LABEL, SIMPLE_SEQUENTIAL_BEHAVIOUR,
SIMPLE_CONCURRENT_BEHAVIOUR, COMMUNICATING_CONCURRENT_BEHAVIOUR, etc.
a number of predicate10 and observer11 functions and a number of meta conditions
(i.e., axioms). These concepts and their relations to one-another, suggest an
ontology for describing domains. It is now very important that we understand these
categories, predicates, observers and axioms properly.
3. DESCRIPTION VERSUS SPECIFICATION LANGUAGES
Footnotes 9–11 summarised a number of main concepts of an ontology for
describing domains. The categories and predicate and observer function signatures
are not part of a formal language for descriptions. The identifiers used for these
categories are intended to denote the real thing, classes of entities of a domain. In
a philosophical discourse about describability of domains one refers to the real
things. That alone prevents us from devising a formal specification language for
giving syntax and semantics to a specification, in that language, of what these
(Footnote 9–11) identifiers mean.
3.1. Formal Specification of Specific Domains
Once we have decided to describe a specific domain then we can avail ourselves
of using one or more of a set of formal specification languages. But such a formal
specification does not give meaning to identifiers of the categories and predicate
and observer functions; they give meaning to very specific subsets of such
categories and predicate and observer functions. And the domain specification now
ascribes, not the real thing, but usually some form of mathematical structures as
models of the specified domain.
3.2. Formal Domain Specification Languages
There are, today, a large number of formal specification languages. Some are
textual, some are diagrammatic (or graphic). The textual specification languages are
like mathematical expressions, that is: linear text, often couched in an abstract
“programming language” notation. The diagrammatic specification languages
provide for the specifier to draw two-dimensional figures composed from
primitives. Both forms of specification languages have precise mathematical
meanings, but the linear textual ones additionally provide for proof rules.
Examples of textual, formal specification languages are
• Alloy [33]: model-oriented,
• B, Event-B [1]: model-oriented,
• CafeOBJ [19]: property-oriented (algebraic),
• CASL [16]: property-oriented (algebraic),
• CSP [30]: communicating sequential processes,
• DC (Duration Calculus) [54]: temporal logic,
• Maude [14, 38, 12]: property-oriented (algebraic),
• RAISE, RSL [21]: property and model-oriented,
• TLA+ [34]: temporal logic and sets,
116 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2011, ¹ 2
10
Some predicates: is_ENTITY, is_SIMPLE_ENTITY, is_ACTION, is_EVENT, is_BEHAVIOUR,
is_ATOMIC, is_COMPOSITE, is_DISCRETE_SIMPLE_ENTITY,
is_DISCRETE_SIMPLE_ENTITY, is_DISCRETE_SIMPLE_ENTITY,
is_CONTINUOUS_SIMPLE_ENTITY, is_SET, is_CARTESIAN, is_LIST, is_MAP, is_GRAPH, etc.
11
Some observers: obs_SIMPLE_ENTITY, obs_ACTION, obs_EVENT, obs_BEHAVIOUR,
obs_ATTRIBUTE, obs_NAME, obs_TYPE, obs_VALUE, obs_SET, obs_CARTESIAN, obs_ARITY,
obs_LIST, obs_LENGTH, obs_DEFINITION_SET, obs_RANGE, obs_IMAGE, obs_GRAPH,
obs_PRECEDING_SIMPLE_ENTITIES, obs_SUCCEEDING_SIMPLE_ENTITIES,
obs_MEREOLOGY, obs_INPUT_STATE, obs_ARGUMENT, obs_RESULT_STATE,
obs_STIMULUS, obs_EVENT_PREDICATE, obs_BEFORE_STATE, obs_AFTER_STATE, etc.
• VDM, VDM-SL [18]: model-oriented and
• Z [53]: model-oriented.
DC and TLA+ are often used in connection with either a model-oriented
specification languages or just plain old discrete mathematics notation !
But the model-oriented specification languages mentioned above do not
succinctly express concurrency, but CSP does. The diagrammatic, formal specification
languages, listed below, all do that:
• Petri Nets [47],
• Message Sequence Charts (MSC) [32],
• Live Sequence Charts (LSC) [29] and
• Statecharts [28].
4. CONCLUSION
4.1. What Have We Done ?
We have discussed a number of meta-linguistic constructs, each corresponding to a
description concept: entities as simple entities, actions, events and behaviours;
categories, i.e., types, is_ predicates, obs_erver functions and meta-conditions,
i.e., axioms.
We have used these meta-linguistic constructs in an inquiry into what one may
wish, or be able, to describe. Throughout we have not kept these meta-linguistic
constructs far from our “ordinary” means of formal description – as illustrated in the
large example of Sec. 2 of part I of this paper [3].
4.2. What Need to Be Done?
What needs to be done is more work on the specification ontology, that is, the one
promulgated in Sec. 2 of this paper. Work in the direction of establishing
a reasonably comprehensice axiom system for this specification ontology and proving
properties of this ontology. In a separate paper [D. Bj�orner. UNU-IIST:
Science � Engineering � Technology], which is to be submitted for publication, we
are covering a triplet of concepts: laws of domain descriptions, laws of domain
models, and laws of domains. We think that having a reasonably well-founded
specification ontology will allows us to prove properties such as some of these laws.
4.3. Acknowledgements
I think that a first treatment of some issues of computing science versus some
possible philosophical issues took place during one of Prof. Nikolaj Nikitchenko’s
visits to the Technical University of Denmark in the 1980s and during a fall of
1996 visit to UNU-IIST, Macau. We were experimenting with models of
transportation. Nikolaj then brought up some work of Georg Wilhelm Friedrich
Hegel and, alone and with my colleague Bo Stig Hansen wrote, over the years
some reports and published some papers [39, 40, 26, 27]. The work of this paper
tries a slightly different approach. Perhaps it is time to review this work in the
context of [39, 40, 26, 27]. Anyway I thank Nikolaj for his visits to Denmark and
Macau where, in both places, he gave wonderful, thoughtful seminars and talks.
I am very grateful to Tony Hoare for renewing my interest in the works of
Bertrand Russell. I am also grateful to Stephen Linton of the University of
St. Andrews, Scotland for inviting me to present a paper from which the present one is
quite a revision. I am likewise grateful to Alan Bundy of the University of Edinburgh,
Scotland, for a six week distinguished CISA guest Researcher invitation where I had
time to write the first version of this paper.
ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2011, ¹ 2 117
Finally I am grateful to Profs. Alexander Letichevsky and Nikolaj Nikitchenko of
Glushkov Institute of Cybernetics, Institute of Program Systems, for inviting me to this
workshop and to Ukraine. And I am deeply grateful to Mr. Ievgen Ivanov for his work
on making this paper ready for publication.
In response to my paper on Mereologies in Computing Science [7] for Tony
Hoare’s 75 anniversary Festschrift April 2009 (Springer Series on Hisotry of
Computing) where I focused on mereologies and a relation between mereologies and
CSP [30], Tony brought up, in private communication, Bertrand Russell’s concept of
Logical Atomism [49].
Some of the mereology aspects of this paper have been dealt with in more detail
in [10, 7]; while [6] covered other aspects, in an early form.
REFERENCES
1. J . - R . A b r i a l . The B Book: Assigning Programs to Meanings and Modeling in Event-B: System
and Software Engineering. Cambridge University Press, Cambridge, England, 1996 and 2009.
2. P . B e r n u s a n d L . N e m e s , editors. Modelling and Methodologies for Enterprise Integration,
International Federation for Information Processing, London, UK, 1996 1995. IFIP TC5, Chapman
& Hall. Working Conference, Queensland, Australia, November 1995.
3. D . B j �or n e r . Domain Science and Engineering. From Computer Science to The Sciences of Infor-
matics. Part I of II: Engineering // Kibernetika i Systemni Analiz. — 2010. — 46, N 4. —
P. 100–116.
4. D . B j �or n e r . Software Engineering, Vol. 3: Domains, Requirements and Software Design. Texts
in Theoretical Computer Science, the EATCS Series. Springer, 2006.
5. D . B j �or n e r . Domain Theory: Practice and Theories, Discussion of Possible Research Topics. In
ICTAC’2007, volume 4701 of Lecture Notes in Computer Science (eds. J.C.P. Woodcock et al.),
pages 1–17, Heidelberg, September 2007. Springer. Final Version.
6. D . B j �or n e r . An Emerging Domain Science – A Role for Stanislaw Lesniewski’s Mereology and
Bertrand Russell’s Philosophy of Logical Atomism. Higher-order and Symbolic Computation, 2009.
Final Version.
7. D . B j �or n e r . On Mereologies in Computing Science. In Festschrift for Tony Hoare, History of
Computing (ed. Bill Roscoe), London, UK, 2009. Springer. Final Version.
8. D . B j �or n e r . Domain Engineering. In BCS FACS Seminars, Lecture Notes in Computer Science,
the BCS FAC Series (eds. Paul Boca and Jonathan Bowen), pages 1–42, London, UK, 2010.
Springer. Final Version.
9. D . B j �or n e r . Domain Engineering: Technology Management, Research and Engineering. JAIST
Press, March 2009. JAIST Research Monograph #4, 536 pages.
10. D . B j �or n e r a n d A . E i r . Compositionality: Ontology and Mereology of Domains. Some Clari-
fying Observations in the Context of Software Engineering in July 2008, eds. Martin Steffen, Dennis
Dams and Ulrich Hannemann. In Festschrift for Prof. Willem Paul de Roever Concurrency,
Compositionality, and Correctness, volume 5930 of Lecture Notes in Computer Science,
pages 22–59, Heidelberg, July 2010. Springer. Final Version.
11. W . D . B l i z a r d . A Formal Theory of Objects, Space and Time. The Journal of Symbolic Logic,
55(1):74–89, March 1990.
12. R . B r u n i a n d J . M e s e g u e r . Generalized Rewrite Theories. In Jos C. M. Baeten and Jan
Karel Lenstra and Joachim Parrow and Gerhard J. Woeginger, editor, Automata, Languages and Pro-
gramming. 30th International Colloquium, ICALP 2003, Eindhoven, The Netherlands, June 30–July
4, 2003. Proceedings, volume 2719 of Lecture Notes in Computer Science, pages 252–266.
Springer-Verlag, 2003.
13. W . C l a n c e y . The knowledge–level reinterpreted: modeling socio–technical systems. Interna-
tional Journal of Intelligent Systems, 8:33–49, 1993.
118 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2011, ¹ 2
14. M . C l a v e l , F . D u r � n , S . E k e r , P . L i n c o l n , N . M a r t � - O l i e t , J . M e s e g u e r ,
a n d C . T a l c o t t . The Maude 2.0 System. In Robert Nieuwenhuis, editor, Rewriting Techniques
and Applications (RTA 2003), number 2706 in Lecture Notes in Computer Science, pages 76–87.
Springer-Verlag, June 2003.
15. N . C o c c h i a r e l l a . Formal Ontology. In H. Burkhardt and B. Smith, editors, Handbook in Meta-
physics and Ontology, pages 640–647. Philosophia Verlag, Munich, Germany, 1991.
16. C o F I ( T h e C o m m o n F r a m e w o r k I n i t i a t i v e ) . Casl Reference Manual, volume 2960
of Lecture Notes in Computer Science (IFIP Series). Springer–Verlag, 2004.
17. D . J . F a r m e r . Being in time: The nature of time in light of McTaggart’s paradox. University
Press of America, Lanham, Maryland, 1990. 223 pages.
18. J . F i t z g e r a l d a n d P . G . L a r s e n . Modelling Systems – Practical Tools and Techniques in
Software Development. Cambridge University Press, Cambridge, UK, Second edition, 2009.
19. K . F u t a t s u g i , A . N a k a g a w a , a n d T . T a m a i , editors. CAFE: An Industrial–Strength
Algebraic Formal Method, Sara Burgerhartstraat 25, P.O. Box 211, NL–1000 AE Amsterdam, The
Netherlands, 2000. Elsevier. Proceedings from an April 1998 Symposium, Numazu, Japan.
20. B . H . P . G e n n a r o C h i e r c h i a a n d R . T u r n e r , editors. Properties, Types and Meaning.
Kluwer Academic, 15 December 1988. Vol. I: Foundational Issues, Vol. II: Semantic Issues.
21. C . W . G e o r g e , A . E . H a x t h a u s e n , S . H u g h e s , R . M i l n e , S . P r e h n , a n d
J . S . P e d e r s e n . The RAISE Development Method. The BCS Practitioner Series. Prentice-Hall,
Hemel Hampstead, England, 1995.
22. T . R . G r u b e r a n d G . R . O l s e n . An Ontology for Engineering Mathematics. In J. Doyle, P.
Torasso, and E. Sandewall, editors, Principles of Knowledge Representation and Reasoning. Morgan
Kaufmann, 1994. Fourth International Conference. Gustav Stresemann Institut, Bonn, Germany.
http://www-ksl.stanford.edu/knowledge-sharing/papers/engmath.html
23. M . G r u n i n g e r a n d M . F o x . The Logic of Enterprise Modelling. In Modelling and Method-
ologies for Enterprise Integration, pages 141–157, November 1995.
24. N . G u a r i n o . Formal Ontology, Conceptual Analysis and Knowledge Representation. Intl. Jour-
nal of Human–Computer Studies, 43:625–640, 1995.
25. N . G u a r i n o . Some Organising Principles for a Unifed Top–level Ontology. Int. rept., Italian Na-
tional Research Council (CNR), LADSEB–CNR, Corso Stati Uniti 4, I–35127 Padova, Italy , 1997.
26. B . H a n s e n a n d N . N i k i t c h e n k o . Abstract transport systems: An initial study. Research
Report IT-Dok: 1998-006, Technical University of Denmark, 1998.
27. B . H a n s e n a n d N . N i k i t c h e n k o . Abstract Transport Systems: Compositions and Descrip-
tion Languages. In Proc. of the First Int. Conf. on Programming UkrProg98, Ukraine, Kiev, 1998.
28. D . H a r e l . Statecharts: A visual formalism for complex systems. Science of Computer Program-
ming, 8(3):231–274, 1987.
29. D . H a r e l a n d R . M a r e l l y . Come, Let’s Play – Scenario-Based Programming Using LSCs
and the Play-Engine. Springer-Verlag, 2003.
30. C . H o a r e . Communicating Sequential Processes. C.A.R. Hoare Series in Computer Science.
Prentice-Hall International, 1985. Published electronically: http://www.usingcsp.com/-cspbook.pdf
(2004).
31. C . H o a r e a n d D . A l l i s o n . Incomputability. ACM Comput. Surv., 4(3):169–178, 1972.
32. I T U - T . CCITT Recommendation Z.120: Message Sequence Chart (MSC), 1992, 1996, 1999.
33. D . J a c k s o n . Software Abstractions: Logic, Language, and Analysis. The MIT Press, Cambridge,
Mass., USA, April 2006. ISBN 0-262-10114-9.
34. L . L a m p o r t . Specifying Systems. Addison–Wesley, Boston, Mass., USA, 2002.
35. J . M c C a r t h y . Towards a Mathematical Science of Computation. In C. Popplewell, editor, IFIP
World Congress Proceedings, pages 21–28, 1962.
36. J. M . E . M c T a g g a r t . The Unreality of Time. Mind, 18(68):457–84, October 1908. New Series.
ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2011, ¹ 2 119
37. D . H . M e l l o r a n d A . O l i v e r . Properties. Oxford Readings in Philosophy. Oxford Univ
Press, May 1997. ISBN: 0198751761, 320 pages.
38. J . M e s e g u e r . Software Specifcation and Verification in Rewriting Logic. NATO Advanced
Study Institute, 2003.
39. N . N i k i t c h e n k o . Towards foundations of the general theory of transport domains. Research
Report 88, UNU/IIST, 1996.
40. N . N i k i t c h e n k o . Construction of abstract transport models oriented on composition program-
ming systems. Problems of Programming (In Russian), (2), 1997.
41. R . L . P o i d e v i n a n d M . M a c B e a t h , editors. The Philosophy of Time. Oxford University
Press, 1993.
42. A . P r i o r . Changes in Events and Changes in Things. Oxford University Press, 1993.
43. A . N . P r i o r . Logic and the Basis of Ethics. Clarendon Press, Oxford, UK, 1949.
44. A . N . P r i o r . Time and Modality. Oxford University Press, Oxford, UK, 1957.
45. A . N . P r i o r . Past, Present and Future. Clarendon Press, Oxford, UK, 1967.
46. A . N . P r i o r . Papers on Time and Tense. Clarendon Press, Oxford, UK, 1968.
47. W . R e i s i g . Petrinetze: Modellierungstechnik, Analysemethoden, Fallstudien. Institut f��ur
Informatik, Humboldt Universit��at zu Berlin, Unter den Linden 6, 10099 Berlin, Germany, 1 Oktober
2009. 276 pages. http://www2.informatik.hu-berlin.de/top/pnene buch/pnene buch.pdf.
48. G . R o c h e l l e . Behind time: The incoherence of time and McTaggart’s atemporal replacement.
Avebury series in philosophy. Ashgate, Brookfield, Vt., USA, 1998. vii + 221 pages.
49. B . R u s s e l l . The Philosophy of Logical Atomism. The Monist: An International Quarterly Journal
of General Philosophical Inquiry, xxxviii–xxxix:495–527, 32–63, 190–222, 345–380, 1918–1919.
50. J . F . S o w a . Knowledge Representation: Logical, Philosophical, and Computational Foundations.
Pws Pub Co, August 17, 1999. ISBN: 0534949657, 512 pages.
51. S . S t a a b a n d R . S t u b e r , editors. Handbook on Ontologies. International Handbooks on In-
formation Systems. Springer, Heidelberg, 2004.
52. J . v a n B e n t h e m . The Logic of Time, volume 156 of Synthese Library: Studies in Epistemol-
ogy, Logic, Methhodology, and Philosophy of Science (Editor: Jaakko Hintika). Kluwer Academic
Publishers, P.O.Box 17, NL 3300 AA Dordrecht, The Netherlands, second edition, 1983, 1991.
53. J . C . P . W o o d c o c k a n d J . D a v i e s . Using Z: Specification, Proof and Refinement. Prentice
Hall International Series in Computer Science, 1996.
54. C . C . Z h o u a n d M . R . H a n s e n . Duration Calculus: A Formal Approach to Real–time Sys-
tems. Monographs in Theoretical Computer Science. An EATCS Series. Springer–Verlag, 2004.
Ïîñòóïèëà 09.04.2010
120 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2011, ¹ 2
|