Hi Philippe,
Don't you think that your vision depends on the feeling you get and the
tools you are familiar with ?
of course, everybody has a different vision of the world, depending on
how their brain was learned. The principle concepts of human thinking
(not physically in brain but logically in mind) however, are the same.
In a pure object oriented model, dealing with hierarchies of object is
natural.
Object hierarchies in memory, correct. But the problem is that hierarchy
as most fundamental abstraction was not worked in to OOP. If the designers
of Java, for example, had implemented the principle of hierarchy into
their framework, the top-most class java.lang.Object would be a CONTAINER:
| java.lang.Object |--
|
^ 0..* |
| |
-
All inheriting types would be a hierarchy by default. Hundreds of
set/get/remove methods could be saved because they'd be inherited
from java.lang.Object. As another side-issue, the known problems
with container inheritance (http://www.norvig.com/java-iaq.html)
would disappear. See also http://www.josmc.org/bohl2003.pdf, section 5.1
(much of this paper is a bit out of date). Further reading includes
Gottfried Wilhelm Leibnitz's Monades, see:
http://www.e-text.org/text/Leibnitz%20Gottfried%20Wilhelm%20-%20La%
20Monadologie.txt
(in french, but it also exist in english on the web).
Up to now I thought OpenEHR's archetype model was developed independently
from OO mechanisms and that OO principles would only be used in the
reference model. Thomas' great design paper from 3 years ago made me
assume so because it described ontologies as hierarchies of layers,
so I thought OpenEHR would consider each model (archetype) to be a
hierarchy. Anyway, I do.
However when it comes to knowledge management, it is more natural to shift
to predicates, for example semantic networks.
Because it is usually not possible to define THE hierarchy : to keep on
with the brain, you may succed in building an anatomical hierarchy, but
when you will consider brain functions or brain diseases, you will have to
build new hierarchies. All this hierarchical trees are inter-connected, and
you have better replacing hierarchical traits with named traits (ie
predicates).
I agree with that view. An application system is a collection of trees,
each representing a special concept. Only the last sentence is unclear
to me; a whole model names its part models _and_ is hierarchical.
Christian
-
If you have any questions about using this list,
please send a message to d.lloyd at openehr.org