Current Version of the Semantic Core

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” ( 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.