We have 2 representations of the semantic
core – one in UML as a MOF meta model and
one in a RDF/OWL Ontology. These represent
an attempt to bring together core UML
concepts, RDF-S, OWL, EDOC, BPMN into a
general and extensible framework.
The meta model has been developed in;
Magicdraw
(Free reader available)
Magicdraw 10.5
Semantic
Core UML Model (2/3/06)
The meta model of interest has;
SC – Semantic core
Example – instance models
SC/Individuals – model of individuals
SC/Naming – names and name space
SC/Types/Process – process modeling
(Intended to support various views of BPDM)
SC/Types/Assertions – assertions about types
and roles
Sc/Types/Sets – well, sets
SC/Types/InformationModelingTypes –
Information modeling (not current with
ontology)
SC/Types/ValueSpecification – Ways to
compute or specify values
The RDF/OWL ontology is on;
here - it has
been read by SWOOP & Protégé and
generated from the UML model.
We are currently working on an architectural
overview which will certainly help anyone
looking at this cold.
A very central concept is that of a
“relation” – a behavior or structure for a
set of individuals. Relations are our
supertype for everything from processes to
associations. The elements of relations are
roles, where individuals of given types play
roles in these relations. Relations may
assert capabilities or responsibilities on
the individuals filling the roles, and thus
on the type of those roles. Another
important and related concept is
“Syntheses”, where relations may be merged
as patterns – please see “Working with
objects” (http://heim.ifi.uio.no/~trygver/1996/book/book11d.pdf)
for an excellent explanation of syntheses.
Another key concept is “context”, where all
statements about types and individuals must
exist within a context and there may be
multiple context that make such statements
about the same thing. Typical object
systems combine the context with the type
(which is OK, but not universal) – more
domain focused languages have a more
developed sense of context.
Relations with roles, types, context and
syntheses are the cornerstones of this
approach.
We have focused quite a bit on “process” and
feel we have integrated most of the
semantics behind collaboration based,
activity based, flow based and interface
based approaches to process. This may not
“jump out” at you as the way these work
together needs some explanation.
We post these models with the hope of
finding mutual interest to develop a
concrete “semantic core” and hope that by
butting something on the table we can get
that going. This is an early state, we are
starting to implement it for experimentation
with mapping to/from other languages. Is
the intent to this point has been to find
the framework of concepts we have not gotten
to any “formal grounding” of the core, but
would like to do so in the future.