Simulation Database

Table of Contents

1.     model: SimDM
2.     Packages and Types
2.1     [root package]
2.2     package: meta
2.2.1     enumeration: Cardinality
2.2.2     enumeration: DataType
2.3     package: object
2.3.1     objectType: Field
2.3.2     objectType: ObjectType
2.3.3     objectType: Property
2.3.4     objectType: PropertyGroup
2.3.5     objectType: PropertyGroupMember
2.3.6     objectType: Relationship
2.3.7     enumeration: RelationshipType
2.3.8     objectType: ValidValue
2.4     package: resource
2.4.1     objectType: Contact
2.4.2     enumeration: ContactRole
2.4.3     objectType: Party
2.4.4     objectType: Project
2.4.5     objectType: ProjectResource
2.4.6     objectType: Resource
2.4.7     objectType: Target
2.4.8     objectType: TargetObjectType
2.4.9     objectType: TargetProcess
2.5     package: dal
2.5.1     objectType: AccessibleResource
2.5.2     objectType: CustomService
2.5.3     objectType: Service
2.5.4     objectType: SimDALService
2.6     package: experiment
2.6.1     objectType: AppliedAlgorithm
2.6.2     objectType: AppliedPhysics
2.6.3     objectType: DataObject
2.6.4     objectType: Experiment
2.6.5     objectType: InputDataObject
2.6.6     objectType: InputDataset
2.6.7     objectType: ObjectCollection
2.6.8     objectType: ObjectReference
2.6.9     objectType: OutputDataset
2.6.10     objectType: ParameterSetting
2.6.11     objectType: PostProcessing
2.6.12     objectType: PropertyValue
2.6.13     objectType: Simulation
2.6.14     enumeration: Statistic
2.6.15     objectType: StatisticalSummary
2.7     package: protocol
2.7.1     objectType: Algorithm
2.7.2     objectType: InputDataObjectType
2.7.3     objectType: InputParameter
2.7.4     objectType: OutputDataObjectType
2.7.5     objectType: ParameterGroup
2.7.6     objectType: ParameterGroupMember
2.7.7     objectType: Physics
2.7.8     objectType: PostProcessor
2.7.9     objectType: Protocol
2.7.10     objectType: Simulator
3.     vodml-id-s
4.     Imported Models
4.1     ivoa

1. Model: Simulation Database (SimDM)

Authors : Gerard Lemson, Laurent Bourge, Rick Wagner
Date : 2018-05-24T20:32:18
Version : 0.x
Abstract : This is the data model for describing simulations, the code that produced them and other related resources. It is to be used by protocol specifications for discovering theory data products and web services with which these can be accessed. An example of these are the Simulation Database (SimDB) spec and the family of protocols to be defined in the Simulation Data Access Layer (SimDAL). This data model is a specification of the IVOA Theory Interest Group.
Diagram : The following diagram has been generated from the model using the GraphViz tool.
The classes and packages in the diagram can be clicked and are mapped to the descriptions of the corresponding element elsewhere in the document.

2.Model contents: Packages and Types

The following sub-sections present all packages in the model with their types. The packages are listed here in alphabetical order. Each sub-section contains a description of the package and a table containing its various features.

2.1 [root package]

Model SimDM
child package(s) meta object resource

2.2 package: meta

vodml-id meta
description This package defines some very basic "meta" types such as the basic DataType enumerations etc.
parent SimDM
Enumerations Cardinality DataType

2.2.1 enumeration: Cardinality

vodml-id meta.Cardinality
description This enumeration contains the possible values for the cardinality attribute of a Field definition.
package meta
literals
name feature value
OPTIONAL vodml-id meta.Cardinality.OPTIONAL
description Corresponds to 'Optional element'
MANDATORY vodml-id meta.Cardinality.MANDATORY
description Corresponds to 'Mandatory element'
ZERO_MANY vodml-id meta.Cardinality.ZERO_MANY
description Corresponds to 'Multiple but maybe Optional element'
ONE_MANY vodml-id meta.Cardinality.ONE_MANY
description Corresponds to 'Multiple with at least one element'

2.2.2 enumeration: DataType

vodml-id meta.DataType
description The DataType enumeration lists the available values for the datatype attributes used in the definition of metadata fields such as Property and InputParameter. The values represent rather abstract data types. For example no distinction is made between different representations of integer (short, int, long) or floating point (float, double) types. Instead the mathematical number fields integer and real are used, together with rational and complex. Alternative representations or usages of this model might add such details.
package meta
literals
name feature value
boolean vodml-id meta.DataType.boolean
description A standard boolean type, with values 'true' and 'false', possibly represented differently in physical representations of the model.
complex vodml-id meta.DataType.complex
description A standard complex type. Here no limits on accuracy of constituent Re and Im parts is made, they are assumed to be real.
datetime vodml-id meta.DataType.datetime
description Represents an exact time on an exact, given date. No accuracy is assumed.
real vodml-id meta.DataType.real
description A floating point datatype, without impied accuracy.
integer vodml-id meta.DataType.integer
description An integer datatype, without implied accuracy.
rational vodml-id meta.DataType.rational
description A rational datatype, consisting of two integers representing the numerator and denominator.
string vodml-id meta.DataType.string
description A standard string datatype consisting of any type of character.

2.3 package: object

vodml-id object
description This package contains SimDM/ObjectType and classes used in its definition. These classes allow users to describe structured objects that are used in, or produced by the SImDM/Protocols.
parent SimDM
Object types Field ObjectType Property PropertyGroup PropertyGroupMember Relationship ValidValue
Enumerations RelationshipType

2.3.1 objectType: Field

vodml-id object.Field
description Represents a generic field like object.
package object
abstract True
Subclasses in this model InputParameter Property
attributes
name feature value
name type ivoa:string
vodml-id object.Field.name
multiplicity 1
description the name of this parameter or property. Ex: omegaLambda, particleMass, linking length
datatype type DataType [SimDM:meta.DataType]
vodml-id object.Field.datatype
multiplicity 1
description the data type of this parameter or property
cardinality type Cardinality [SimDM:meta.Cardinality]
vodml-id object.Field.cardinality
multiplicity 0..1
description The cardinality of this parameter or property
description type ivoa:string
vodml-id object.Field.description
multiplicity 0..1
description Short description of this parameter or property
isEnumerated type ivoa:boolean
vodml-id object.Field.isEnumerated
multiplicity 0..1
description indicates if this parameter or property only accept values coming from a list of valid values defined by the validValue collection
compositions
name feature value
validValue type ValidValue [SimDM:object.ValidValue]
vodml-id object.Field.validValue
multiplicity 0..*
isOrdered false
description List of possible values : only defined when isEnumerated = true

2.3.2 objectType: ObjectType

vodml-id object.ObjectType
description This class represents and abstract object type, and can thus be seen as a meta-modelling construct. It allows model instances that represent complex object definitions.
package object
abstract True
Subclasses in this model InputDataObjectType OutputDataObjectType Target
referrers OutputDataset Relationship
attributes
name feature value
name type ivoa:string
vodml-id object.ObjectType.name
multiplicity 1
description The name of this object type.
description type ivoa:string
vodml-id object.ObjectType.description
multiplicity 0..1
description Short description of this object type.
compositions
name feature value
property type Property [SimDM:object.Property]
vodml-id object.ObjectType.property
multiplicity 0..*
isOrdered false
description Collection of properties.
propertyGroup type PropertyGroup [SimDM:object.PropertyGroup]
vodml-id object.ObjectType.propertyGroup
multiplicity 0..*
isOrdered false
description Collection of property groups.
relationship type Relationship [SimDM:object.Relationship]
vodml-id object.ObjectType.relationship
multiplicity 0..*
isOrdered false
description Collection of relations to object types that may be contained or aggregated by this object type or referenced by it.

2.3.3 objectType: Property

vodml-id object.Property
description The properties of an object. Similar to the FIELD in a VOTable
package object
extends Field [SimDM:object.Field]
referrers PropertyGroupMember PropertyValue StatisticalSummary
attributes
name feature value
label type ivoa:anyURI
semanticconcept Semantic top concept:
http://purl.org/astronomy/vocab/PhysicalQuantities/PhysicalQuantity
Vocabulary URI:
http://purl.org/astronomy/vocab/PhysicalQuantities
vodml-id object.Property.label
multiplicity 0..1
description The concept represented by this property. This concept should be narrower than the broadestSKOSConcept.

2.3.4 objectType: PropertyGroup

vodml-id object.PropertyGroup
description This class represents a naturla grouping of properties on the object type. Is used for presentation purposes in a browsing environment.
package object
attributes
name feature value
name type ivoa:string
vodml-id object.PropertyGroup.name
multiplicity 1
description Name of this paarameter grouping.
description type ivoa:string
vodml-id object.PropertyGroup.description
multiplicity 0..1
description Description of this group.
compositions
name feature value
member type PropertyGroupMember [SimDM:object.PropertyGroupMember]
vodml-id object.PropertyGroup.member
multiplicity 1..*
isOrdered false
description Collection of members of this parameter grouping.

2.3.5 objectType: PropertyGroupMember

vodml-id object.PropertyGroupMember
description Assocuiative object that represents a member in a property group.
package object
references
name feature value
property type Property [SimDM:object.Property]
vodml-id object.PropertyGroupMember.property
multiplicity 1
description Reference to the actual property this class associates to a property group.

2.3.6 objectType: Relationship

vodml-id object.Relationship
description This class assists in the definition of an object hierarchy by associating different objects. The type of relationship is borrowed loosely from UML, and can represent a composition, aggregation or reference, as defined by the relationshipType attribute. An example is the composition relationship between a image and its pixels, or the aggregation of a FOF group and its constituent particles.
package object
referrers ObjectCollection ObjectReference
attributes
name feature value
name type ivoa:string
vodml-id object.Relationship.name
multiplicity 1
description Name of the variable representing the relationship on the containing parent object type.
description type ivoa:string
vodml-id object.Relationship.description
multiplicity 0..1
description Describes the relation between the parent and child object type.
relationshipType type RelationshipType [SimDM:object.RelationshipType]
vodml-id object.Relationship.relationshipType
multiplicity 0..1
description This attributes indicates the type of relaion between the parent and the related object.
cardinality type Cardinality [SimDM:meta.Cardinality]
vodml-id object.Relationship.cardinality
multiplicity 0..1
description The cardinality/multiplicity of the child object in the containing object.
references
name feature value
relatedObjectType type ObjectType [SimDM:object.ObjectType]
vodml-id object.Relationship.relatedObjectType
multiplicity 1
description Reference to the ObjectType that is the child in the hierarchical parent-child relation.

2.3.7 enumeration: RelationshipType

vodml-id object.RelationshipType
description Type of relationship between an ObjectType and the related object type.
package object
literals
name feature value
composition vodml-id object.RelationshipType.composition
description Represents the usual UML-like composition relation.
reference vodml-id object.RelationshipType.reference
description Represents a 0..1 relation between an object (the referree) and the related object (the reference). Indicates a general dependency. Example, relations between a galaxy and its descendant in a merger tree, or between a source catalogue and the image it was extracted from.

2.3.8 objectType: ValidValue

