Hi Ed,
Just to say before I get to the discussion/questions
- I really liked your seminar. I especially liked your listing and analysis of
the functionality required for information models. We need more of this.
I think we were asked to continue our
discussion on this forum.
The point I started to raise
(and we started to discuss) in the forum was where the ‘real world’,
things or entities entered into the equation.
You mentioned Peter Chen and the distinction
he made between modelling things and the information about things – which
(as you said) shows this has been a concern for some
time.
What I felt was that your exposition of
information modelling (as is often the case) seemed to me to dance between
these two interpretations. Let me try and justify my claim.
For example:
EB>”Entity type classifies things
in the universe
Value type classifies information about
things
Data type represents Value types”
Line one seems to be discussing the
domain, whereas line two deals with information.
It is clear that there is a strong strand
through the development of information modelling of the need to model the
domain (the universe of discourse).
There is also a clear distinction between
a logical system model and physical system model, where the logical model does
not concern it self with the particular physical platform.
I think OMG’s
MDA structure is a useful framework to illustrate this point. One can see the
CIM as the model of the domain, the PIM as the logical model and the PSM as the
physical model. I have a diagram of this if anyone wants.
What seems to me to have happened back in
the 70’s and 80’s (and I am publishing a paper on this) is that the
business domain model and the logical system model have been (deliberately?)
confused. One reason, I think, is that there is an assumption that the same
model can be seamlessly interpreted in two ways. Another reason is the lack of
a framework for explaining/understanding the structure of the domain (and so
its model) and how this is translated into information.
How does the confusion arise? Firstly, I
think there is a problem with the terms. One would expect an ‘information
model’ to be a model (in the engineering sense) of the information –
rather than a model of the domain referred to by the information.
EB>“Information models
universe is things used by the business processes
classification/axioms are as used by the business
business rules, not accepted scientific truth
distinguish conceptual schema
=
invariants, quantified assertions
from the information base
=
current assertions about individual things “
Similarly, one would expect that ‘conceptual
schema’ and ‘information base’ to be at one remove from the
domain/real world – in the information world.
There also seems to a divide between
academics and practitioners, where the academics focus on the information model
and its structure, whereas practitioners worry more about how the ‘real
world’ is reflected in the domain.
What seems to me to be opportunity open to
ontology is to build on the requirement these practitioners are raising –
for a model of the domain.
A modern definition of ontology
("the set of things whose existence is
acknowledged by a particular theory or system of thought." (E. J. Lowe, The Oxford Companion to
Philosophy) ) seems suited – and one can go back to 1967 (Mealy) to find
this being recognised.
However, the computer science favoured definition
of ontology (Gruber’s “specification of a conceptualization”)
seems more to focus on information/concepts than the domain.
From what you said in the seminar, it
would seem you look favourably on ‘real world’ models.
However, I think the information modelling
community is so tied into looking at information, it often misses the domain.
I would like to, if I may, take an example
from your slides.
You talked about identifiers – and gave
a v. useful overview on how they are used in information models/systems.
However, it seems to me that not enough
attention is being paid to the ‘real world’ here.
Before, I explain, let me make clear that
I am not talking here about the (internal) identifiers that systems need to
maintain to keep track of items. These seem to me to sit within the information
world, rather than the universe of discourse.
EB>“Identifiers/keys distinguish
instances of an entity class
simple key: a property whose inverse is “functional”
for each v in the range, there exists at most 1 d in the domain
such that P(d,v)
almost always an attribute (value type)”
What I understood you to be saying is that
things should have identifiers.
While this is a practical issue for the
information system, it is not true that these exist in the real world.
Something have identifiers – some don’t.
Some have multiple identifiers. Etc.
What is more interesting to me is what
kind of thing names/identifiers are. I do not see much investigation of this in
the information modelling community.
So, the thrust of my argument goes like
this. If we are modelling the domain, we need to look at the domain.
Is it true that every object in every
domain has an identifier? I think not, so we need to accommodate objects
without identifiers.
Do identifiers exist in the domain? I
think so.
If they do, do we know what they are? I
think it is not clear that we do.
I suspect this is enough to get our
discussion going.
Regards,
Chris