IVOA, Trieste, DM 2008-05-22 Gerard Lemson Data Modelling Standards (contd.) IVOA interop, DM WG session Trieste, 2008-05-23
IVOA, Trieste, DM 2008-05-22 Gerard Lemson
Data Modelling Standards (contd.)
IVOA interop, DM WG session Trieste, 2008-05-23
IVOA, Trieste, DM 2008-05-22 Gerard Lemson
Data models How to define them
Analysis Logical Physical Cambridge, MA 2004-05-28
http://www.ivoa.net/internal/IVOA/InterOpMay2004DataModel/dm-presentation20040528.ppt
What to do with them store instances send them around manipulate them in code look at them on a screen
Can we standardise this process? WG task: check for compatibility
IVOA, Trieste, DM 2008-05-22 Gerard Lemson
Model definition in UML UML profile
subset of UML package, class, datatype enumeration,
composition, inheritance, few more primitive data types
string,integer, real, date, ... stereotypes+tag definitions
<<ontologyterm>>+ontologyURI design rules
“concrete classes final”,...
IVOA, Trieste, DM 2008-05-22 Gerard Lemson
UML Profile for logical model
IVOA, Trieste, DM 2008-05-22 Gerard Lemson
Physical models
Representation of model for use in particular context XML (messaging) Database (storage) Java (manipulation) HTML (documentation) UTYPE (pointing)
IVOA, Trieste, DM 2008-05-22 Gerard Lemson
Mapping rules
Useful/efficient to derive physical models from logical one
Define rules Automate
“meta-specification”
IVOA, Trieste, DM 2008-05-22 Gerard Lemson
Examples: UML->DDL
“standard” ORM class->table attribute->column reference->foreign key etc
In IVOA: VODataService (?)
IVOA, Trieste, DM 2008-05-22 Gerard Lemson
Examples: UML->XML
Kyoto 2005http://www.ivoa.net/internal/IVOA/VOResource010RevNotes/ModelBasedSchema.ppt
IVOA, Trieste, DM 2008-05-22 Gerard Lemson
Example: Mapping Classes
-id : integer-description : string
aas::A
-data : real
aas::B
Every class -> globally defined complexType isAbstract -> abstract=“true” Attribute -> element of simplish-type, either built-in, or also
generated
<xsd:complexType name="A" abstract="true"> <xsd:complexContent>
<xsd:extension base="base:DataObject">
<xsd:sequence>
<xsd:element name="id" type="xsd:integer" />
<xsd:element name="description" type="xsd:string"/>
<xsd:element name="f" type="aas:F" minOccurs="0"/>
</xsd:sequence> </xsd:extension>
</xsd:complexContent>
</xsd:complexType>
IVOA, Trieste, DM 2008-05-22 Gerard Lemson
Problem: references
Links to objects inside documents: ID/IDREF
Links to objects outside document ? IVO Identifier ?
IVOA, Trieste, DM 2008-05-22 Gerard Lemson
Examples: UTYPE
Represent model in custom serialisations
attribute <model-name> ":" <package-name>[ "/" <package-name>]* "/" <objecttype-name> "." <attribute-name> [ "." <attribute-name>]*
reference <model-name> ":" <package-name>[ "/" <package-name>]* "/" <objecttype-name> "." <reference-name>
IVOA, Trieste, DM 2008-05-22 Gerard Lemson
Suggestions Define UML profile for use in IVOA
DM efforts Define rules for mapping to
XML relational model (VODataService) UTYPE others?
TCG “Topic” (GL, ML) and then?
IVOA, Trieste, DM 2008-05-22 Gerard Lemson
Proof of concept Implemented this procedure in SimDB
http://volute.googlecode.com/svn/trunk/projects/theory/snapdm/ UML profile Rules in XSLT
DDL, XML, Java, HTML doc Applicable to other DMs
e.g. registry Demo by Laurent
IVOA, Trieste, DM 2008-05-22 Gerard Lemson
Suggestions (contd)
Define IVOA analysis model where do different models fit in design patterns
How do we “reuse” models import and “derive” (?) import and “link” represent