vodml-id object.ValidValue
description This represents a value for an enumerated parameter or property
package object
attributes
name feature value
value type ivoa:string
vodml-id object.ValidValue.value
multiplicity 1
description the value as string : can be converted to the correct datatype of the asociated parameter or property
description type ivoa:string
vodml-id object.ValidValue.description
multiplicity 0..1
description A description of this value.
title type ivoa:string
vodml-id object.ValidValue.title
multiplicity 0..1
description Short name / alias for this value (useful in GUI)

2.4 package: resource

vodml-id resource
description This is a root package of the SimDM data model. It contains all packages defining the main entities of the model as subpackages. It contains the SimDM/Resource and SimDM/Party root entity classes and various data types and enumerations. It depends on the object package.
parent SimDM
Object types Contact Party Project ProjectResource Resource Target TargetObjectType TargetProcess
Enumerations ContactRole
child package(s) dal experiment protocol

2.4.1 objectType: Contact

vodml-id resource.Contact
description This class connects a Party to a resource. It indicates the role the party plays on the resource, for example creator, owner or publisher.
package resource
attributes
name feature value
role type ContactRole [SimDM:resource.ContactRole]
vodml-id resource.Contact.role
multiplicity 1
description The role this contact plays in the Resource
references
name feature value
party type Party [SimDM:resource.Party]
vodml-id resource.Contact.party
multiplicity 1
description Reference to the Party that the Contact associates to the Resource.

2.4.2 enumeration: ContactRole

vodml-id resource.ContactRole
description The ContactRole enumeration contains the different roles a SimDM/Party can play in the creation or publishing of a SimDM/Resource.
package resource
literals
name feature value
owner vodml-id resource.ContactRole.owner
description Role indicating that a certain SimDM/Party owns the SimDM/Resource.
creator vodml-id resource.ContactRole.creator
description Role indicating that a certain SimDM/Party created the SimDM/Resource.
publisher vodml-id resource.ContactRole.publisher
description Role indicating that a certain SimDM/Party published the SimDM/Resource in a SimDB repository for example.
contributor vodml-id resource.ContactRole.contributor
description Role indicating that a certain SimDM/Party made some otherwise unspecified contribution to the creation of the SimDM/Resource.

2.4.3 objectType: Party

vodml-id resource.Party
description Information that describes a Party, that is a person/individual or possibly an organisation.
package resource
referrers Contact
attributes
name feature value
name type ivoa:string
vodml-id resource.Party.name
multiplicity 1
description the name or title of the contact person. This can be a person's name, e.g. "John P. Jones" or a group, "Archive Support Team".
email type ivoa:string
vodml-id resource.Party.email
multiplicity 1
description the contact email address
address type ivoa:string
vodml-id resource.Party.address
multiplicity 0..1
description the contact mailing address All components of the mailing address are given in one string, e.g. "3700 San Martin Drive, Baltimore, MD 21218 USA".
telephone type ivoa:string
vodml-id resource.Party.telephone
multiplicity 0..1
description the contact telephone number Complete international dialing codes should be given, e.g. "+1-410-338-1234".

2.4.4 objectType: Project

vodml-id resource.Project
description A SimDM/Project is an aggregation of SimDM/Resource-s that belong together, for example because they have been produced together in the course of a scientific project. Examples are parameter studies where a large number of simulations is run with slightly varying parameter settings. But also a single large simulation with a number of post-processing results can be gathers in this way. It is assumed that SimDM/Project are generally "big enough" to qualify to be represented as a full-fledged Registry/Resource in an IVOA Registry. This possibility was on of the reasons to add this concept to the model.
package resource
extends Resource [SimDM:resource.Resource]
compositions
name feature value
resource type ProjectResource [SimDM:resource.ProjectResource]
vodml-id resource.Project.resource
multiplicity 1..*
isOrdered false
description Collection of associatiions to the resources that make up this project.

2.4.5 objectType: ProjectResource

vodml-id resource.ProjectResource
description Associative class between a SimDM/Project and its constitutent SimDM/Resource-s.
package resource
references
name feature value
resource type Resource [SimDM:resource.Resource]
vodml-id resource.ProjectResource.resource
multiplicity 1
description Reference to another SimDM/Resource that is included in the containing SimDM/Project.

2.4.6 objectType: Resource

vodml-id resource.Resource
description This class represents the main resources defined by the Simulation Data Model in the same way as the Registry/Resource class represents resources in registries. It is the base class of specialisations SimDM/Protocol, SimDM/Experiment, SimDM/Project and SimDM/Service. These resources are the root entities that would get registered in a Simulation Database for example. They are also represented by root element declarations in XML schema serialisations of the model. This class is a thin copy of the Registry/Resource and borrows some of its elements. It *is-not-a* Registry Resource in the sense of inheritance. In particular a SimDM/Resource has a more refined and targeted content model. Also, SimDM/Resource-s are in general (much) more fine grained than Registry/Resource-s and would not qualify to be registered in an IVOA Registry. It will howevere be possible to transform certain SimDM/Resource-s into Registry/Resource-s.
package resource
abstract True
Subclasses in this model Experiment Project Protocol Service
referrers AccessibleResource ProjectResource
attributes
name feature value
name type ivoa:string
vodml-id resource.Resource.name
multiplicity 1
description For Protocol : The name by which this simulator is commonly known. Ex: Gadget, Flash For Project : the name of the project For Experiment : the name of this experiment
description type ivoa:string
vodml-id resource.Resource.description
multiplicity 1
description A description of this resource.
referenceURL type ivoa:anyURI
vodml-id resource.Resource.referenceURL
multiplicity 0..1
description a URL to a web page describing the resource.
created type ivoa:datetime
vodml-id resource.Resource.created
multiplicity 1
description The UTC date and time this resource was created in the real world.
updated type ivoa:datetime
vodml-id resource.Resource.updated
multiplicity 0..1
description The UTC date and time this resource was updated in the real world.
status type ivoa:string
vodml-id resource.Resource.status
multiplicity 0..1
description a tag indicating whether this resource is believed to be still actively maintained.
compositions
name feature value
contact type Contact [SimDM:resource.Contact]
vodml-id resource.Resource.contact
multiplicity 1..*
isOrdered false
description The collection of contacts for a Reource.
target type Target [SimDM:resource.Target]
vodml-id resource.Resource.target
multiplicity 0..*
isOrdered false
description This collection of Target, describing the different targets/goals/objectives of this Experiment.

2.4.7 objectType: Target

vodml-id resource.Target
description Represents the scientific goal associated to a SimDM/Resource. This can be the goal of an experiment or project, or the type of object that a particular protocol will always produce. Is made concrete by suclasses representing objects or processes. We model a Target as "being an" ObjectType, which allows one to give a more detailed representation of its properties. The target is important as it represents one of the main questions scientists will ask about an experiment: what kind of astrophysical object or system or process was being simulated or modelled.
package resource
extends ObjectType [SimDM:object.ObjectType]
abstract True
Subclasses in this model TargetObjectType TargetProcess

2.4.8 objectType: TargetObjectType

vodml-id resource.TargetObjectType
description This class represents the actual system that is being simulated. Instances of this object should correspond to physical objects and/or systems. They should be the answer to queries such as, “what does this simulation simulate?”
package resource
extends Target [SimDM:resource.Target]
attributes
name feature value
multiplicity type Cardinality [SimDM:meta.Cardinality]
vodml-id resource.TargetObjectType.multiplicity
multiplicity 0..1
description Indication on how many objects of this type are being modelled.
identityName type ivoa:string
vodml-id resource.TargetObjectType.identityName
multiplicity 0..1
description If the target object type referes to a real object, this attribute allows one to indicate which object. This is performed by a URI that should identify the object in the Ontology of SimbadIdentifiedNames In some cases a real identified object in the universe is being modelled. If that is the case, this attribute allows that object to be identified. We assume a list of such objects may be provided through some means, embodied by the IdentifiedObject data type. Ex: Galaxy, Antennae, M31.
label type ivoa:anyURI
semanticconcept Semantic top concept:
http://purl.org/astronomy/vocab/AstronomicalObjects/AstronomicalObject
Vocabulary URI:
http://purl.org/astronomy/vocab/AstronomicalObjects
vodml-id resource.TargetObjectType.label
multiplicity 0..1
description Represents a concept in a SKOS vocabulary of astronomical and astrophysical object types.

2.4.9 objectType: TargetProcess

vodml-id resource.TargetProcess
description This class represents the fact that some simulations are run with the goal (Target) to investigate physical processes, rather than simulation specific objects or systems. Instances of this class can be used to describe this. For example one may study "turbulence", or "gravitational cluster" or "galaxy formation".
package resource
extends Target [SimDM:resource.Target]
attributes
name feature value
label type ivoa:anyURI
semanticconcept Semantic top concept:
http://purl.org/astronomy/vocab/PhysicalProcesses/PhysicalProcess
Vocabulary URI:
http://purl.org/astronomy/vocab/PhysicalProcesses
vodml-id resource.TargetProcess.label
multiplicity 0..1
description A term from the AstroJournalSubjectKeywords ontology.

2.5 package: dal

vodml-id resource.dal
description This package holds on to SimDM/Service and classes used in its definition. It represents functions for accessing the physical resources described by the model such as the results of simulations and post-processing experiments.
parent resource
Object types AccessibleResource CustomService Service SimDALService
Parent package resource

2.5.1 objectType: AccessibleResource

vodml-id resource.dal.AccessibleResource
description The AccessibleResource class represents an association between the containing SimDM/Service and the SimDM/Resource-s that are being made accessible by that service.
package dal
attributes
name feature value
description type ivoa:string
vodml-id resource.dal.AccessibleResource.description
multiplicity 0..1
description Description of how the particular SimDM/Resource referenced by this object is made available by the parent SimDM/Service.
accessURI type ivoa:anyURI
vodml-id resource.dal.AccessibleResource.accessURI
multiplicity 0..1
description Direct URI for accessing the referenced SimDM/Resource using the parent service. The parent service has a baseURL through which one can access the service interface. From there one may be able to browse through all SimDM/Resource-s that are made available, but a specific (data access) protocol to reach a given SimDM/Resource or how to browse these SimDM/Resource-s is not defined by this model. IF it is possible to access the SimDM/Resource directly through the SimDM/Service, for example to download or browse its contents, this attribute gives the corresponding URI.
references
name feature value
resource type Resource [SimDM:resource.Resource]
vodml-id resource.dal.AccessibleResource.resource
multiplicity 1
description This reference points to the SimDM/Resource that this SimDM/AccessibleResource class associates to the SimDM/Service. The end point can be any SimDM/Resource.

2.5.2 objectType: CustomService

vodml-id resource.dal.CustomService
description The CustomService class represents a custom SimDM/Service for accessing SimDM/Resource-s. It is not assumed that a predefined protocol is implemented. Its main role is to distinnguish it from SimDAL and other services implementing potential, future IVOA standards. But many interesting custom services giving access to simulation results exist and can be reistered and discovered through this class.
package dal
extends Service [SimDM:resource.dal.Service]

2.5.3 objectType: Service

vodml-id resource.dal.Service
description This class represents a web service that can be used to access SimDM/Resource-s registered in for example a SimDB. The precise way in which the web service gives access to these results not specified in detail. It includes simple downloads, and services implementing standards such as SimDAL. SimDM/Service is related to SimDM/Resource and can be used for more general purposes than simply giving access to results of a single experiment. It may be a web service that can handle results of any experiment performed by a particular SimDM/Protocol, or give access to all resources in a SimDM/Project. The main goal of introducing SimDM/Service in the model is so that users can find web services based on requests for specific tyes of simulations etc. For example users may wish to find web services giving access to hydro simulations of clusters of galaxies with particular properties. . It is assumed that web services registerd in a SimDB are also registered in a Registry which will store the more detailed capbilitieis and other service metadata. Therefore such details are not introduced here.
package dal
extends Resource [SimDM:resource.Resource]
abstract True
Subclasses in this model CustomService SimDALService
attributes
name feature value
baseURL type ivoa:anyURI
vodml-id resource.dal.Service.baseURL
multiplicity 1
description The base URL of this SimDM/Service. In case the web service implements a standard IVOA protocol such as SimDAL, this base URL can be used in the same way as other typical IVOA S*AP services. Parameters defined by the standard may be added to the base URL so that a proper HTTP GET request can be created for accessing the web service directly.
registryId type ivoa:anyURI
vodml-id resource.dal.Service.registryId
multiplicity 0..1
description The IVO identifier by which this service is registered in an IVOA Resource Registry. Each SimDM/Service should be registered in such a registry and this identifier allows one to obtain the full description of this service as defined by the Registry standard.
compositions
name feature value
resource type AccessibleResource [SimDM:resource.dal.AccessibleResource]
vodml-id resource.dal.Service.resource
multiplicity 0..*
isOrdered false
description Collection of SimDM/AccessibleResource that reference SimDM/Resource-s that are made available in this SimDM/Service.

2.5.4 objectType: SimDALService

vodml-id resource.dal.SimDALService
description Represents a SimDM/Service conforming to a SimDAL protocol. This is a place holder class that may in future version of the model be defined in more detail when SimDAL services themselves have been fully specified.
package dal
extends Service [SimDM:resource.dal.Service]

2.6 package: experiment

vodml-id resource.experiment
description This package contains the SimDM/Experiment class, its subclasses and and other types contained by these. It is a sub-package of the resource package.
parent resource
Object types AppliedAlgorithm AppliedPhysics DataObject Experiment InputDataObject InputDataset ObjectCollection ObjectReference OutputDataset ParameterSetting PostProcessing PropertyValue Simulation StatisticalSummary
Enumerations Statistic
Parent package resource

2.6.1 objectType: AppliedAlgorithm

vodml-id resource.experiment.AppliedAlgorithm
description The AppliedAlgorithm class represents the application of a particular algorithm in an experiment. Some simulation codes allow one to choose between different algorithms for representing a particular process. For example some N-Body codes allow one to choose between Tree-only or Tree+ParticleMesh codes. To indicate which algorithms were actually used in an experiment one adds an instance of this AppliedAlgorithm class to the collection on the experiment.
package experiment
references
name feature value
algorithm type Algorithm [SimDM:resource.protocol.Algorithm]
vodml-id resource.experiment.AppliedAlgorithm.algorithm
multiplicity 1
description Reference to the actual algorithm that is applied

2.6.2 objectType: AppliedPhysics

vodml-id resource.experiment.AppliedPhysics
description The AppliedPhysics class represents the association between a physical process on a Simulator and this class' parent Simulation. Many simulation codes allow one to turn on or off modules corresponding to different physics. For example certain SPH codes allow one to turn off the hydrodynamics, leaving only gravity as the physical process being simulated.
package experiment
references
name feature value
physics type Physics [SimDM:resource.protocol.Physics]
vodml-id resource.experiment.AppliedPhysics.physics
multiplicity 1
description Reference to the Simulator's Physcis module that is used in the Simulation.

2.6.3 objectType: DataObject

vodml-id resource.experiment.DataObject
description Represents an individual object of a given object type produced by an experiment. Is required if we want to represent object-object collection hierarchies. NB the name DataObject is used iso Object, as the latter may lead to name clashes in serialisations. In this model any artefact produced by a Protocol can be represented by an appropriate ObjectType and relations can exist between them. Some of these relations are many-to-one, i.e. between object collections and parent ojects. If such relations must also be represented in the output of an Experiment, it must be possible to represent individual objects. A typical example is a cosmological simulation produccing N > 1 snapshots. We may want to represent each individual snapshot in the result, together with statistical information about the collections of particles contained in each. The object can give values to properties related to objects of its type. In principlpe this model now would allow one to describe an experiment in all details, with each individual object listed. This is as should be for a conceptual model, but in particular applications we envision that limits be put on the size of results. For example it does not make sense to store the complete results of a large cosmolgical simulation in this way, as the storage of property values is inefficient.
package experiment
referrers InputDataObject ObjectReference
compositions
name feature value
collection type ObjectCollection [SimDM:resource.experiment.ObjectCollection]
vodml-id resource.experiment.DataObject.collection
multiplicity 0..*
isOrdered false
description TODO : Missing description : please, update your UML model asap.
property type PropertyValue [SimDM:resource.experiment.PropertyValue]
vodml-id resource.experiment.DataObject.property
multiplicity 0..*
isOrdered false
description TODO : Missing description : please, update your UML model asap.
reference type ObjectReference [SimDM:resource.experiment.ObjectReference]
vodml-id resource.experiment.DataObject.reference
multiplicity 0..1
isOrdered false
description TODO : Missing description : please, update your UML model asap.

2.6.4 objectType: Experiment

vodml-id resource.experiment.Experiment
description The SimDM/Experiment represents the execution of a computer program represented by a SimDM/Protocol. It defines how the program was run by providing values to parameters for example. It describes the goal of the experiment in terms of the physical objects and processes that are being simulated and it contains the collection of results.
package experiment
extends Resource [SimDM:resource.Resource]
abstract True
Subclasses in this model PostProcessing Simulation
referrers PostProcessing
attributes
name feature value
executionTime type ivoa:datetime
vodml-id resource.experiment.Experiment.executionTime
multiplicity 0..1
description The date/time at which the experiment was completed
references
name feature value
protocol type Protocol [SimDM:resource.protocol.Protocol]
vodml-id resource.experiment.Experiment.protocol
multiplicity 1
description Reference to the Protocol used in the exeuciton of this Experiment. Subclasses of this Experiment will in general override/"subset" this reference to subclasses of Protocol.
compositions
name feature value
appliedAlgorithm type AppliedAlgorithm [SimDM:resource.experiment.AppliedAlgorithm]
vodml-id resource.experiment.Experiment.appliedAlgorithm
multiplicity 0..*
isOrdered false
description Collection of AppliedAlgorithm objects, indicating which Algorithms available on a Protocl were used in the execution of the Experiment.
inputData type InputDataset [SimDM:resource.experiment.InputDataset]
vodml-id resource.experiment.Experiment.inputData
multiplicity 0..*
isOrdered false
description The collection of InputData objects, indicating results of other Esperiments that may have been used in the execution of this Experiment.
outputData type OutputDataset [SimDM:resource.experiment.OutputDataset]
vodml-id resource.experiment.Experiment.outputData
multiplicity 0..*
isOrdered false
description The collection of SimDM/OutputDataset-s created by a SimDM/Experimental. We anticipate that experiments produce data sets of different SimDM/OutputDataObjectType-s. For each of these types a separate SimDM/OutputDataset, is provided on the SimDM/Experiment.
parameter type ParameterSetting [SimDM:resource.experiment.ParameterSetting]
vodml-id resource.experiment.Experiment.parameter
multiplicity 0..*
isOrdered false
description The collection of ParameterSetting objects that describe the values assigned to parameters of the Protocol used in the execution of this Experiment.

2.6.5 objectType: InputDataObject

vodml-id resource.experiment.InputDataObject
description Associates an individual Object to an InputDataSet. Thus if for example only 3 individual snapshots out of a collection of N snapshots produced by a cosmological simulation are post-processed, the actual snapshots used can be indicated using this associative object.
package experiment
references
name feature value
object type DataObject [SimDM:resource.experiment.DataObject]
vodml-id resource.experiment.InputDataObject.object
multiplicity 1
description Reference to an actual object that is being used in an experiment.

2.6.6 objectType: InputDataset

vodml-id resource.experiment.InputDataset
description Many experiments require pre-existing data sets for their execution. This class represents such an association for its parent SimDM/Experiment. It is assumed to contain 1 or more objects of a specified SimDM/InputDataObjectType defined on the SimDM/Protocol used by the container SimDM/Experiment. In those cases where the actual input data set is represented by a SimDM/OutputDataset, for example in a SimDB, we can represent the input data by a corresponding reference. Whereas that would be optimal, it may not always be practical. In cases where this is not so, this reference is replaced with an accessURL attribute on this class. This would allow a user to find out whether a product exists in the database with that same url, make the link indirect but arguably more correct.
package experiment
attributes
name feature value
description type ivoa:string
vodml-id resource.experiment.InputDataset.description
multiplicity 0..1
description Describes the role that the input data set plays in the experiment.
url type ivoa:anyURI
vodml-id resource.experiment.InputDataset.url
multiplicity 0..1
description URL by which the input data set can be obtained.
references
name feature value
product type OutputDataset [SimDM:resource.experiment.OutputDataset]
vodml-id resource.experiment.InputDataset.product
multiplicity 0..1
description The SimDM/OutputDataset produced by an earlier SimDM/Experiment that is used as input data for the current one.
type type InputDataObjectType [SimDM:resource.protocol.InputDataObjectType]
vodml-id resource.experiment.InputDataset.type
multiplicity 1
description Reference to the type definition for this SimDM/InputDataset. This must refer to a SimDM/InputDataObjectType defined on the SimDM/Protocol according to which the SimDM/Experiment is performed.
compositions
name feature value
object type InputDataObject [SimDM:resource.experiment.InputDataObject]
vodml-id resource.experiment.InputDataset.object
multiplicity 0..1
isOrdered false
description Collection of object associations that identify explicitly which objects from a collection of objects are used as input data in an experiment.

2.6.7 objectType: ObjectCollection

vodml-id resource.experiment.ObjectCollection
description Instance of a composition Relationship between an ObjectType and a collection of objects.
package experiment
references
name feature value
collection type OutputDataset [SimDM:resource.experiment.OutputDataset]
vodml-id resource.experiment.ObjectCollection.collection
multiplicity 1
description TODO : Missing description : please, update your UML model asap.
collectionDefinition type Relationship [SimDM:object.Relationship]
vodml-id resource.experiment.ObjectCollection.collectionDefinition
multiplicity 1
description reference to the relationship definition on the ObjectType that is represented by the ObjectCollection. The referenced Relationship MUST have relationshipType='composition'.

2.6.8 objectType: ObjectReference

