Please refrain form commenting for the present time.

Summary of VO-URP

VO-URP is a framework that assists in handling complex data models.
In particular it assists in defining data models by offering a modeling language for expressing the data model in a simple XML format and by automated mapping procedures that translate the data models to various alternative machine and human readable representations such as XML Schema, Relational Database Schemas, HTML documentation, Java class definitions etc.
VO-URP has its origins in, and is targeting data modeling efforts in the International Virtual Observatory Alliance (IVOA). Hence supports various IVOA features such as TAP_SCHEMA (Table Access Protocol) and UTYPE-s. In particular it was created for the Simulation Database effort, where it provides the main reference implementation.

Currently, VO-URP is maintained in the vo-urp project in Google Code.

Motivation for VO-URP (from SimDM appendix B)

The Simulation Data Model uses UML as the language for its specification. This is in accordance with decisions of the IVOA data model working group. One advantage of UML is that it is implementation neutral. It is a graphical language, consisting of “boxes and lines” that is very suitable for whiteboard discussions but allows one to model the concepts and relations in a static data model. It is also rich enough to allow one to describe all important data elements and relations.

In fact, UML is almost too rich. It is easy to become overwhelmed by the large number of possible syntactic elements to choose from for modelling a particular structure. Luckily UML allows one to formally define a subset of its language where one restricts oneself to a subset of the syntactic elements. Such a subset is called a UML Profile. Apart from creating a more restricted language, a Profile also allows on to assign new meanings to existing elements by defining stereotypes with associated properties ( tag definitions). It is also possible to predefine classes and data types (see below) that can be reused by the data modeller.


Important for the discussion of UTYPE-s is the data modeling language that VO-URP uses to express models in a machine readable XML format. This language can be viewed as a meta-model, in the same sense as the relational model (consisting of schemas, tables, columns, foreign keys etc) is a meta-model for relational databases, or XML Schema is a meta-model for XML documents.
We refer to this language as .vo-urp and it is expressed as an XML schema in its own right. The current version of the XML schema defining the language (and the one used in Simulation Data Model) can be found here. .vo-urp contains the relevant information of the model in a form that is MUCH simpler than for example the official XMI format. It can be derived from XMI, under the condition the UML is suitably extended with a UML Profile. An example of a script that generates the .vo-urp representation from the XMI version exists in VO-URP as well and was used to generate the .vo-urp representation of the MagicDraw UML version of the Simulation Data Model.

The main modeling elements we use in the meta-model were listed and explained in Appendix B of the SimDM document. Their corresponding XML schema representations can be found here.


Edit | Attach | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r2 - 2012-10-05 - GerardLemson
This site is powered by the TWiki collaboration platformCopyright © 2008-2021 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback