Representing UML in RDF

(New) A testbed converter that
supports automatic translation from UML/XMI to RDFS/RDF/XML is available.

The UML community developed a set of useful models for representing
static and dynamic components of software-intensive systems. UML is an industry standard and
serves as a modeling basis for emerging standards in other areas like
OIM, CWM etc. As of today there exist a variety of UML vocabularies
for describing object models, datatypes, database schemas,
transformations etc.

The goal of this work is to make UML "RDF-compatible". This allows
mixing and extending UML models and the language elements of UML
itself on the Web in an open manner. XMI, the current standard for
encoding UML in XML by OMG, does not offer this capability. It is
based upon a hard-wired DTD. For example, if a third party were to
refine the concept "Event" defined in UML statecharts into say
"ExternalEvent" and "InternalEvent", it would not be possible to
serialize the corresponding event instances in XMI.

The UML/RDF mapping suggested here is not a special encoding for
UML. The only thing I did was to create a URL for every identifiable
UML entity
(e.g. http://www.omg.org/uml/1.3/Foundation.Core.Class or
http://www.omg.org/uml/1.3/Foundation.Data_Types.Boolean.true). UML
association ends correspond to RDF properties, the rest is mechanical
conversion. I did this conversion for some important subsets of the
UML standard. The URLs for UML/RDF were chosen to include tag names
used in XMI as suffixes to facilitate conversion to/from XMI.

Representing the conceptual model of UML
in RDF is similar to defining an alternative RDF Schema
specification. UML bootstraps itself using the Foundation.Core package
in a way similar to RDFS. It contains a lot of details that go far
beyond the scope of RDFS.

New (May 11, 2000): a validator for RDF-encoded UML models is available! It is included in the API code distribution. The distribution also provides a UML-enhanced RDF model implementation that supports generalization and inverse relationships.

Example: validating the state machine schema using schemas defined in the core, datatypes and behavior packages:

Example

This example illustrates how the flexibility of RDF can be deployed
for mixing the UML state machine vocabulary with DublinCore. The
consistency of the model is preserved. The data instance depicted
below cannot be represented in XMI without violating the XMI DTD:

Note that RDF does not define custom graphical representations for
specific (meta)models. The above representation is a generic directed
labeled graph obtained from the corresponding set of four RDF
statements.