(back to main)
This page is devoted to describing the SimDB data model (SimDB/DM from now on).

Current model

As described here all development can be followed on Volute. Particularly relevant for the discussion on this page is the data model in uml/SimDB_DM.xml. The previous versions as well as later working versions can be found in the history of this file, whilst older versions are under the input/ directory, such as version r902. I will try to keep track of the different versions and change logs below. At the bottom of the page the generated GraphViz image representing the last (checked in) version of the model. (NB need to ensure it is in synch with the actual model).

To be discussed

  • OK on approach?
    • modelling: analysis(conceptual)->logical->physical
    • TAP+XML+UTYPE serialisations derived from logical model
  • Identify main issues of model
    • sufficiently detailed resources?
    • characterisation, provenance etc (see separate page)
    • normalisation (problem for XML, little for TAP)
    • "queriability" (problem for TAP)
    • missing semantic vocabularies
    • quantities/units
  • Clean up
    • documentation in the UML
    • Description of model in Note
  • finalise the serialisation to UTYPEs
  • finalise the serialisation to TAP (see IVOA.IVOATheorySimDBTAP)
  • finalise the serialisation to XML schema ((see IVOA.IVOATheorySimDBREST)
  • reuse by other specs
    • SimDAP
    • S3
  • ...

Version history (link on heading):

Sometimes versions do not change in content, but nevrtheless produce different MagicDraw XMI documents. Sometimes this is due to different drawing, redrawing links or something like that. Here I only indicate the content that was changed. This I do by generating the SimDB_INTERMEDIATE.xml file and diffing those. Note, at the end there is a diff between the current specification model and amodel on VO-URP/input/simdb.


under construction
  • Updated descriptions.
  • Rename the enumeration CharacterisationType to Statistic. Rename the 'type' attribute on Characterisation to 'statistic'.



  • Changed cardinality of snapshot collection on Experiment. now 0..*
  • a datatype StringLiteral was added. not really useful remnant of some experimenting. can be removed.
  • Changed cardinality of representationObject collection on experiment. now 0..*
  • Changed cardinality of objectCollecitoncollection on Snapshot. now 0..*
  • Changed cardianlity of label attribute on ValidValue, from 1 to 0..1
  • Added option to refer to an external utype for each <>. Added one on Resource: otherutype="Reg:VOResource"
  • removed explicit dependency between simdb and IVOAValueTYpes packages again [this is all mainly caused by changes in how to represent explicitly how a model depends on the profile. Is an explict dependency required or not.
  • PostProcessing no longer abstract.


  • no change in content.


  • Added Identity datatype to the IVOAValueTypes. [check whether this is necessray in the model or only for code generation?]
  • Recreated the explicit dependency relation between the "simdb" and IVOAValueTypes" packages.
  • Fixed the errors on Contact introduced in 898.


  • Removed the "model" package. This was used for code generation purposes only.



  • No change in content


  • Exact copy of, i.e. no change wrt prop-952

prop-951 (Mar 12, 2009 ,derived from input/902 !)






<VO-URP>/input/simdb/SimDB_DM.xml 458 (diff with volute v1089
  • Add "basic" package, holding on to basic datatypes such as Quantity, Value, Cardinality, DataType.
  • All other packages depend on it. [this is somewhat ugly and required by a problem of the current generation framework (i.e. VO-URP), which does not yet allow "inheriting" dependencies from parent to child packages. Only simdb needs otherwise have this relation. Currently it is required so that appropriate import statements will be generated on XML schemas.]
  • Renamed Characterisation -> Statistics ["innocent name change" ?]
  • Renamed CharacterisationType -> Statistic [possibility for confusion with Statistics].
  • Renamed "characterisation" collection on ObjectCollection to "statistics".
  • Introduced Value datatype, representing values of either numeric or unknown datatype. Both represented by an attribute of type Quantity, reps string. [NB this is still far from ideal! But more useful model seems impossible for now as we simply can not know the datatype of parameter values in the model! S3 might present a method to design protocols that can work around this feature of the model, at the cost of only allowing access to experiments of single SimDB:Protocol-s. See the Note.]
  • removed genericparametersetting and numericparametersetting. SSingle, concrete ParameterSetting class has "value" attribute of type Value.
  • Statistics has attribute "value" of type Value. This also allows one to have statistics on string and other non-numeric attributes. For example min/max dates [TODO should Value contain a datetime attribute?], or nominal value, or (in the future) histograms.
  • Added a literal "constant" to Statistic (formerly CharacterisaitonType) to indicate a value that is held constant during an experiment. Example: mass of particles in an N-body simulation.
  • Cleaned up some bad characters.
  • Added "unit" attribute to Field.
  • Changed ValidValue's "value" attribute from string to Value datatype. *

(back to main)

Topic revision: r26 - 2009-11-03 - GerardLemson
This site is powered by the TWiki collaboration platformCopyright © 2008-2018 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback