1 of 9

DDI-CDI Specification�Model-Driven Development

DDI Alliance

2 of 9

High-Level View

UML Model for

Describing Data

Field-Level Documentation

of the Model

Syntax Representations / Encodings

(XML Schema, Ontology, JSON-LD, …)

XML, RDF Instances for Describing Variables, Provenance, …

3 of 9

UML Class Model Interoperable Subset - UCMIS

  • UCMIS - a subset of UML class diagram items
    • (UML - a graphical language for visualizing and specifying object systems)
  • UCMIS is intended for modeling data descriptions
  • The used UML subset focuses on items that describe classes, their relationships to each other, and their attributes
  • Items have well-defined counterparts in visual UML class diagrams
  • Provides robust models
  • Interoperable

4 of 9

Interoperability of UCMIS

  • UCMIS items are implemented in all UML tools
  • UCMIS uses single inheritance only
  • Only binary associations are used, i.e. two classes are related
  • UCMIS items have counterparts in common object-oriented programming
  • Can be represented as Canonical XMI (OMG)
    • This enables the import of the model into common UML tools
      • For analyzing the model, relating it to other UML models, and generating syntax representations which are provided by these tools
    • “Canonical XMI: A specific constrained format of XMI that minimizes variability and provides predictable identification and ordering.”

5 of 9

UCMIS - List of Items

  • Structural Items
    • Model
    • Package
    • Class
    • Property
  • Relationships
    • Association
    • Generalization
    • Abstraction
      • «Derive», «Refine», «Trace»

  • Data Type Definition
    • DataType
    • Enumeration
    • PrimitiveType
    • EnumerationLiteral
    • LiteralInteger
    • LiteralString
    • LiteralUnlimitedNatural
  • Other
    • Comment

6 of 9

Tool UCMIS Model to Text (M2T)

  • UCMIS-M2T generated for a UML class model in a model-driven approach documentation and syntax representations (encodings)
  • The tool uses Eclipse Acceleo which is an implementation of the OMG standard MOF Model to Text Transformation Language (MOFM2T™). This code generation language uses a template based approach.

7 of 9

Generated Field-Level Documentation

8 of 9

9 of 9

Syntax Representations / Encodings

XML Schema

Ontology (Turtle)