vodml-id resource.experiment.ObjectReference
description Instance of a reference Relationship between two ObjectType-s.
package experiment
references
name feature value
object type DataObject [SimDM:resource.experiment.DataObject]
vodml-id resource.experiment.ObjectReference.object
multiplicity 1
description The object referenced by the ObjectReference's parent DataObject.
referenceDefinition type Relationship [SimDM:object.Relationship]
vodml-id resource.experiment.ObjectReference.referenceDefinition
multiplicity 1
description Reference to the relationship definition on the ObjectType that is represented by the ObjectReference. The referenced Relationship MUST have relationshipType='reference'.

2.6.9 objectType: OutputDataset

vodml-id resource.experiment.OutputDataset
description This class represents 1 or more instances of a single SimDM/OutputDataObjectType-s produced by an SimDM/Experiment. No assumption is made how a SimDM/OutputDataset is represented in the real world. It may consist of one or multiple files, or possibly one or more tables in a database, or subsets thereof. The exact storage is not currently modelled. The class represents an actual collection of objects without (necessarily) listing these all. Instead it is to be used to allow statistical summaries/characterisation of these products. A special feature is that a SimDM/OutputDataset may define a dependency on another, 'parent' data set. This reflects to possibility in the SimDM/Protocol to model relationships between different SimDM/OutputDataObjectType-s. This is implemented using two references, one to the parent SimDM/OutputDataset, the other to the SimDM/Relationship.
package experiment
referrers InputDataset ObjectCollection
attributes
name feature value
numberOfObjects type ivoa:integer
vodml-id resource.experiment.OutputDataset.numberOfObjects
multiplicity 1
description Gives the number of objects in this SimDM/OutputDataset
accessURL type ivoa:anyURI
vodml-id resource.experiment.OutputDataset.accessURL
multiplicity 0..1
description Represents an optional reference to a URL from which the SimDM/OutputDataset can be obtained. No statement is made on whether this should represent a simple file for download, or a link to a web page with information how to obtain it.
references
name feature value
objectType type ObjectType [SimDM:object.ObjectType]
vodml-id resource.experiment.OutputDataset.objectType
multiplicity 1
description This reference to SimDM/DataObjectType indicates the type of data object stored in this collection.
compositions
name feature value
characterisation type StatisticalSummary [SimDM:resource.experiment.StatisticalSummary]
vodml-id resource.experiment.OutputDataset.characterisation
multiplicity 0..*
isOrdered false
description This collection contains the SimDM/StatisticalSummary of the different SimDM/Property-s of the objects in the parent's SimDM/OutputDataset.
object type DataObject [SimDM:resource.experiment.DataObject]
vodml-id resource.experiment.OutputDataset.object
multiplicity 0..*
isOrdered false
description TODO : Missing description : please, update your UML model asap.

2.6.10 objectType: ParameterSetting

vodml-id resource.experiment.ParameterSetting
description To run an Experiment, one usually needs to assign values to parameters defined on the corresponding Protocol. This class makes the association between the Experiment and the parameters, indicating which parameter is given what value. Input parameters can be given any datatype from the DataType enumeration and hence it is in principle impossible to assign a single datatype to the value attribute storing the parameter setting in this model. Whereas we might use a generic string data type, this will in many implementations limit the use of query expressions that one might use for numerical values for example. As a work around the current design has two attributes, one of type real, one of type string. The former should be used for numerical InputParanmeters, the latter for all others.
package experiment
attributes
name feature value
stringValue type ivoa:string
vodml-id resource.experiment.ParameterSetting.stringValue
multiplicity 0..1
description Attribute that holds on to the actual parameter value in case the referenced input parameter is not a numerical type.
numericValue type ivoa:RealQuantity
vodml-id resource.experiment.ParameterSetting.numericValue
multiplicity 0..1
description Attribute that holds on to the actual parameter value in case the referenced input parameter is a numerical type.
references
name feature value
inputParameter type InputParameter [SimDM:resource.protocol.InputParameter]
vodml-id resource.experiment.ParameterSetting.inputParameter
multiplicity 1
description Reference to the actual input parameter whose value is being set.

2.6.11 objectType: PostProcessing

vodml-id resource.experiment.PostProcessing
description Represents an experiment that corresponds to the execution of a PostProcessor protocol. It manipulates a pre-existing result to produce new results, but without introducing new physics.
package experiment
extends Experiment [SimDM:resource.experiment.Experiment]
references
name feature value
primaryExperiment type Experiment [SimDM:resource.experiment.Experiment]
vodml-id resource.experiment.PostProcessing.primaryExperiment
multiplicity 0..1
description The primary experiment whose results are being post-processed by this PostProcessing step. Simplifies looking up the original experiments, but is in principle redundant with the inputData.
role constraints
Constrained Role Constraint Feature Constraint Value
protocol [SimDM:resource.experiment.Experiment.protocol]
datatype PostProcessor [SimDM:resource.protocol.PostProcessor]

2.6.12 objectType: PropertyValue

vodml-id resource.experiment.PropertyValue
description Assign a value to a property of a data object.
package experiment
attributes
name feature value
stringValue type ivoa:string
vodml-id resource.experiment.PropertyValue.stringValue
multiplicity 0..1
description If the Property to which this value is assigned is not numeric, this attribute should be used to represent the value.
numericValue type ivoa:RealQuantity
vodml-id resource.experiment.PropertyValue.numericValue
multiplicity 0..1
description It the property to which this value is assigned is numerical, use this attribute to represent the value.
references
name feature value
property type Property [SimDM:object.Property]
vodml-id resource.experiment.PropertyValue.property
multiplicity 1
description The property to which the value is assigned.

2.6.13 objectType: Simulation

vodml-id resource.experiment.Simulation
description This class represents the execution of simulation codes. Its protocol is therefore a SimDM/Simulator iso a general SimDM/Protocol. It extends SimDM/Experiment by adding descriptions of the physical processes that were simulated
package experiment
extends Experiment [SimDM:resource.experiment.Experiment]
compositions
name feature value
appliedPhysics type AppliedPhysics [SimDM:resource.experiment.AppliedPhysics]
vodml-id resource.experiment.Simulation.appliedPhysics
multiplicity 0..*
isOrdered false
description This collections associates this SimDM/Simulation to the SimDM/Simulator's SimDM/Physics that was actually used. This element represents the possibility in most simulator codes to turn on or off specific physical processes in a simulation run. Examples are the option to have a pure dark matter simulation in an SPH code. Or a hydro code without gravity. The collection of SimDM/AppliedPhysics objects references thos modules that were actually used.
role constraints
Constrained Role Constraint Feature Constraint Value
protocol [SimDM:resource.experiment.Experiment.protocol]
datatype Simulator [SimDM:resource.protocol.Simulator]

2.6.14 enumeration: Statistic

vodml-id resource.experiment.Statistic
description This enumeration lists possible statistics that can be used to characterise a collection of Property-s in a result. The literals in this enumeration in general correspond to the result of simple statistical operation on this collection (when a posteriori) or on the corresponding operation on the a priori probability distribtion (assuming this can be defined) of its values. There is overlap between this enumeration and the 'stat' family of UCDs in the UCD controlled vocabulary (http://www.ivoa.net/Documents/REC/UCD/UCDlist-20070402.html). Where this enumeration is used one might consider using a vocabulary based on those terms.
package experiment
literals
name feature value
value vodml-id resource.experiment.Statistic.value
description In case an output data set contains exactly 1 object, the value statistic should be used to indicate the actual property value.
nominal vodml-id resource.experiment.Statistic.nominal
description A typical value, as judged by the publisher of the results. May not correspond to a predefined statistical operation such as mean or mode.
min vodml-id resource.experiment.Statistic.min
description Represents the minimum ('possible' if a priori, 'attained' if a osteriori) value for the characterised property.
max vodml-id resource.experiment.Statistic.max
description Represents the maximum ('possible' if a priori, 'attained' if a osteriori) value for the characterised property.
mode vodml-id resource.experiment.Statistic.mode
description Represents the mode of the distribution ('expected' if a priori, 'attained' if a posteriori) for the characterised property.
mean vodml-id resource.experiment.Statistic.mean
description Represents the mean ('expected' if a priori, 'attained' if a posteriori) value for the characterised property.
median vodml-id resource.experiment.Statistic.median
description Represents the median of a distribution.
stdev vodml-id resource.experiment.Statistic.stdev
description Represents the expected/attained standard deviation for the characterised property.
variance vodml-id resource.experiment.Statistic.variance
description Represents the expected/attained variance for the characterised property.

2.6.15 objectType: StatisticalSummary

vodml-id resource.experiment.StatisticalSummary
description This class allows users to provide a statistical characterisation of a collection of objects in a specified SimDM/OutputDataset. It represents both 'a priori' and 'a posteriori' characterisations. With a priori characterisation we indicate possible and/or nominal [?] values the variable may take, it defines the possible range of values of the SimDM/Property. In contrast, an a posteriori characterisation of a property in an collection provides summarising, likely statistical, information on the values that were actually measured (i.e. observed, simulated) by the objects in the collection. The a priori characterisation is most similar, in fact a generalisation of the Characterisation model of the IVOA Data Model working group. In the current model we stick to simple (numerical) quantities for characterising a collection of objects. For example the equivalent value of a support from the CharacterisationDM is absent, as it is not terribly useful for discovery and querying, even more so of course for concepts equivalent to sensitivity.
package experiment
attributes
name feature value
statistic type Statistic [SimDM:resource.experiment.Statistic]
vodml-id resource.experiment.StatisticalSummary.statistic
multiplicity 1
description This attribute indicates which statistic is used to statistically summarise the referenced SimDM/ObjectType's SimDM/Property.
aPriori type ivoa:boolean
vodml-id resource.experiment.StatisticalSummary.aPriori
multiplicity 0..1
description If 'true', this attribute indicates that the statistical characterisation of a SimDM/Propertyis aPriori. That is it indicates that the value says something about what the publisher believes are the possible values the SimDM/Property can assume. An "p priori" characterisation is therefore a translation of the effects that the input configuration (SimDM/ParameterSetting, SimDM/InputDataset), the "provenance-of-the-actual-experiment" therefore) is EXPECTED to have on the final result, represented by the SimDM/OutputDataset-s and the SimDM/Property-s of their constituent objects. Alternatively, if the value is "false", it indicates that the statistical charecterisation is 'a posteriori', i.e. it says something about the actual values that were assumed. This requires in general some level of post processing beyond simply storing the result, but in general using simple statistics such as mean and standard deviation that are not modelled as a separate SimDM/Experiment.
numericValue type ivoa:RealQuantity
vodml-id resource.experiment.StatisticalSummary.numericValue
multiplicity 1
description Summarising value of a numerical SimDM/Property in a collection of objects
stringValue type ivoa:string
vodml-id resource.experiment.StatisticalSummary.stringValue
multiplicity 0..1
description In case a string-typed property is summarised this attribute should be used to give the value. This would likely be applicable to a restricted set of statistics such as nominal value.
references
name feature value
axis type Property [SimDM:object.Property]
vodml-id resource.experiment.StatisticalSummary.axis
multiplicity 1
description The SimDM/Property of the SimDM/ObjectType that is being characterised. In the IVOA DM's characterisation model this is represented by specified objects, such as spatialaxis, timeaxis etc. Here we do not know in advance which kind of property is characterised, hence this explicit reference.

2.7 package: protocol

