Home MORPH Syntax Tables
  Sponsored by Magnetar Games Main Specification Forum Syntax

MORPH Syntax

Tables

The tables section contains data which is not relevant to the early-bound model, but must be present in the DSL. These are annotated either in xs:appinfo elements, or by using other XML Schema constructs. All of the following appear as direct children elements of the xs:schema element.

<xs:simpleType name="Dimensions">
Attributes
Children
None.
Dimensions are expressed in XML Schema using an xs:enumeration within an xs:simpleType declaration that must be named "Dimensions." This allows for validation that each "hla:dimensions" attribute contains a value from the available list. Each xs:enumeration element within a dimension declaration has the following attributes.

Attribute "value" - xs:NMTOKEN
The identifier for this dimension. Must not contain white space.

Attribute "hla:dataType" - xs:string
Enumerated values do not have datatypes in XML Schema; therefore, the datatype must be declared using the HLA namespace. This must be the name of a simple or enumerated datatype.

Attribute "hla:upperBound" - xs:string
The dimension upper bound that meets the federation's requirement for dimension sub-range resolution.

Attribute "hla:normalization" - xs:string
...

Attribute "hla:default" - xs:string
The value of the dimension when unspecified.

Element <hla:Time>
Attributes
None.
Children
The time table allows a model to specify values for two properties for TimeStamp and Lookahead. This element is found within an xs:appinfo tag.

Element <hla:TimeStamp>
Attributes
Children
None.

Element <hla:Lookahead>
Attributes
Children
None.

Attribute "DataType" - xs:string
The datatype of the time value. This may be any simple, enumerated, array, or record type. "NA" may be used to indicate the information is irrelevant.

Attribute "Semantics" - xs:string
A place to annotate the use of the datatype. "NA" is used if no additional information is required.

<xs:simpleType name="Synchronization">
Attributes
Children
None.
This table allows a model to describe the synchronization points to be used in the simulation. In MORPH, this is recorded using an xs:enumeration type which must be named "Synchronizations." Each xs:enumeration element within a synchronization declaration has the following attributes.

Attribute "value" - xs:NMTOKEN
The name of the enumerator value is the synchronization label.

Attribute "hla:dataType" - xs:string
The datatype for the tag. May be any simple, enumerated, array, or record type.

Attribute "hla:capability" - xs:string
One of the following:
  • Register - The federate is able to register the synchronization point.
  • Achieve - The federate is able to achieve the point.
  • RegisterAchieve - The federate is able to register and achieve the point.
  • NoSynch - The federate is unable to register or achieve the point.

Attribute "hla:semantics" - xs:string
Annotation on the synchronization point.

<xs:simpleType name="Transportation">
Attributes
Children
None.
This is recorded by extending the xs:enumeration declaration named "Transportation" which is defined in the HLAadjunct.xsd file. Each xs:enumeration element within a synchronization declaration has the following attributes.

Attribute "value" - xs:NMTOKEN
The name of the enumerator value is also the name of the transportation itself.

Attribute "hla:description" - xs:string
Describes the transportation type.

Element <hla:Switches>
Attributes
Children
None.
The switches table allows a model to enable or disable certain actions which the RTI performs. The setting of each of the following must be either "Enabled," "Disabled," or "NA." The value "NA" is allowed only for SOMs. This element is found within an xs:appinfo tag.

Attribute "AutoProvide" - SwitchType
Whether the RTI should automatically solicit updates from attribute owners when an object is discovered.

Attribute "ConveyRegion" - SwitchType
Whether the RTI should provide the optional "Set Region Set" argument with the use of "Reflect Attribute Values" and "Receive Interaction."

Attribute "AttributeScope" - SwitchType
Whether the RTI should notify federates when attributes of an object come into or go out of scope.

Attribute "AttributeRelevance" - SwitchType
Whether the RTI should notify a federate when it needs to provide an attribute value update.

Attribute "ObjectClassRelevance" - SwitchType
Whether the RTI should notify a federate that it needs to register instances of an object class.

Attribute "InteractionRelevance" - SwitchType
Whether the RTI should notify a federate that it needs to send interactions.

Attribute "ServiceReporting" - SwitchType
Whether the RTI should report service invocations using MOM.

Element <hla:Tags>
Attributes
None.
Children
This element is found within an xs:appinfo tag.

Element <UpdateReflect>
Attributes
Content
None.

Element <SendReceive>
Attributes
Content
None.

Element <DeleteRemove>
Attributes
Content
None.

Element <DivestRequest>
Attributes
Content
None.

Element <DivestComplete>
Attributes
Content
None.

Element <AcquisitionRequest>
Attributes
Content
None.

Element <RequestUpdate>
Attributes
Content
None.

Attribute "DataType" - xs:string
The datatype of the tag.

Attribute "Semantics" - xs:string
Annotation for this tag.

Element <hla:Notes>
Attributes
None.
Children
This element is found within an xs:appinfo tag.

Element <Note>
Attributes
Content
None.
A note is an annotation which may be applied to nearly any aspect of the model. Notes are referenced by note label.

Attribute "Label" - xs:NMTOKEN
The identifier for this note. Typically, this is an index number, but may be any value that does not contain white space.

Attribute "Semantics" - xs:string
This is the contents of the note.