Higher-Order and Symbolic Computation, a Springer Journal
July 13, 2009
Invited paper for special, fall 2009, issue of Journal of Higher-Order and Symbolic Computation
(Springer, eds. Olivier Danvy and Carolyn L. Talcott),
dedicated to the memory of Peter Landin 1930 - June 3, 2009.
In doing so the domain engineer thus has to have a firm grasp on the a robust understanding and practice of the very many issues of description: what can be described, identifying what is to be described, how to describe, description principles, description techniques, description tools and laws of description. This paper will outline the issues in the slanted type font.
One issue, `mereology', was studied, in a
wider setting, by the Polish philosopher and mathematician
Stanisaw Leshniewski, in the 1920s
[55,66]. We shall relate our
work to that of Leshniewski and those of his followers who
have suggested axiomatisations of various forms of
mereology
[53,23,52,24,22].
Similar issues, it appears, were studied, also in a wider setting, by Bertrand Russel in his lectures in 1918 and published in the Monist Journal, vols. XXVIII-XXIX in 1918-1919 [63]. In this essay we shall sketch how we see the rôle of ``applied logical atomism'' in domain engineering.
Keywords: Domain Engineeering - Domain Science - Logical Atomism - Mereology
This paper may seem to ``waver'' between computing science and philosophy. In this introduction we will assume that the reader has read the abstract and then mention two strands of philosophical discourse cum mathematical logic around which this paper revolves.
We focus on two strands of discourse: mereology and Bertrand Russell's
Philosophy of Logical Atomism.
From ancient time and, perhaps, culminating in the 20th Century,
thinkers have speculated on the logical structure of the world.
Aristotle [3, Metaphysics, Book IV, Chapter 2] was perhaps the
first person to consider the part-whole relationship. But it was not
until the 1920s that the Polish mathematician Stanisaw
Lesniewski gave a formal treatment [54].
Woodger [77] and Tarski
[68]
made use of a specific
adaptation of Lesniewski's work as a basis for a formal theory of physical
things and their parts. The term 'calculus of individuals' was introduced by
Leonard and Goodman [53]
in their presentation of a system very similar
to Tarski's adaptation of Lesniewski's mereology. Slightly earlier
than Lesniewski's development of his mereology, Whitehead
[74] and
[73, The Concept of Nature] was
developing a theory of extensive abstraction
This system,
according to Russell [60], was to have been the fourth
volume of their
Principia Mathematica, the never-published volume on geometry. Both
Lesniewski [54] and Tarski
[69, Foundations of the geometry of solids] have recognized the
similarities
between Whitehead's early work and Lesniewski's Mereology.
Nelson Goodman mediated the Calculus of Individuals
in [31, The Structure of Appearance].
Goodman had earlier used the Calculus of Individuals in his
Ph.D. dissertation
thesis [32, A Study of Qualities, 1940]. As in
his joint paper with Leonard, he used the calculus as an addition to
set theory to solve
a problem known as the `difficulty of imperfect community' (Rudolf
Carnap’s [21, Der Logische Aufbau der Welt]).
The field of mereology is still active, now part, mostly of computer
science. Active researchers are Barry Smith [65, Mereotopology: A
Theory of Parts and Boundaries], Achille C. Varzi
[72, Spatial Reasoning in a Holey World] and [71, On the
Boundary between Mereology and Topology], and others.
Along a different line Bertrand Russell [63, Philosophy of Logical Atomism] (and [64, Vol. 8, Part III, Chap. 17, pp 157-244]) expressed a metaphysics which we summarise as:
the world consists of a plurality of independently existing things exhibiting qualities and standing in relations; all truths are ultimately dependent upon a layer of facts and these facts consist of either a simple particular exhibiting a quality, or multiple simple particulars standing in a relation.
Russell also expressed a methodology for doing
philosophy::
The methodology consists of a two phase process.
The first phase is dubbed the ``analytic'' phase (although it should be noted that sometimes Russell used the phrase ``analysis'' for the whole procedure). One begins with a certain theory, doctrine or collection of beliefs which is taken to be more or less correct, but is taken to be in certain regards vague, imprecise, disunified, overly complex or in some other way confused or puzzling. The aim in the first phase is to work backwards from these beliefs, taken as a kind of "data", to a certain minimal stock of undefined concepts and general principles which might be thought to underlie the original body of knowledge.
The second phase, which Russell described as the ``constructive'' or ``synthetic'' phase, consists in rebuilding or reconstructing the original body of knowledge in terms of the results of the first phase. More specifically, in the synthetic phase, one defines those elements of the original conceptual framework and vocabulary of the discipline in terms of the ``minimum vocabulary'' identified in the first phrase, and derives or deduces the main tenets of the original theory from the basic principles or general truths one arrives at after analysis.
Together the two, the metaphysics and the methodology expresses an essence of Russell's `Philosophy of Logical Atomism'. We shall, in this paper, relate this philosophy to domain science.
We shall examine our model (Sect. 6.2) of mereology in the light of proposed axiom systems for mereology Sects. 6.3-6.4, as well as with respect to Russell's Philosophy of Logical Atomism, Sect. 7. In addition to discussing Russell's ideas in Sect. 7, we shall repeatedly be referring to those ideas, especially in Sect. 5.
The present topic crystallized during the writing of [14].
During the writing of [5,6,7] I
treated the problem of ``what we can describe'' in a less than, to me,
fully satisfactory way. In now writing my possibly last book
[14], if ever accepted by the publisher, I had better
do a more thorough job of understanding the issues now dealt with in
this paper.
The background for our inquiry is that of the triptych dogma for
software engineering: ``software cannot be designed without a
robust understanding of the requirements''; and ``requirements cannot be prescribed without a robust understanding of
the domain.'' Software designs are
specified, requirements are prescribed and
domains are described. Michael Jackson
expresses this as follows: descriptions are indicative,
prescriptions are optative and designs are
imperative [39].
The emphasis in this paper is on descriptions. The issues are what can be described, identifying what is to be described, how to describe, description principles, description techniques, description tools and laws of description. Since, as we show elsewhere, [7,10,14], requirements prescriptions can be readily ``derived'' from domain descriptions, and designs developed through requirements refinement, our study of these issues ``carry over'' to prescriptions and designs.
In ideal software engineering, one that is hardly attainable, one would therefore proceed, linearly, from domain engineering via requirements engineering to software development. In actual practice, professional software development proceeds through iterations between these three phases, forward and backward. This has been well illustrated in Michael Jackson's Problem Frame approach [40].
Section 2 illustrates a domain description. It is that of simple (road, rail, shipping and/or air-lane) networks of hubs (road intersections, train stations, harbours, airport) and links (road segments, tracks between train stations, shipping lanes, air lanes). We illustrate only two facets, simple entities and operations, leaving out events and behaviours without loss of generality.
Section 3 sketches an answer to the question ``what are domains'' -- with the rest of the paper more-or-less completing that answer.
In Sect. 4 we briefly survey the phases, stages and steps of domain engineering, some administrative, some technical/clerical, some engineering and some clearly bordering between engineering and research. That section thus provides a capsule overview of `domain engineering'.
Section 5 then focuses on ``what can be described'' and ``how do we describe''. The section expresses a number of dogmas. These are referred back to Bertrand Russell's thoughts on ``description theory'' [61,62,75].
Section 6 outline one aspect of `descriptions': that of dealing with parts and wholes, including relations between parts and parts to the whole. This subject is called `mereology'. It first received its current forms of axiomatic treatment through the works of Stanislaw Lesniewski [55,66].
Section 7 reviews Sect. 5 in light of Bertrand Russell's Philosophy of Logical Atomism [63].
Finally Sect. 8 overviews a number of laws of description.
Section 9 concludes the paper.
See Sect. 2 of the landin.ps version of this document.
When, in this paper and elsewhere, we speak of domains, we speak primarily of man-made universes of discourse, interacting with the universe such as studied by physicists (including chemical scientists). We listed a few references to `domains' in the first sentence of the abstract. We list two more here, and, in parentheses we list some representative simple entities, operations and events: the consumer market (consumers, retailers, wholesalers, producers, distribution chain, goods, catalogues, etc.; inquire, order, accept, payment, reject, return; erroneous shipment, failure of delivery; failure of payment), and hospital health care (patients, medical staff, wards, beds, hospitalisation plans, patient medical records; anamnese, analysis, diagnostics, treatment; declared cured, declared dead).
Domain descriptions, such as we shall advocate them, emphasise the discrete logical structure, properties and operations of the domain. Usually the number of observed types of entities is large -- of the order of up to several 100s. This is in contrast to physics descriptions which appear to emphasise the the continuous behaviour of a few -- 5-10 types of -- state variables.
Thus, what appears to characterise domains, say in contrast to physics, is the immediate algebraic nature of the universe of phenomena and concepts of domains. So a first mathematical cum computing science characterisation of domains focuses on their being heterogeneous algebras: a finite set of indefinite sets of simple entities (particulars) of different types and a finite set of operations whose signatures range over entity types, including higher-order functions over these. Included in this first characterisation is that the simple entities are usually discrete and either atomic or composite and otherwise possess observable attributes.
This is in contrast to the entities and operations of physics: usually infinite, usually continuous, and seen (i.e., modelled) more as state variables satisfying differential and integral equations and possessing statistical and probabilistic properties and otherwise being representable in terms of real numbers of the types that can be derived from or are directly expressed in terms of length, mass, time, electric current, thermodynamic temperature, amount of substance and luminous intensity. Physics is the study of matter and its motion through space-time and all that derives from these, such as energy and force. More broadly, it is the general analysis of nature, conducted in order to understand how the world and universe behave.
In physics (as characterised above) the physicists,
in principle, do not include human actions and behaviours in
their study.
Domain scientists and domain engineers -- the borderline between when one is a domain scientists and one is a domain engineer is, at present, somewhat vague -- study the structures (entities) conceived and built by humans (the domain owners, managers, designers, domain enterprise workers, etc.), and the operations that are initially requested, or triggered, by humans (the domain users). More characterisations follow below.
The tools of domain scientists and engineers are those of careful, precise informal (i.e., narrative) natural language and likewise careful abstractions expressed in some formal specification languages emphasising the algebraic and logical nature of entities and their operations. That is, tools that originate with computer and computing scientists.
Why not use the same tools as physicists do? Well, they are simply not suited for the problems at hand. Firstly the states of physics typically vary continuously, whereas those of domains typically vary in discrete steps. Secondly the number of state variables of physics do usually not vary, whereas those of domain do -- whole structures ``collapse'' or ``expand'' (sometimes ``wholesale'', sometimes ``en detail''). Thirdly the models of physics, by comparison to those of domains, contain ``only a few types'' of oftentimes thousands of state variables -- almost all modelled as reals, or vectors, matrices, tensors, etc., of reals, whereas those of domains contain very many, quite different types -- sometimes atomic, sometimes composite, but rarely modelled (abstractly) in matrix form.
Models of physics, as already mentioned, express continuous phenomena. Models of domains, as also already mentioned, express logic properties of algebraic structures.
For those and several other reasons the tools of physicists are quite different from the tools of domain scientists and engineers.
In theoretical physics there is no real concern for computability. Mathematical models themselves provide the answers. For domain engineering there is a real concern for computability. The mathematical domain models often serve as a basis for requirements for software, that is, for computing. Hence it was natural that the tools of domain science and engineering originated with the formal specification languages that were and are used for specifying software.
There are several stages to this initial phase of software development. These stages are all carefully covered in [7,14]. Here we give but a condensed review. The purpose of bringing this material is to point out all those stages, sub-stages and steps in the development of a domain description in which descriptional issues occur. That is, all those myriad of situations throughout the development process in which the software (cum domain) engineer is expected to have a robust understanding and practice of the very many issues of description: what can be described, identifying what is to be described, how to describe, description principles, description techniques, description tools and laws of description.
Domain analysis is a first serious stage of domain model development
in which basic issues such as studied by Bertrand Russell are
manifested. We shall treat these throughout and summarise them in
Sect. .
There are several sub-stages of most of the above stages. Two of immediate interest to our study are `Domain Acquisition' and `Domain Description':
[7, Part IV, Chaps. 8-16, pp 193-362] and the book [13] give many examples of domain specifications. So does [14, draft textbook, submitted for evaluation].
In this section we shall cover the following description issues: what can be described, how to describe, description principles, description techniques and description tools.
How do we get started on a description and how do we proceed ?
We refer to Sect. LogicalAtomism whose indented paragraphs on `metaphysics' and `methodology' strongly hints at our approach.
The `metaphysics' paragraph suggests that one starts with atomic entities. We mostly choose to start with atomic simple entities, but sometimes we start by first identifying atomic, or, as we shall call them, primitive operations. The `methodology' paragraph tells us to first analyse these atomic entities and then their compositions.
The above approach shall determine our approach to domain description. An emphasis will then be to identify and describe the plurality of independently existing things, their qualities and how they relate to other things.
In Sect. 2 we only recorded a result of a synthetic phase.
The domain engineering stages of `Domain Acquisition', `Business Process Sketching', and `Domain Analysis' exemplify analytic stages and the domain engineering stages of `Terminoligisation' and `Domain Description' exemplify synthetic stages.
In different contexts, that is, for different aspects of a domain to
be described, we may use one or another such formal notation, i.e.,
formal specification language, even plain mathematics In this paper we shall be using the
RAISE specification language RSL [30,5,6,7,29]. For
large fragments domains we could as well use
Alloy [38],
B [1,20],
Event B [2],
VDM-SL [17,18,28,27]] or
Z [76,34].
For other domain fragments we may additionally need to deploy
Duration Calculus (DC) [78,79],
Message Sequence Charts (MSC) [35,36,37],
Petri Nets [57,58,59],
Statecharts [33] and/or
Temporal Logic of Actions (TLA+) [41,56].
[16] covers several of these and some other formal specification languages.
Based on the `resolution' of Sect.
we can now make precise what we mean syntactically by a
`description'.
We illustrated such a sequence in Sect. 2. The narrative is a precise natural language presentation of facts about a domain.
Semantically a formal, mathematical description
Pragmatically an informal, narrative description
The intended relationship between informal text parts and the mathematical formula parts must therefore be kept as ``obvious'' as possible so that we can have a high trust in the mathematical model of the formalisation.
Instead of using the term `particulars' we shall, in the following, use the term `entities'. So we describe entities, that is: phenomena and concepts.
We consider domains, that is, predominantly human-made universes of discourse, to exemplify a wide variety of independent and time/space phenomena as well as what Russell calls universals (we shall soon characterise what is meant by `universals'). For us, a domain phenomenon exists spatially if it can, at any one time of its existence, be located in space. For us, a domain phenomenon exists temporally if it can be ``pinpointed'' in time (and hence space). No two distinct, independent and time/space phenomena can occupy the same spatial location at any one time. Let us call the independent and time/space phenomena by the name `time/space facts'.
In addition to time/space facts there are the (non-time/space fact) domain universals.
And there are concepts and these are defined in terms of time/space and universal facts and other concepts. Concepts are abstractions and, we decide, concepts may have time/space relations. Such concepts would typically be simple, rather immediate abstractions of time/space and/or universal facts.
These phenomena (facts) and concepts may, for practical, i.e., ease of mastering descriptional complexity, be considered entities of either of four kinds: simple entities, operations (over entities), events (involving change of some entity values), and behaviours -- the latter as sets of sequences of possibly coordinated (synchronised, timed) operations and events.
We shall just consider `simple entities'. We use the name `simple entities' in contrast to `entities' which we see as comprising all simple entities, functions, events and behaviours. ``Interesting'' functions and normal events involve all forms of entities.
Simple entities are, as mentioned: ``separately existing things''. These ``things'' exhibit qualities, i.e., possess values, or more precisely, have a number of one or more attributes (of type and value) and zero, one or more sub-entities, the totality of which can be said to exhibit a simple entity value. These ``things'' can also relate to other things such as being part of another simple entity or being ``together'' with other similar things, i.e., standing in some relation to other ``things''.
A simple entity is either continuous or is discrete, and then it is either atomic or composite.
A simple entity is said to be continuous if it can be arbitrarily decomposed into smaller parts each of which still remain simple continuous entities of the same simple entity kind. In this paper we shall not further consider continuous entities.
A simple entity is said to be discrete
if its immediate
structure is not continuous.A simple discrete entity may, however, contain continuous
sub-entities.
By an attribute we mean a property of an entity.
Typically we express attributes by a pair of
a type designator: the attribute is of type , and
a value: the attribute has value
(of type
,
i.e.,
).
A simple entity may have many properties.
When, above, we spoke of `universals', we now speak of attributes, that is, Russell's notion of `universal' is equated with our use of `attribute'.
The location point space, , the empty location,
, and the operations
and
are
defined using standard
mathematical topology.
The axiom expresses that two observable, i.e., phenomenological
(simple) entities that both enjoy the
has_ property, have distinct,
non-overlapping locations.
We consider to be an
attribute of those phenomena (and concepts) which satisfy
the has_
property.
Universals, that is, attributes of entities (that may enjoy the
has_ property), do not satisfy
the has_
property.
Examples of observable phenomena, that do not enjoy the
has_ property,
are: voltage, a person's age, the colour red, etc.
The only thing characterising an atomic entity are, to us, its attributes.
Examples: Possible attributes of link simple entities, of the
example of Sect.2, could be
(i) length;
(ii) whether of modality `road', `rail track', `sea lane', `air
lane', or other;
(iii) if of modality `road', then whether a `dirt road', `bituminous',
`asphalt', `concrete', or other;
(iv) state-of-repair;
(v) exact curve properties;
(vi) freeway or toll road;
(vii) public or private;
(viii) on solid ground, through a tunnel or over a bridge;
etcetera.
Each of these and other kinds of simple entity attributes
(i.e., universals)
are of conceptual nature,
they have no separate existence,
but they can be measured (sensed, etc.),
and one cannot ``remove'' a single one of them without the
simple entity ``loosing'' its status as it has been described.
We do not rule out that
there might be simple entities, of type ,
which may possess a proper subset of the attributes
of simple entities of another type,
.
We view a composite entity as fully characterised by (i) its attributes, (ii) its sub-entities, and (iii) their mereology (See Sect. 6 on `Mereology'). That is: We view sub-entities (say the links and hubs of the example in Sect. 2) independent of how they are put together and independent of the attributes of the simple entity of which they are a part (that is, of the net of the example in Sect. 2). And we view a composite simple entity's attributes independent of its sub-entities and independent of the mereology of these sub-entities.
Examples of attributes of discrete, composite simple entities are:
(a) Transport Nets:
(a1) owner of net (name etc. of `regional', `state',
`provincial', `city', etc. `authority'),
(a2) net modality (`freeway', `toll road', `canal', `river', ...),
(a3) geographic area of the net (within continent, region,
country, province, ...), etcetera.
(b) Container Line:
(b1) administrative information (owner name, addresses, etc.),
(b2) line modalities (one or more of `coastal', `internal
waterway', ocean', or other kinds of sea lanes),
(b3) possible container constraints or specialties (one or more
of `20 feet', `40 feet', `non-explosive', `explosive',
`flammable', `inflammable', `reefer', etc.), etcetera.
(c) Pipeline System:
(c1) owner (administrative information: name, addresses, etc.),
(c2) gas and/or oil pipeline(s),
(c3) geographic area of the net (within continent, region,
country, province, ...), etcetera.
Examples of sub-entities of discrete, composite simple entities are:
(d) Railway Systems:
(d1) net railway (itself a composite transport net, including
signals, etc.),
(d2) trains (themselves composite: locos, passenger cars,
freight cars, etc.),
(d3) timetables,
(d4) rostering tables, etcetera.
(e) Financial Service Industry:
(e1) financial instruments (coins, notes, stocks, bonds, deeds, etc.),
(e2) banks, brokers, traders, commodities exchanges, portfolio
managers, insurance companies, etc.,
(e3) accounts (demand/deposit, mortgage, etc.),
(e4) regulatory bodies (in the US: Commodities Futures Trading
Commission (CFTC), Federal Deposit Insurance Corporation (FDIC),
Federal Reserve Board, Office of the Comptroller of the Currency
(OCC), Security & Exchange Commission (SEC)), etcetera.
(f) Logistics:
(f1) freight,
(f2) senders and receivers,
(f3) logistics firms,
(f4) transport companies (trucking, freight train operators,
cargo airlines, line, tramp and bulk shipping companies),
(f5) transport timetables,
(f6) bill-of-lading, way-bill, etc., etcetera.
Many of the issues discussed here in connection with simple entities carry over to operations, events and behaviours. We shall however refrain from including such a special study into this paper. Instead we refer to [15, Eir & Bjørner] where we also examine composite operations, events and behaviours.
Almost all the statements of Sect. 5.3.4 are not expressed in a discursive way of reasoning such as one would express it in a philosophical treatise. Perhaps they ought to be so expressed. For each of these many statements we ought -- had this been a philosophical treatise supposedly complementing or in contrast to Russell's thoughtful and reasoned arguments [61,62,63,64] -- to have discussed alternative ways of looking at simple entities, of their modelling, of relations between narrative English and mathematical formalisations. We, regretfully, dispense with this philosophising, in this paper. Instead you may read Sect. 5.3.4 as the way in which a computing scientist, on the background of 50 years of computer science, interprets Russell's ideas -- albeit in a ``slightly'' (?) narrower context !
``Mereology (from the Greek
), `part')
is the theory of part-hood relations:
of the relations of part to whole
and the relations of part to part within a
whole.
It is not until Lesniewski's Foundations of a
General Theory of Manifolds (1916, in Polish)
that a pure theory of part-relations was given an exact
formulation.
Because Lesniewski's work [55,66] was
largely inaccessible to non-readers of Polish,
it is only with the publication of Leonard and Goodman's The
Calculus of Individuals ([53, Goodman 1940])
that mereology has become a chapter of central interest for
modern ontologists and metaphysicians.''
Our interest in mereology
was first ``awoken'' by presentations,
in the IFIP Working Group 2.3 in the 1980s and 1990s, by the late
Douglas Taylor
Ross.
We shall now present an example which is claimed to capture an essence of the kind of mereologies that are covered in [22].
The formulas of this example are presented in a neater form in the landin.pdf Internet version of this document.
The example is claimed to be generic. When shown as diagrams, the boxes-within-boxes and the ``fat'', black connectors that ``criss-cross'' boxes -- of Fig. 1 -- can be shown to ``mimic'' the structure of such infrastructure components.
Examples: air
traffic, a financial service industry, a pipeline system, a railway
system, etcetera.
Similarly the formula parts (for boxes and connectors) thus relate to
phenomena of such systems.
For air traffic some boxes are aircraft, others are
ground or terminal control towers, yet others are regional and
continental control centers, etc. Connectors of air traffic are the
radio-telephone paths that allow communication between air traffic
equipment and staff. For a railway system some boxes are
train stations, others are railway tracks (lines) between stations
-- with stations and lines consisting of embedded boxes in the form
of rail units: linear, switches, crossovers, etc. Connectors compose
boxes into meaningful track layouts and signalling paths.
We speak of systems, s:S, as assemblies (below referred to as a:A). From an assembly we can immediately observe, obs_Ps, a set of particulars. Particulars are either assemblies or units. For the time being we do not further define what units are.
Particulars observed from a assembly are said to be immediately embedded (or within) in that assembly; and two or more particulars observed from an assembly are said to be immediately adjacent to one another.
Figure 1 illustrates a hypothetical
composite entity.
Embeddedness and adjacency generalises to transitive relations.
All particulars observable from a system are distinct.
Given obs_Ps we can define a function, xtr_Ps, which applies to an assembly, a, and which extracts all particulars properly embedded in a. The functions obs_Ps and xtr_Ps define the meaning of proper embeddedness.
Particulars have unique identifiers, PI.
We shall now add to this a rather general notion of particulars being otherwise related. That notion is one of connectors, k:K.
Connectors may, and usually do provide for connections -- between particulars. A connector is an ability be be connected. A connection is the actual fulfillment of that ability. Connections are relations between two particulars. Connections ``cut across'' the ``classical'' particulars being part of the (or a) whole and particulars being related by embeddedness or adjacency.
Figure 2 ``repeats'' Fig. 1 but ``adds'' connectors. The idea is that connectors allow a assembly to be connected to any embedded particular, and allow any two (transitively) adjacent particulars to be connected.
In Fig. 2 assembly A is connected, by K2, (without, as we shall later see, interfering with assembly B1), to part C11; the ``outermost'' assembly is connected, by K1 to B1, etcetera.
From a system, i.e., an assembly, we can observe, obs_Ks, all its connectors. From a connector we can observe, obs_KI, its unique connector identifier, KI, and the set of two (like an unordered pair of) identifiers, obs_PIp, of the particulars that the connector connects, All particular identifiers of system connectors identify particulars of the system. All observable connector identifiers of particulars identify connectors of the system.
This model allows for a rather ``free-wheeling'' notion of connectors one that allows internal connectors to ``cut across'' (even transitively) embedded and (transitively) adjacent particulars.
We may need to define an auxiliary function.
xtrKIs(p) applies to a system
and yields all its connector identifiers.
There is an aspect of assemblies and units that we have not mentioned. You may, ``mereologically speaking'', think of that aspect as the ``white space'' within the borders of a unit box, and within the borders of an assembly box exclusive of that assembly box's embedded assemblies and units. Let us associate a notion of state, i.e., a state, that is, set of static and dynamic attributes of assemblies and units, with that ``white space'' !
In axiomatic mereology there is a notion of overlap. Overlap, to us, has to do with two ``white spaces'' of distinct particulars. Connectors between such particulars can then be interpreted as also providing for overlaps.
The above model is now claimed to be a model of axiom systems proposed in the literature [22].
This ends our model of a concept of mereology. The particulars are those of assemblies and units. The relations between particulars and the whole are, on one hand, those of embeddedness and adjacency, and on the other hand, those expressed by connectors: relations between arbitrary particulars.
Typically part/whole relations for mereologies in [22] are:
We refer to [22] for axioms over these operators.
We now give but one of many possible interpretations of the
above part/whole relations.
The interpretation is with respect to the model given in
Sect. 6.2.
We apologize for the ``double'' use of the term `part':
when we use the slanted sans serif font `part'
we refer to a p:P, and
when we use the teletype font `part' we me the
relationship designated by or
.
The mereology operator
is taken as a primitive.
The other mereology operators,
,
and
are defined in terms of
.
A part is a part of itself; attributes of a part are parts of that part.
![]()
Parts of an assembly are proper parts of that assembly. Any proper subset of attributes of a part are proper parts of that part.
Two parts that are connected overlap. If two or more attributes of a part are not (mutually) independent, that is, these dependent attribute values stand in some relation to one another, then these attributes overlap.
If two or more parts are contained in some assembly,
, then these contained parts underlap with
.
First we remind the reader that we have given but one of many possible interpretations of the part/whole relations.
We could have given other interpretations; for example: (i) we could have omitted any reference to part attributes; (ii) we could have restricted overlap to relate to only specifically characterised connectors; (iii) or both (i-ii).
The scope of our discussion will now be enlarged to cover other kinds of mereologies.
We have partially covered the mereological system of [22, Casati & Varzi, 1999]. There are other mereological systems.
In [23, Bowman L. Clarke, 1981] (A
Calculus of Individuals Based on `Connection') a mereology
operator, , for `connected'
, is the primitive in
terms of which the above operators (
and
) can be defined. The intuition
behind the
onnected operator, however, makes it of
less interest to us: that intuition implies a notion of
points which we do not wish to bring into our models of
man-made infrastructure components. Bowman L. Clarke's system
allows definition of external and internal, as well as
tangential connectedness.
[24, Bowman L. Clarke, 1985]
(Individuals and Points) further elaborates on this,
for our purpose, ``uninteresting'' concept of points.
In [72, Achille C. Varzi, 1993] (Spatial
Reasoning in a Holey World), in [71, Achille C. Varzi, 1994], (On
the Boundary between Mereology and Topology) and in [65, Barry
Smith, 1996] (Mereo-topology: A Theory of
Parts and Boundaries), extensions to the operators covered
above (i.e., (
and
) are applied to cover topological spaces. It
would be interesting to study these papers further in order to
determine their relevance to the modelling of the man-made
infrastructure components in which we are interested.
In closing this section on `mereology' we claim
(i) that our model of mereology is in line with main-stream axiom
systems for the kind of mereologies that Stanislaw
Lesniewski studied,
(ii) that that model covers of a large class infrastructure
components which we have so far modelled, and
(iii) that, apparently, we do not need a more sophisticated
concept of mereology than covered by [22].
Russell described his philosophy, which he referred to as `Logical Atomism', as based on both a metaphysical view and a way (a methodology) of doing philosophy.
We refer to the indented `metaphysics' and the `methodology'
paragraphs of Sect. 1.1.2
(Pages -
) for
their characterisation.
The reason we are interested in Russell's `Logical Atomism' is that its metaphysical view and its methodology -- although meant for philosophical inquiry -- very much resembles our view of the metaphysics of domains and the method by which domain analysts analyse.
We refer to [64, Vol. 8, Part III, Chap. 17, pp 157-244, same as [63]]. Russell's writings on `Logical Atomism' contains several sub-topics. We shall next examine some of these.
The analysis part of the methodology, Russell claimed, would eventually result in a minimal language containing only words for simple particulars and concepts, their simple properties, relations amongst these and logical constants -- a language which could adequately capture all truths; that is, other particulars and concepts can be defined and the most general and basic principles can be derived. In the minimal language the simplest of complete sentences, containing just a single predicate or verb representing a quality (i.e., an attribute) or a relation over simple entities, would be what Russell called atomic propositions. The truth of an atomic proposition then depends on a single atomic fact. Molecular propositions are then formed by combining atomic propositions using the logical connectives. Existential or general propositions are formed by replacing proper constituents of simpler propositions by variables and prefixing a universal or an existential quantifiers. Hence atomic facts are at the core of Russell's metaphysics.
Instead of first using only informal language to narratively describe domain facts we advocate, motivated by Russell's Logical Atomism, both using precise formal language and to couple statements in that formal language to informal narratives -- each in their way describing the domain. In our case we use a partly algebraic, that is a logical language over sorts, partly a model-oriented language over mathematical structures such as sets, Cartesians, lists, maps (i.e., finite definition set functions) and functions.
Russell opposed the ``doctrine of internal relations'' (every relation
is grounded in the natures of the related terms) and instead expressed
[62, Page 221] ``it is a common opinion ... that
all propositions ultimately consist of subject and predicate''. An
interpretation of this is: ``Given, say, the proposition
, where
is some relation, this monadistic view will analyse
this into two propositions, which we may call
and
, which give to
and
respectively, adjectives
supposed to be together equivalent to
.'' This monadistic view is
analysed in [26, J.G. Nilsson: On Reducing Relationships to Property
Ascriptions] where it is ``argued that
relationships may preferably be represented formally as property
ascriptions.''
In Sect. 5.3.4 the monadistic view was adopted:
With atomic and composite simple entities, and
, we associated
attributes, including the mereological ones of composite attributes.
Let two such simple entities,
and
, be connected by
``possessing'' an identifier,
of
, and
``possessing'' an
identifier,
of
, as in the example of
Sect. 2. The subjects are
and
, and the constants
of
and
are
, respectively
. Thus the
mereological view supports the monadistic view when expressing
properties of composite entities. (Russell uses the term
`complex' where we use the term `composite'.)
There are other facets to Russell's work on Logical Atomism. It seems, however, to this author, that the issues we have covered in this section and which have otherwise been covered in previous and the next section suffice for now.
Our preliminary conclusions are twofold: (i) whereas mereology has very clear and focused ``uses'' in domain science, (ii) the ``uses'' of Logical Atomism is of a more meta-conceptual nature, that is, as brought out in Sect. 1.1.2's two (indented) paragraphs on metaphysics and methodology.
When comparing, for example, two simple entities one is comparing not only their attributes but also, when the entities are composite, their sub-entities. Concerning unique identifiers of simple entities we have this to say: We can decide to either include unique identifiers as an entity attribute, or we can decide that such identifiers form a third kind of observable property of a simple entity the two others being (``other'') attributes -- as we see fit to define and the possible sub-entities of composite entities.
Either way, we need to introduce a meta-linguistic
operator, say
The concept of an anonymous value is also meta-linguistic.
The anonymous value is basically
``the same, i.e., ``identical'' value
as is the simple entity value (from which, through
, it derives)
with the single exception that the simple entity value ``possesses''
the unique identifier of the observable entity value and
the anonymous entity value does not.
When we wish to distinguish one simple entity phenomenon from
another
then we say that the two (``the one and the other'') are
distinct.
To be distinct to us means that the two phenomena have distinct,
that is, unique identifiers.
Being simple entity phenomena, separately observable in the
domain, means that their spatial (positional) properties are
distinct.
That is their anonymous values are distinct.
Meta-linguistically, that is, going outside the RSL framework,
we can ``formalise'' this:
The above applies to any kind of observable simple entity phenomenon A. It does not necessarily apply to observable simple entity concepts. Example: Two uniquely identified timetables may have their anonymous values be the exact same value.
Simple entity phenomena, in our ontology, are closely tied to space -- and perhaps even space/time ``co-ordinates'' -- with no two simple entity phenomena sharing overlapping space. Concepts are, in our ontology, not so constrained, that is, we allow ``copies'' although uniquely named !
Sections 5-7 and the material of this section, Sect. 8.1 above, can be summarised by proposing a number of domain description laws. We shall just bring a few of these laws here. Enough, we hope, to spur further research into `laws of description'.
Any domain description must satisfy this law. The domain describer must, typically through axioms, secure that the domain description satisfy this law. Thus there is a proof obligation to be dispensed, namely that the unique identifier law holds of a domain description.
Any domain description must satisfy this law. The domain describer must, typically through axioms, secure that the domain description satisfy this law. Thus there is a proof obligation to be dispensed, namely that the unique phenomena law holds of a domain description.
We can express the Space/Time Phenomena Consistency Law meta-linguistically, yet in a proper mathematical manner:
We can assume that this law always holds for otherwise unique, and hence distinctly observable phenomena.
Specialisations of this law are, for example, that
if the movement is of two simple entities, like two trains, along a
single rail track and in the same direction,
then where train is in front of train
at time
,
train
cannot be in front of train
at time
(where
is some small time interval).
There are more laws. And there are most likely laws that have yet to be ``discovered'' ! Any set of laws must be proven consistent. And any domain description must be proven to adhere to these (and ``the'' other) laws.
We decided to bring this selection of laws because they are a part of the emerging `domain science'.
Laws 3 and 4 are also mentioned, in some other form, in [63].
We have examined some facets of domain science and related them to mereology and logical atomism. The surface has been just scraped. There is much more work to do. Both this paper and that of [15, Bjørner & Eir] thus broaches topics that are still very much also in the realm of philosophy -- as the many references of this paper to philosophical treatises bears witness to. In fact it may very well be time to recognise the need for much more research into a, or the philosophy of computer science. Topics of study within such a philosophy of computer science could include: what are the sources of computer science subject matter, is Church's Thesis adequate for the understanding of computing, cf. [25], what is the ontological status of domain entities, what is the rôle of hermeneutics in computer science, what kinds of inquiry play a rôle in computer science, what are the objectives of computer science inquiry, what gives computer science its hold on experience, what are the human traits behind computer science, what is computer science beauty, what is the relationship between the abstract world of computer science and the material universe and how do we know whether a computer science proof is correct? etcetera. Much, but not all, of this borders strongly to philosophy of mathematics.
This document was generated using the LaTeX2HTML translator Version 2002-2-1 (1.71)
Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Ross Moore,
Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html -split 0 -show_section_numbers -toc_depth 4 landin
The translation was initiated by Dines Bjorner on 2009-07-13