vodml-id resource.protocol
description This package contains the SimDM/Protocol and classes used in its definition.
parent resource
Object types Algorithm InputDataObjectType InputParameter OutputDataObjectType ParameterGroup ParameterGroupMember Physics PostProcessor Protocol Simulator
Parent package resource

2.7.1 objectType: Algorithm

vodml-id resource.protocol.Algorithm
description This class represents numerical algorithms available in a SimDM/Protocol. In Simulators an algorithm may approximate a physical process. Examples from cosmological simulations are different algorithms to implement gravity: direct particle-particle interaction, particle-mesh, or various types of tree based algorithms. In post-processors such as cluster finder this class can represent a partiular cluster definition such as friends-of-friends or spherical overdensity.
package protocol
referrers AppliedAlgorithm
attributes
name feature value
name type ivoa:string
vodml-id resource.protocol.Algorithm.name
multiplicity 1
description A common name given to this algorithm.
description type ivoa:string
vodml-id resource.protocol.Algorithm.description
multiplicity 0..1
description Short description of this algorithm.
label type ivoa:anyURI
semanticconcept Semantic top concept:
http://purl.org/astronomy/vocab/Algorithms/Algorithm
Vocabulary URI:
http://purl.org/astronomy/vocab/Algorithms
vodml-id resource.protocol.Algorithm.label
multiplicity 0..1
description Short name by which this algorithm is known in the SKOS vocabulary of numerical algorithms.

2.7.2 objectType: InputDataObjectType

vodml-id resource.protocol.InputDataObjectType
description Type of data objects that the protocol needs in its execution.
package protocol
extends ObjectType [SimDM:object.ObjectType]
referrers InputDataset
attributes
name feature value
label type ivoa:string
semanticconcept Semantic top concept:
http://purl.org/astronomy/vocab/DataObjectTypes/DataObjectType
Vocabulary URI:
http://purl.org/astronomy/vocab/DataObjectTypes
vodml-id resource.protocol.InputDataObjectType.label
multiplicity 0..1
description Label indicating the type of data object represented by this InputDataObjectType through reference to a SKOS concept.
references
name feature value
definition type OutputDataObjectType [SimDM:resource.protocol.OutputDataObjectType]
vodml-id resource.protocol.InputDataObjectType.definition
multiplicity 0..1
description If not null, this reference provides the definition of the input data object type as being a predefined SimDM/OutputDataObjectType of another SimDM/Protocol. It's implication is that the current SimDm/Protocol requires the results of another SimDM/Protocol for its execution. If this reference is null the input data object type must be defined using the properties inherited from the base object type.

2.7.3 objectType: InputParameter

vodml-id resource.protocol.InputParameter
description This class represent an input parameter on a protocol. In general,a simulation codes needs the user to set values to parameters that govern the running of the code. These may be parameters describing the physics in a simulation, or they may be numerical parameters governing the approximation of the process by a particular algorithm.
package protocol
extends Field [SimDM:object.Field]
referrers ParameterGroupMember ParameterSetting
attributes
name feature value
label type ivoa:anyURI
semanticconcept Semantic top concept:
http://purl.org/astronomy/vocab/Parameters/Parameter
Vocabulary URI:
http://purl.org/astronomy/vocab/PhysicalQuantities
http://purl.org/astronomy/vocab/Parameters
vodml-id resource.protocol.InputParameter.label
multiplicity 0..1
description A label to be given to this input parameter from an appropriate SKOS vocabulary.
constraints

2.7.4 objectType: OutputDataObjectType

vodml-id resource.protocol.OutputDataObjectType
description This class represents the type of data object that the container SimDM/Protocol can produce. This concept includes any type of data object the protocol deals with. It can range from the smallest data units such as individual N-Body particles or pixels in a synthetic spectrum, up to the largest which may be a collection of snapshots in an N-body simulation ,each of them containing collections of particles. It defines also the actual SimDM/OutputDataset-s that a SimDM/Experiment's has produced. Since a SimDM/OutputDataObjectType is-a SimDM/ObjectType, it can be related to other objects using SimDM/Relationship-s. In this way a hierarchy of data types can be described. For example a spectrum can be a such a data object and will be composed of pixels. A FOF group catalogue will be composed of FOF groups which are aggregations of particles.
package protocol
extends ObjectType [SimDM:object.ObjectType]
referrers InputDataObjectType
attributes
name feature value
label type ivoa:anyURI
semanticconcept Semantic top concept:
http://purl.org/astronomy/vocab/DataObjectTypes/DataObjectType
Vocabulary URI:
http://purl.org/astronomy/vocab/DataObjectTypes
vodml-id resource.protocol.OutputDataObjectType.label
multiplicity 0..1
description Name that this type of particle is given in an appropriate SKOS vocabulary.

2.7.5 objectType: ParameterGroup

vodml-id resource.protocol.ParameterGroup
description Represents a (natural) grouping of SimDM/InputParameters. Especially in protocols with large numbers of parameters it may be useful to group these for browsing purposes for example. As browsing is likely an important mode of access to SimDM/Resource-s stored in a SimDB for example, this possibility was introduced. But the main use should be reserved for semantic groupings. For example all parameters together defining the cosmology a certain simulation is run in. Or the parameters setting "merely" numerical properties such as smoothing lengths.
package protocol
attributes
name feature value
name type ivoa:string
vodml-id resource.protocol.ParameterGroup.name
multiplicity 1
description Name given to this group.
description type ivoa:string
vodml-id resource.protocol.ParameterGroup.description
multiplicity 0..1
description Short description of the purpose of this group.
compositions
name feature value
member type ParameterGroupMember [SimDM:resource.protocol.ParameterGroupMember]
vodml-id resource.protocol.ParameterGroup.member
multiplicity 1..*
isOrdered false
description Collection of associative member objects, indicating which parameter is part of the group.

2.7.6 objectType: ParameterGroupMember

vodml-id resource.protocol.ParameterGroupMember
description Associative class, representing a selection of a parameter in a parameter grouping.
package protocol
references
name feature value
parameter type InputParameter [SimDM:resource.protocol.InputParameter]
vodml-id resource.protocol.ParameterGroupMember.parameter
multiplicity 1
description Reference to the selected input parameter.

2.7.7 objectType: Physics

vodml-id resource.protocol.Physics
description This class represents a physical processes that is modelled in a simulation code. Simulating a physical process generally corresponds to solving equations of motion numerically, evolving the simulated system from one state to the next.
package protocol
referrers AppliedPhysics
attributes
name feature value
name type ivoa:string
vodml-id resource.protocol.Physics.name
multiplicity 1
description Name by which this physical process is represented in the simulator code
description type ivoa:string
vodml-id resource.protocol.Physics.description
multiplicity 1
description Short description of the physical process represented by this class.
label type ivoa:anyURI
semanticconcept Semantic top concept:
http://purl.org/astronomy/vocab/PhysicalProcesses/PhysicalProcess
Vocabulary URI:
http://purl.org/astronomy/vocab/PhysicalProcesses
vodml-id resource.protocol.Physics.label
multiplicity 1
description The SKOS concept identifying this process in a standardised SKOS vocabulary.

2.7.8 objectType: PostProcessor

vodml-id resource.protocol.PostProcessor
description This concrete subclass of SimDM/Protocol represents protocols that deal with post-processing results of earlier experiments. We do not specify the details of this type much further. Main difference with eg the SimDM/Simulator type is that NO new physical processes are introduced/simulated in the processing of the previous results. Examples are cluster finders, visualisation tools etc.
package protocol
extends Protocol [SimDM:resource.protocol.Protocol]

2.7.9 objectType: Protocol

vodml-id resource.protocol.Protocol
description A SimDM/Protocol represents software code that can be used to run astrophysical simulations or to post-process simulation results. A SimDM/Protocol defines the method by which SimDM/Experiment-s can be performed, like a blue-print, or template. The SimDM/Protocol concept is separated out from the execution of its code in SimDM/Experiment, which allows us to reuse it for all experiments using the same code. The concept is a direct gemeralisation of the concept by the same name in Martin Fowler's book "Analysis Patterns: Reusable Object Models" (Addison-Wesley Professional, 1996).
package protocol
extends Resource [SimDM:resource.Resource]
abstract True
Subclasses in this model PostProcessor Simulator
referrers Experiment
attributes
name feature value
code type ivoa:anyURI
vodml-id resource.protocol.Protocol.code
multiplicity 0..1
description link where the code can be downloaded, if available
version type ivoa:string
vodml-id resource.protocol.Protocol.version
multiplicity 1
description the version of the simulator code that was used
compositions
name feature value
algorithm type Algorithm [SimDM:resource.protocol.Algorithm]
vodml-id resource.protocol.Protocol.algorithm
multiplicity 0..*
isOrdered false
description This collection indicates which algorithms are available on the protocol.
inputType type InputDataObjectType [SimDM:resource.protocol.InputDataObjectType]
vodml-id resource.protocol.Protocol.inputType
multiplicity 0..*
isOrdered false
description Collection of object types that the Protocol may need for its execution.
outputType type OutputDataObjectType [SimDM:resource.protocol.OutputDataObjectType]
vodml-id resource.protocol.Protocol.outputType
multiplicity 0..*
isOrdered false
description The collection of SimDM/OutputDataObjectType-s that can be produced by the parent SimDM/Protocol.
parameter type InputParameter [SimDM:resource.protocol.InputParameter]
vodml-id resource.protocol.Protocol.parameter
multiplicity 0..*
isOrdered false
description Collection of input parameters for this protocol.
parameterGroup type ParameterGroup [SimDM:resource.protocol.ParameterGroup]
vodml-id resource.protocol.Protocol.parameterGroup
multiplicity 0..*
isOrdered false
description Collection of parameter groups. This is a utility colection, indicating that a particular grouping of parameters is natural. Useful for browsing the protocol's contents.

2.7.10 objectType: Simulator

vodml-id resource.protocol.Simulator
description This class represents the simulation software that one uses to run a simulation. It is a special case of a SimDM/Protocol. It is different from other SimDM/Protocols in that it explicitly defines the physical processes that are (can be) simulated. This indeed is the defining characteristic of the SimDM/Simulator: it simulates/models physical processes. This in contrast to a "mere" SimDM/PostProcessor which takes the input data and analyses it without adding new physics. It does not imply that simulators can not use existing results. For example consider semi-analytical galaxy formation routines which work on existing halo (merger) catalogues.
package protocol
extends Protocol [SimDM:resource.protocol.Protocol]
compositions
name feature value
physicalProcess type Physics [SimDM:resource.protocol.Physics]
vodml-id resource.protocol.Simulator.physicalProcess
multiplicity 1..*
isOrdered false
description Collection of physical processes that can be simulated using this simulator.


3.Element Identifiers/VO-DMLrefs

