Univers@lis Model Repository Tool

 Main Page

Documentation
 Overview
 Model Interfaces
Reflective Interface
Tailored Interface
Generation rules
 Textual Notations
XMI and XMI+
JMI, PMI, CTF
 Repository Facility
Structure
Repository Session
Program Sample
 Tools
Universalis Viewer
Import/Export Facility
Conversion Tools
 Publications

Samples
 Metamodels
MOF
UML 1.3
 Models
Notation Guide
A Bank Model
 Model Instances
Bank instances

Projects
(restricted access)
 Groupe Méta
 Pilote

 

Universalis Textual Notations



Textual rendering of models are useful :

  • As an interchange format between tools
  • As a way for publishing all the details of a model (that cannot be rendered in a graphical notation ).

We provide different kind of textual representations. All of them have in common that they are generic (do not depend on the metamodel). Therefore they can be used for any metamodel registered in the repository tool.

XMI and XMI+

The XML Metadata Interchange (XMI) is the stream based interchange format that was standardized by the OMG.

This standard allows models to be exchanged as XML documents. The syntax depends on a DTD file that is generated from any MOF based metamodel, according to rules defined in the XMI specification.

Notice that regarding the UML 1.3 metamodel, two distinct versions have been issued by the OMG: a logical metamodel, and the so-called physical metamodel. The last one is a MOF compliant version derived from the original but with some transformations (association classes are transformed).

The UML metamodel registered in Universalis is the logical one. The XMI rendering program for UML performs itself all the needed conversions so as to be compliant with the standard UML DTD (which is based on the physical metamodel).

The XMI+ format is an improved XMI format where links reified by association class instances can be directly expressed (addition of XMI.reify and XMI.reifying elements). In additions some other changes are done in order to improve the readability and the ease of use of XMI (dropping of any useless qualification, no strict ordering for XMI role elements, etc). In contrast with the standard UML XMI no model transformations is needed for the XMI+ rendering.

See XMI example (headings skipped)
See XMI+ example (headings skipped)

JMI

The Java-like Metadata Interchange (JMI) is equivalent to the XMI+ format. The only difference is that it uses Java-like separators that improves a lot the readability.

See JMI example

PMI

The Python Metadata Interchange (PMI) is equivalent to the XMI+ format. The only relevant difference is that it uses a Python syntax (constructor calls with keyword arguments).

An interesting property is that this notation can be executed by the python interpreter.

See PMI example

CTF

The Compiled Textual Format (CTF) is the internal format used for storing the models in the repository. This format is in fact equivalent to the JMI, PMI and XMI+ textual notations. This format is said to be compiled because each line can be seen as a basic instruction for loading the object into memory.

See CTF example


Last modification July 29 1999
mariano.belaunde@rd.francetelecom.fr