The following table shows all fully qualified vodml-ids for this data model. It is ordered alphabetically and the identifiers are hyper-linked to the location in the document where the actual element is fully defined.
vodml-id feature type description
vo-dml:model This is the data model for describing simulations, the code that produced them and other related resources. It is to be used by protocol specifications for discovering theory data products and web services with which these can be accessed. An example of these are the Simulation Database (SimDB) spec and the family of protocols to be defined in the Simulation Data Access Layer (SimDAL). This data model is a specification of the IVOA Theory Interest Group.
meta package This package defines some very basic "meta" types such as the basic DataType enumerations etc.
meta.Cardinality enumeration This enumeration contains the possible values for the cardinality attribute of a Field definition.
meta.Cardinality.MANDATORY literal Corresponds to 'Mandatory element'
meta.Cardinality.ONE_MANY literal Corresponds to 'Multiple with at least one element'
meta.Cardinality.OPTIONAL literal Corresponds to 'Optional element'
meta.Cardinality.ZERO_MANY literal Corresponds to 'Multiple but maybe Optional element'
meta.DataType enumeration The DataType enumeration lists the available values for the datatype attributes used in the definition of metadata fields such as Property and InputParameter. The values represent rather abstract data types. For example no distinction is made between different representations of integer (short, int, long) or floating point (float, double) types. Instead the mathematical number fields integer and real are used, together with rational and complex. Alternative representations or usages of this model might add such details.
meta.DataType.boolean literal A standard boolean type, with values 'true' and 'false', possibly represented differently in physical representations of the model.
meta.DataType.complex literal A standard complex type. Here no limits on accuracy of constituent Re and Im parts is made, they are assumed to be real.
meta.DataType.datetime literal Represents an exact time on an exact, given date. No accuracy is assumed.
meta.DataType.integer literal An integer datatype, without implied accuracy.
meta.DataType.rational literal A rational datatype, consisting of two integers representing the numerator and denominator.
meta.DataType.real literal A floating point datatype, without impied accuracy.
meta.DataType.string literal A standard string datatype consisting of any type of character.
object package This package contains SimDM/ObjectType and classes used in its definition. These classes allow users to describe structured objects that are used in, or produced by the SImDM/Protocols.
object.Field objectType Represents a generic field like object.
object.Field.cardinality attribute The cardinality of this parameter or property
object.Field.datatype attribute the data type of this parameter or property
object.Field.description attribute Short description of this parameter or property
object.Field.isEnumerated attribute indicates if this parameter or property only accept values coming from a list of valid values defined by the validValue collection
object.Field.name attribute the name of this parameter or property. Ex: omegaLambda, particleMass, linking length
object.Field.validValue composition List of possible values : only defined when isEnumerated = true
object.ObjectType objectType This class represents and abstract object type, and can thus be seen as a meta-modelling construct. It allows model instances that represent complex object definitions.
object.ObjectType.description attribute Short description of this object type.
object.ObjectType.name attribute The name of this object type.
object.ObjectType.property composition Collection of properties.
object.ObjectType.propertyGroup composition Collection of property groups.
object.ObjectType.relationship composition Collection of relations to object types that may be contained or aggregated by this object type or referenced by it.
object.Property objectType The properties of an object. Similar to the FIELD in a VOTable
object.Property.label attribute The concept represented by this property. This concept should be narrower than the broadestSKOSConcept.
object.PropertyGroup objectType This class represents a naturla grouping of properties on the object type. Is used for presentation purposes in a browsing environment.
object.PropertyGroup.description attribute Description of this group.
object.PropertyGroup.member composition Collection of members of this parameter grouping.
object.PropertyGroup.name attribute Name of this paarameter grouping.
object.PropertyGroupMember objectType Assocuiative object that represents a member in a property group.
object.PropertyGroupMember.property reference Reference to the actual property this class associates to a property group.
object.Relationship objectType This class assists in the definition of an object hierarchy by associating different objects. The type of relationship is borrowed loosely from UML, and can represent a composition, aggregation or reference, as defined by the relationshipType attribute. An example is the composition relationship between a image and its pixels, or the aggregation of a FOF group and its constituent particles.
object.Relationship.cardinality attribute The cardinality/multiplicity of the child object in the containing object.
object.Relationship.description attribute Describes the relation between the parent and child object type.
object.Relationship.name attribute Name of the variable representing the relationship on the containing parent object type.
object.Relationship.relatedObjectType reference Reference to the ObjectType that is the child in the hierarchical parent-child relation.
object.Relationship.relationshipType attribute This attributes indicates the type of relaion between the parent and the related object.
object.RelationshipType enumeration Type of relationship between an ObjectType and the related object type.
object.RelationshipType.composition literal Represents the usual UML-like composition relation.
object.RelationshipType.reference literal Represents a 0..1 relation between an object (the referree) and the related object (the reference). Indicates a general dependency. Example, relations between a galaxy and its descendant in a merger tree, or between a source catalogue and the image it was extracted from.
object.ValidValue objectType This represents a value for an enumerated parameter or property
object.ValidValue.description attribute A description of this value.
object.ValidValue.title attribute Short name / alias for this value (useful in GUI)
object.ValidValue.value attribute the value as string : can be converted to the correct datatype of the asociated parameter or property
resource package This is a root package of the SimDM data model. It contains all packages defining the main entities of the model as subpackages. It contains the SimDM/Resource and SimDM/Party root entity classes and various data types and enumerations. It depends on the object package.
resource.Contact objectType This class connects a Party to a resource. It indicates the role the party plays on the resource, for example creator, owner or publisher.
resource.Contact.party reference Reference to the Party that the Contact associates to the Resource.
resource.Contact.role attribute The role this contact plays in the Resource
resource.ContactRole enumeration The ContactRole enumeration contains the different roles a SimDM/Party can play in the creation or publishing of a SimDM/Resource.
resource.ContactRole.contributor literal Role indicating that a certain SimDM/Party made some otherwise unspecified contribution to the creation of the SimDM/Resource.
resource.ContactRole.creator literal Role indicating that a certain SimDM/Party created the SimDM/Resource.
resource.ContactRole.owner literal Role indicating that a certain SimDM/Party owns the SimDM/Resource.
resource.ContactRole.publisher literal Role indicating that a certain SimDM/Party published the SimDM/Resource in a SimDB repository for example.
resource.Party objectType Information that describes a Party, that is a person/individual or possibly an organisation.
resource.Party.address attribute the contact mailing address All components of the mailing address are given in one string, e.g. "3700 San Martin Drive, Baltimore, MD 21218 USA".
resource.Party.email attribute the contact email address
resource.Party.name attribute the name or title of the contact person. This can be a person's name, e.g. "John P. Jones" or a group, "Archive Support Team".
resource.Party.telephone attribute the contact telephone number Complete international dialing codes should be given, e.g. "+1-410-338-1234".
resource.Project objectType A SimDM/Project is an aggregation of SimDM/Resource-s that belong together, for example because they have been produced together in the course of a scientific project. Examples are parameter studies where a large number of simulations is run with slightly varying parameter settings. But also a single large simulation with a number of post-processing results can be gathers in this way. It is assumed that SimDM/Project are generally "big enough" to qualify to be represented as a full-fledged Registry/Resource in an IVOA Registry. This possibility was on of the reasons to add this concept to the model.
resource.Project.resource composition Collection of associatiions to the resources that make up this project.
resource.ProjectResource objectType Associative class between a SimDM/Project and its constitutent SimDM/Resource-s.
resource.ProjectResource.resource reference Reference to another SimDM/Resource that is included in the containing SimDM/Project.
resource.Resource objectType This class represents the main resources defined by the Simulation Data Model in the same way as the Registry/Resource class represents resources in registries. It is the base class of specialisations SimDM/Protocol, SimDM/Experiment, SimDM/Project and SimDM/Service. These resources are the root entities that would get registered in a Simulation Database for example. They are also represented by root element declarations in XML schema serialisations of the model. This class is a thin copy of the Registry/Resource and borrows some of its elements. It *is-not-a* Registry Resource in the sense of inheritance. In particular a SimDM/Resource has a more refined and targeted content model. Also, SimDM/Resource-s are in general (much) more fine grained than Registry/Resource-s and would not qualify to be registered in an IVOA Registry. It will howevere be possible to transform certain SimDM/Resource-s into Registry/Resource-s.
resource.Resource.contact composition The collection of contacts for a Reource.
resource.Resource.created attribute The UTC date and time this resource was created in the real world.
resource.Resource.description attribute A description of this resource.
resource.Resource.name attribute For Protocol : The name by which this simulator is commonly known. Ex: Gadget, Flash For Project : the name of the project For Experiment : the name of this experiment
resource.Resource.referenceURL attribute a URL to a web page describing the resource.
resource.Resource.status attribute a tag indicating whether this resource is believed to be still actively maintained.
resource.Resource.target composition This collection of Target, describing the different targets/goals/objectives of this Experiment.
resource.Resource.updated attribute The UTC date and time this resource was updated in the real world.
resource.Target objectType Represents the scientific goal associated to a SimDM/Resource. This can be the goal of an experiment or project, or the type of object that a particular protocol will always produce. Is made concrete by suclasses representing objects or processes. We model a Target as "being an" ObjectType, which allows one to give a more detailed representation of its properties. The target is important as it represents one of the main questions scientists will ask about an experiment: what kind of astrophysical object or system or process was being simulated or modelled.
resource.TargetObjectType objectType This class represents the actual system that is being simulated. Instances of this object should correspond to physical objects and/or systems. They should be the answer to queries such as, “what does this simulation simulate?”
resource.TargetObjectType.identityName attribute If the target object type referes to a real object, this attribute allows one to indicate which object. This is performed by a URI that should identify the object in the Ontology of SimbadIdentifiedNames In some cases a real identified object in the universe is being modelled. If that is the case, this attribute allows that object to be identified. We assume a list of such objects may be provided through some means, embodied by the IdentifiedObject data type. Ex: Galaxy, Antennae, M31.
resource.TargetObjectType.label attribute Represents a concept in a SKOS vocabulary of astronomical and astrophysical object types.
resource.TargetObjectType.multiplicity attribute Indication on how many objects of this type are being modelled.
resource.TargetProcess objectType This class represents the fact that some simulations are run with the goal (Target) to investigate physical processes, rather than simulation specific objects or systems. Instances of this class can be used to describe this. For example one may study "turbulence", or "gravitational cluster" or "galaxy formation".
resource.TargetProcess.label attribute A term from the AstroJournalSubjectKeywords ontology.
resource.dal package This package holds on to SimDM/Service and classes used in its definition. It represents functions for accessing the physical resources described by the model such as the results of simulations and post-processing experiments.
resource.dal.AccessibleResource objectType The AccessibleResource class represents an association between the containing SimDM/Service and the SimDM/Resource-s that are being made accessible by that service.
resource.dal.AccessibleResource.accessURI attribute Direct URI for accessing the referenced SimDM/Resource using the parent service. The parent service has a baseURL through which one can access the service interface. From there one may be able to browse through all SimDM/Resource-s that are made available, but a specific (data access) protocol to reach a given SimDM/Resource or how to browse these SimDM/Resource-s is not defined by this model. IF it is possible to access the SimDM/Resource directly through the SimDM/Service, for example to download or browse its contents, this attribute gives the corresponding URI.
resource.dal.AccessibleResource.description attribute Description of how the particular SimDM/Resource referenced by this object is made available by the parent SimDM/Service.
resource.dal.AccessibleResource.resource reference This reference points to the SimDM/Resource that this SimDM/AccessibleResource class associates to the SimDM/Service. The end point can be any SimDM/Resource.
resource.dal.CustomService objectType The CustomService class represents a custom SimDM/Service for accessing SimDM/Resource-s. It is not assumed that a predefined protocol is implemented. Its main role is to distinnguish it from SimDAL and other services implementing potential, future IVOA standards. But many interesting custom services giving access to simulation results exist and can be reistered and discovered through this class.
resource.dal.Service objectType This class represents a web service that can be used to access SimDM/Resource-s registered in for example a SimDB. The precise way in which the web service gives access to these results not specified in detail. It includes simple downloads, and services implementing standards such as SimDAL. SimDM/Service is related to SimDM/Resource and can be used for more general purposes than simply giving access to results of a single experiment. It may be a web service that can handle results of any experiment performed by a particular SimDM/Protocol, or give access to all resources in a SimDM/Project. The main goal of introducing SimDM/Service in the model is so that users can find web services based on requests for specific tyes of simulations etc. For example users may wish to find web services giving access to hydro simulations of clusters of galaxies with particular properties. . It is assumed that web services registerd in a SimDB are also registered in a Registry which will store the more detailed capbilitieis and other service metadata. Therefore such details are not introduced here.
resource.dal.Service.baseURL attribute The base URL of this SimDM/Service. In case the web service implements a standard IVOA protocol such as SimDAL, this base URL can be used in the same way as other typical IVOA S*AP services. Parameters defined by the standard may be added to the base URL so that a proper HTTP GET request can be created for accessing the web service directly.
resource.dal.Service.registryId attribute The IVO identifier by which this service is registered in an IVOA Resource Registry. Each SimDM/Service should be registered in such a registry and this identifier allows one to obtain the full description of this service as defined by the Registry standard.
resource.dal.Service.resource composition Collection of SimDM/AccessibleResource that reference SimDM/Resource-s that are made available in this SimDM/Service.
resource.dal.SimDALService objectType Represents a SimDM/Service conforming to a SimDAL protocol. This is a place holder class that may in future version of the model be defined in more detail when SimDAL services themselves have been fully specified.
resource.experiment package This package contains the SimDM/Experiment class, its subclasses and and other types contained by these. It is a sub-package of the resource package.
resource.experiment.AppliedAlgorithm objectType The AppliedAlgorithm class represents the application of a particular algorithm in an experiment. Some simulation codes allow one to choose between different algorithms for representing a particular process. For example some N-Body codes allow one to choose between Tree-only or Tree+ParticleMesh codes. To indicate which algorithms were actually used in an experiment one adds an instance of this AppliedAlgorithm class to the collection on the experiment.
resource.experiment.AppliedAlgorithm.algorithm reference Reference to the actual algorithm that is applied
resource.experiment.AppliedPhysics objectType The AppliedPhysics class represents the association between a physical process on a Simulator and this class' parent Simulation. Many simulation codes allow one to turn on or off modules corresponding to different physics. For example certain SPH codes allow one to turn off the hydrodynamics, leaving only gravity as the physical process being simulated.
resource.experiment.AppliedPhysics.physics reference Reference to the Simulator's Physcis module that is used in the Simulation.
resource.experiment.DataObject objectType Represents an individual object of a given object type produced by an experiment. Is required if we want to represent object-object collection hierarchies. NB the name DataObject is used iso Object, as the latter may lead to name clashes in serialisations. In this model any artefact produced by a Protocol can be represented by an appropriate ObjectType and relations can exist between them. Some of these relations are many-to-one, i.e. between object collections and parent ojects. If such relations must also be represented in the output of an Experiment, it must be possible to represent individual objects. A typical example is a cosmological simulation produccing N > 1 snapshots. We may want to represent each individual snapshot in the result, together with statistical information about the collections of particles contained in each. The object can give values to properties related to objects of its type. In principlpe this model now would allow one to describe an experiment in all details, with each individual object listed. This is as should be for a conceptual model, but in particular applications we envision that limits be put on the size of results. For example it does not make sense to store the complete results of a large cosmolgical simulation in this way, as the storage of property values is inefficient.
resource.experiment.DataObject.collection composition TODO : Missing description : please, update your UML model asap.
resource.experiment.DataObject.property composition TODO : Missing description : please, update your UML model asap.
resource.experiment.DataObject.reference composition TODO : Missing description : please, update your UML model asap.
resource.experiment.Experiment objectType The SimDM/Experiment represents the execution of a computer program represented by a SimDM/Protocol. It defines how the program was run by providing values to parameters for example. It describes the goal of the experiment in terms of the physical objects and processes that are being simulated and it contains the collection of results.
resource.experiment.Experiment.appliedAlgorithm composition Collection of AppliedAlgorithm objects, indicating which Algorithms available on a Protocl were used in the execution of the Experiment.
resource.experiment.Experiment.executionTime attribute The date/time at which the experiment was completed
resource.experiment.Experiment.inputData composition The collection of InputData objects, indicating results of other Esperiments that may have been used in the execution of this Experiment.
resource.experiment.Experiment.outputData composition The collection of SimDM/OutputDataset-s created by a SimDM/Experimental. We anticipate that experiments produce data sets of different SimDM/OutputDataObjectType-s. For each of these types a separate SimDM/OutputDataset, is provided on the SimDM/Experiment.
resource.experiment.Experiment.parameter composition The collection of ParameterSetting objects that describe the values assigned to parameters of the Protocol used in the execution of this Experiment.
resource.experiment.Experiment.protocol reference Reference to the Protocol used in the exeuciton of this Experiment. Subclasses of this Experiment will in general override/"subset" this reference to subclasses of Protocol.
resource.experiment.InputDataObject objectType Associates an individual Object to an InputDataSet. Thus if for example only 3 individual snapshots out of a collection of N snapshots produced by a cosmological simulation are post-processed, the actual snapshots used can be indicated using this associative object.
resource.experiment.InputDataObject.object reference Reference to an actual object that is being used in an experiment.
resource.experiment.InputDataset objectType Many experiments require pre-existing data sets for their execution. This class represents such an association for its parent SimDM/Experiment. It is assumed to contain 1 or more objects of a specified SimDM/InputDataObjectType defined on the SimDM/Protocol used by the container SimDM/Experiment. In those cases where the actual input data set is represented by a SimDM/OutputDataset, for example in a SimDB, we can represent the input data by a corresponding reference. Whereas that would be optimal, it may not always be practical. In cases where this is not so, this reference is replaced with an accessURL attribute on this class. This would allow a user to find out whether a product exists in the database with that same url, make the link indirect but arguably more correct.
resource.experiment.InputDataset.description attribute Describes the role that the input data set plays in the experiment.
resource.experiment.InputDataset.object composition Collection of object associations that identify explicitly which objects from a collection of objects are used as input data in an experiment.
resource.experiment.InputDataset.product reference The SimDM/OutputDataset produced by an earlier SimDM/Experiment that is used as input data for the current one.
resource.experiment.InputDataset.type reference Reference to the type definition for this SimDM/InputDataset. This must refer to a SimDM/InputDataObjectType defined on the SimDM/Protocol according to which the SimDM/Experiment is performed.
resource.experiment.InputDataset.url attribute URL by which the input data set can be obtained.
resource.experiment.ObjectCollection objectType Instance of a composition Relationship between an ObjectType and a collection of objects.
resource.experiment.ObjectCollection.collection reference TODO : Missing description : please, update your UML model asap.
resource.experiment.ObjectCollection.collectionDefinition reference reference to the relationship definition on the ObjectType that is represented by the ObjectCollection. The referenced Relationship MUST have relationshipType='composition'.
resource.experiment.ObjectReference objectType Instance of a reference Relationship between two ObjectType-s.
resource.experiment.ObjectReference.object reference The object referenced by the ObjectReference's parent DataObject.
resource.experiment.ObjectReference.referenceDefinition reference Reference to the relationship definition on the ObjectType that is represented by the ObjectReference. The referenced Relationship MUST have relationshipType='reference'.
resource.experiment.OutputDataset objectType This class represents 1 or more instances of a single SimDM/OutputDataObjectType-s produced by an SimDM/Experiment. No assumption is made how a SimDM/OutputDataset is represented in the real world. It may consist of one or multiple files, or possibly one or more tables in a database, or subsets thereof. The exact storage is not currently modelled. The class represents an actual collection of objects without (necessarily) listing these all. Instead it is to be used to allow statistical summaries/characterisation of these products. A special feature is that a SimDM/OutputDataset may define a dependency on another, 'parent' data set. This reflects to possibility in the SimDM/Protocol to model relationships between different SimDM/OutputDataObjectType-s. This is implemented using two references, one to the parent SimDM/OutputDataset, the other to the SimDM/Relationship.
resource.experiment.OutputDataset.accessURL attribute Represents an optional reference to a URL from which the SimDM/OutputDataset can be obtained. No statement is made on whether this should represent a simple file for download, or a link to a web page with information how to obtain it.
resource.experiment.OutputDataset.characterisation composition This collection contains the SimDM/StatisticalSummary of the different SimDM/Property-s of the objects in the parent's SimDM/OutputDataset.
resource.experiment.OutputDataset.numberOfObjects attribute Gives the number of objects in this SimDM/OutputDataset
resource.experiment.OutputDataset.object composition TODO : Missing description : please, update your UML model asap.
resource.experiment.OutputDataset.objectType reference This reference to SimDM/DataObjectType indicates the type of data object stored in this collection.
resource.experiment.ParameterSetting objectType To run an Experiment, one usually needs to assign values to parameters defined on the corresponding Protocol. This class makes the association between the Experiment and the parameters, indicating which parameter is given what value. Input parameters can be given any datatype from the DataType enumeration and hence it is in principle impossible to assign a single datatype to the value attribute storing the parameter setting in this model. Whereas we might use a generic string data type, this will in many implementations limit the use of query expressions that one might use for numerical values for example. As a work around the current design has two attributes, one of type real, one of type string. The former should be used for numerical InputParanmeters, the latter for all others.
resource.experiment.ParameterSetting.inputParameter reference Reference to the actual input parameter whose value is being set.
resource.experiment.ParameterSetting.numericValue attribute Attribute that holds on to the actual parameter value in case the referenced input parameter is a numerical type.
resource.experiment.ParameterSetting.stringValue attribute Attribute that holds on to the actual parameter value in case the referenced input parameter is not a numerical type.
resource.experiment.PostProcessing objectType Represents an experiment that corresponds to the execution of a PostProcessor protocol. It manipulates a pre-existing result to produce new results, but without introducing new physics.
resource.experiment.PostProcessing.primaryExperiment reference The primary experiment whose results are being post-processed by this PostProcessing step. Simplifies looking up the original experiments, but is in principle redundant with the inputData.
resource.experiment.PropertyValue objectType Assign a value to a property of a data object.
resource.experiment.PropertyValue.numericValue attribute It the property to which this value is assigned is numerical, use this attribute to represent the value.
resource.experiment.PropertyValue.property reference The property to which the value is assigned.
resource.experiment.PropertyValue.stringValue attribute If the Property to which this value is assigned is not numeric, this attribute should be used to represent the value.
resource.experiment.Simulation objectType This class represents the execution of simulation codes. Its protocol is therefore a SimDM/Simulator iso a general SimDM/Protocol. It extends SimDM/Experiment by adding descriptions of the physical processes that were simulated
resource.experiment.Simulation.appliedPhysics composition This collections associates this SimDM/Simulation to the SimDM/Simulator's SimDM/Physics that was actually used. This element represents the possibility in most simulator codes to turn on or off specific physical processes in a simulation run. Examples are the option to have a pure dark matter simulation in an SPH code. Or a hydro code without gravity. The collection of SimDM/AppliedPhysics objects references thos modules that were actually used.
resource.experiment.Statistic enumeration This enumeration lists possible statistics that can be used to characterise a collection of Property-s in a result. The literals in this enumeration in general correspond to the result of simple statistical operation on this collection (when a posteriori) or on the corresponding operation on the a priori probability distribtion (assuming this can be defined) of its values. There is overlap between this enumeration and the 'stat' family of UCDs in the UCD controlled vocabulary (http://www.ivoa.net/Documents/REC/UCD/UCDlist-20070402.html). Where this enumeration is used one might consider using a vocabulary based on those terms.
resource.experiment.Statistic.max literal Represents the maximum ('possible' if a priori, 'attained' if a osteriori) value for the characterised property.
resource.experiment.Statistic.mean literal Represents the mean ('expected' if a priori, 'attained' if a posteriori) value for the characterised property.
resource.experiment.Statistic.median literal Represents the median of a distribution.
resource.experiment.Statistic.min literal Represents the minimum ('possible' if a priori, 'attained' if a osteriori) value for the characterised property.
resource.experiment.Statistic.mode literal Represents the mode of the distribution ('expected' if a priori, 'attained' if a posteriori) for the characterised property.
resource.experiment.Statistic.nominal literal A typical value, as judged by the publisher of the results. May not correspond to a predefined statistical operation such as mean or mode.
resource.experiment.Statistic.stdev literal Represents the expected/attained standard deviation for the characterised property.
resource.experiment.Statistic.value literal In case an output data set contains exactly 1 object, the value statistic should be used to indicate the actual property value.
resource.experiment.Statistic.variance literal Represents the expected/attained variance for the characterised property.
resource.experiment.StatisticalSummary objectType This class allows users to provide a statistical characterisation of a collection of objects in a specified SimDM/OutputDataset. It represents both 'a priori' and 'a posteriori' characterisations. With a priori characterisation we indicate possible and/or nominal [?] values the variable may take, it defines the possible range of values of the SimDM/Property. In contrast, an a posteriori characterisation of a property in an collection provides summarising, likely statistical, information on the values that were actually measured (i.e. observed, simulated) by the objects in the collection. The a priori characterisation is most similar, in fact a generalisation of the Characterisation model of the IVOA Data Model working group. In the current model we stick to simple (numerical) quantities for characterising a collection of objects. For example the equivalent value of a support from the CharacterisationDM is absent, as it is not terribly useful for discovery and querying, even more so of course for concepts equivalent to sensitivity.
resource.experiment.StatisticalSummary.aPriori attribute If 'true', this attribute indicates that the statistical characterisation of a SimDM/Propertyis aPriori. That is it indicates that the value says something about what the publisher believes are the possible values the SimDM/Property can assume. An "p priori" characterisation is therefore a translation of the effects that the input configuration (SimDM/ParameterSetting, SimDM/InputDataset), the "provenance-of-the-actual-experiment" therefore) is EXPECTED to have on the final result, represented by the SimDM/OutputDataset-s and the SimDM/Property-s of their constituent objects. Alternatively, if the value is "false", it indicates that the statistical charecterisation is 'a posteriori', i.e. it says something about the actual values that were assumed. This requires in general some level of post processing beyond simply storing the result, but in general using simple statistics such as mean and standard deviation that are not modelled as a separate SimDM/Experiment.
resource.experiment.StatisticalSummary.axis reference The SimDM/Property of the SimDM/ObjectType that is being characterised. In the IVOA DM's characterisation model this is represented by specified objects, such as spatialaxis, timeaxis etc. Here we do not know in advance which kind of property is characterised, hence this explicit reference.
resource.experiment.StatisticalSummary.numericValue attribute Summarising value of a numerical SimDM/Property in a collection of objects
resource.experiment.StatisticalSummary.statistic attribute This attribute indicates which statistic is used to statistically summarise the referenced SimDM/ObjectType's SimDM/Property.
resource.experiment.StatisticalSummary.stringValue attribute In case a string-typed property is summarised this attribute should be used to give the value. This would likely be applicable to a restricted set of statistics such as nominal value.
resource.protocol package This package contains the SimDM/Protocol and classes used in its definition.
resource.protocol.Algorithm objectType This class represents numerical algorithms available in a SimDM/Protocol. In Simulators an algorithm may approximate a physical process. Examples from cosmological simulations are different algorithms to implement gravity: direct particle-particle interaction, particle-mesh, or various types of tree based algorithms. In post-processors such as cluster finder this class can represent a partiular cluster definition such as friends-of-friends or spherical overdensity.
resource.protocol.Algorithm.description attribute Short description of this algorithm.
resource.protocol.Algorithm.label attribute Short name by which this algorithm is known in the SKOS vocabulary of numerical algorithms.
resource.protocol.Algorithm.name attribute A common name given to this algorithm.
resource.protocol.InputDataObjectType objectType Type of data objects that the protocol needs in its execution.
resource.protocol.InputDataObjectType.definition reference If not null, this reference provides the definition of the input data object type as being a predefined SimDM/OutputDataObjectType of another SimDM/Protocol. It's implication is that the current SimDm/Protocol requires the results of another SimDM/Protocol for its execution. If this reference is null the input data object type must be defined using the properties inherited from the base object type.
resource.protocol.InputDataObjectType.label attribute Label indicating the type of data object represented by this InputDataObjectType through reference to a SKOS concept.
resource.protocol.InputParameter objectType This class represent an input parameter on a protocol. In general,a simulation codes needs the user to set values to parameters that govern the running of the code. These may be parameters describing the physics in a simulation, or they may be numerical parameters governing the approximation of the process by a particular algorithm.
resource.protocol.InputParameter.label attribute A label to be given to this input parameter from an appropriate SKOS vocabulary.
resource.protocol.OutputDataObjectType objectType This class represents the type of data object that the container SimDM/Protocol can produce. This concept includes any type of data object the protocol deals with. It can range from the smallest data units such as individual N-Body particles or pixels in a synthetic spectrum, up to the largest which may be a collection of snapshots in an N-body simulation ,each of them containing collections of particles. It defines also the actual SimDM/OutputDataset-s that a SimDM/Experiment's has produced. Since a SimDM/OutputDataObjectType is-a SimDM/ObjectType, it can be related to other objects using SimDM/Relationship-s. In this way a hierarchy of data types can be described. For example a spectrum can be a such a data object and will be composed of pixels. A FOF group catalogue will be composed of FOF groups which are aggregations of particles.
resource.protocol.OutputDataObjectType.label attribute Name that this type of particle is given in an appropriate SKOS vocabulary.
resource.protocol.ParameterGroup objectType Represents a (natural) grouping of SimDM/InputParameters. Especially in protocols with large numbers of parameters it may be useful to group these for browsing purposes for example. As browsing is likely an important mode of access to SimDM/Resource-s stored in a SimDB for example, this possibility was introduced. But the main use should be reserved for semantic groupings. For example all parameters together defining the cosmology a certain simulation is run in. Or the parameters setting "merely" numerical properties such as smoothing lengths.
resource.protocol.ParameterGroup.description attribute Short description of the purpose of this group.
resource.protocol.ParameterGroup.member composition Collection of associative member objects, indicating which parameter is part of the group.
resource.protocol.ParameterGroup.name attribute Name given to this group.
resource.protocol.ParameterGroupMember objectType Associative class, representing a selection of a parameter in a parameter grouping.
resource.protocol.ParameterGroupMember.parameter reference Reference to the selected input parameter.
resource.protocol.Physics objectType This class represents a physical processes that is modelled in a simulation code. Simulating a physical process generally corresponds to solving equations of motion numerically, evolving the simulated system from one state to the next.
resource.protocol.Physics.description attribute Short description of the physical process represented by this class.
resource.protocol.Physics.label attribute The SKOS concept identifying this process in a standardised SKOS vocabulary.
resource.protocol.Physics.name attribute Name by which this physical process is represented in the simulator code
resource.protocol.PostProcessor objectType This concrete subclass of SimDM/Protocol represents protocols that deal with post-processing results of earlier experiments. We do not specify the details of this type much further. Main difference with eg the SimDM/Simulator type is that NO new physical processes are introduced/simulated in the processing of the previous results. Examples are cluster finders, visualisation tools etc.
resource.protocol.Protocol objectType A SimDM/Protocol represents software code that can be used to run astrophysical simulations or to post-process simulation results. A SimDM/Protocol defines the method by which SimDM/Experiment-s can be performed, like a blue-print, or template. The SimDM/Protocol concept is separated out from the execution of its code in SimDM/Experiment, which allows us to reuse it for all experiments using the same code. The concept is a direct gemeralisation of the concept by the same name in Martin Fowler's book "Analysis Patterns: Reusable Object Models" (Addison-Wesley Professional, 1996).
resource.protocol.Protocol.algorithm composition This collection indicates which algorithms are available on the protocol.
resource.protocol.Protocol.code attribute link where the code can be downloaded, if available
resource.protocol.Protocol.inputType composition Collection of object types that the Protocol may need for its execution.
resource.protocol.Protocol.outputType composition The collection of SimDM/OutputDataObjectType-s that can be produced by the parent SimDM/Protocol.
resource.protocol.Protocol.parameter composition Collection of input parameters for this protocol.
resource.protocol.Protocol.parameterGroup composition Collection of parameter groups. This is a utility colection, indicating that a particular grouping of parameters is natural. Useful for browsing the protocol's contents.
resource.protocol.Protocol.version attribute the version of the simulator code that was used
resource.protocol.Simulator objectType This class represents the simulation software that one uses to run a simulation. It is a special case of a SimDM/Protocol. It is different from other SimDM/Protocols in that it explicitly defines the physical processes that are (can be) simulated. This indeed is the defining characteristic of the SimDM/Simulator: it simulates/models physical processes. This in contrast to a "mere" SimDM/PostProcessor which takes the input data and analyses it without adding new physics. It does not imply that simulators can not use existing results. For example consider semi-analytical galaxy formation routines which work on existing halo (merger) catalogues.
resource.protocol.Simulator.physicalProcess composition Collection of physical processes that can be simulated using this simulator.

4.Imported Models

This section lists the external models imported by the current data model. For each imported model we list URLs to the VO-DML and HTML representations and the prefix used for vodml-ids from inside the model.

4.1 ivoa

Model vodml-id ivoa
url http://volute.g-vo.org/svn/trunk/projects/dm/vo-dml/models/ivoa/vo-dml/IVOA-v1.0.vo-dml.xml
documentation url http://volute.g-vo.org/svn/trunk/projects/dm/vo-dml/models/ivoa/vo-dml/IVOA-v1.0.html