1
0
Fork 0

Add files for the hla network system configuration.

This commit is contained in:
Mathias Froehlich 2010-06-07 06:20:42 +02:00
parent cdb21a52e4
commit 883b050e97
5 changed files with 4878 additions and 0 deletions

2717
HLA/AviationSimNet-v3.1.xml Normal file

File diff suppressed because it is too large Load diff

63
HLA/av-aircraft.xml Normal file
View file

@ -0,0 +1,63 @@
<?xml version="1.0"?>
<hlaConfiguration version="1">
<!-- This is the top level HLA configuration file for use with the
multiplayer federation. This serves now as first demo how to configure
flightgears hla implementation.
This toplevel file consists of startup parameters for the rti,
the federate object model to use on create and a way to map the hla
attribute values to a semantic meaning or flightgear properties.
-->
<rti version="RTI13">
<!-- is ignored for RTI13 anyway, so the example here ... -->
<argument>rtiarg0</argument>
<argument>rtiarg1</argument>
</rti>
<!-- Contains the data layout and the object classes -->
<federateObjectModel name="AviationSimNet-v3.1.xml"/>
<!-- ??? more a AIModel Tag??? Or a generic one and decide which type should be time exact???? -->
<objects>
<objectClass type="Multiplayer" name="aircraft">
<model type="map">
<dataElement type="external" name="aircraftType"/>
<key external="A320" modelPath="Aircraft/A320/Models/a320-fb.xml"/>
<key external="B733" modelPath="Aircraft/737-300/Models/737-300.xml"/>
<key external="B742" modelPath="Aircraft/747-200/Models/boeing747-200.xml"/>
<key external="C172" modelPath="Aircraft/c172p/Models/c172p.xml"/>
<key external="C310" modelPath="Aircraft/c310/Models/c310-dpm.xml"/>
<key external="F18" modelPath="Aircraft/f18/Models/f18.xml"/>
<key external="PC7" modelPath="Aircraft/pc7/Models/pc7.xml"/>
<key external="DH8C" modelPath="Aircraft/dhc8/Models/dhc8-300Q.xml"/>
<key external="UFO" modelPath="Aircraft/ufo/Models/ufo.xml"/>
<key external="C172"/>
</model>
<!-- This is an example for the variant that would make the AviationSimNet guys visible in flightgear. -->
<!-- It does not know any rotational velocities, but the linear velocity is present. -->
<position type="geodetic">
<dataElement type="latitude-deg" name="latitude"/>
<dataElement type="longitude-deg" name="longitude"/>
<dataElement type="elevation-m" name="altitudeMSL"/>
<dataElement type="heading-deg" name="trueHeading"/>
<dataElement type="pitch-deg" name="pitch"/>
<dataElement type="roll-deg" name="roll"/>
<dataElement type="ground-track-deg" name="groundTrack"/>
<dataElement type="ground-speed-kt" name="groundSpeed"/>
<dataElement type="vertical-speed-ft-per-min" name="verticalSpeed"/>
</position>
<simTime type="attribute-sec-msec">
<dataElement type="local-simtime-sec" name="timestampSeconds"/>
<dataElement type="local-simtime-msec" name="timestampMilliseconds"/>
</simTime>
<dataElement type="property" name="tailNum" in="sim/user/callsign" out="sim/user/callsign"/>
</objectClass>
</objects>
</hlaConfiguration>

324
HLA/hla.dtd Normal file
View file

@ -0,0 +1,324 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- HLA.dtd This is version 1.0 of a DTD file to fully define the OMT in XML terms -->
<!ELEMENT objectModel (
objects?,
interactions?,
dimensions?,
time?,
tags?,
synchronizations?,
transportations?,
switches?,
dataTypes?,
notes?)>
<!ATTLIST objectModel
DTDversion CDATA #FIXED "1516.2"
name CDATA #REQUIRED
nameNotes NMTOKENS #IMPLIED
type (FOM|SOM) #REQUIRED
typeNotes NMTOKENS #IMPLIED
version CDATA #IMPLIED
versionNotes NMTOKENS #IMPLIED
date CDATA #IMPLIED
dateNotes NMTOKENS #IMPLIED
purpose CDATA #IMPLIED
purposeNotes NMTOKENS #IMPLIED
appDomain CDATA #IMPLIED
appDomainNotes NMTOKENS #IMPLIED
sponsor CDATA #IMPLIED
sponsorNotes NMTOKENS #IMPLIED
pocName CDATA #IMPLIED
pocNameNotes NMTOKENS #IMPLIED
pocOrg CDATA #IMPLIED
pocOrgNotes NMTOKENS #IMPLIED
pocPhone CDATA #IMPLIED
pocPhoneNotes NMTOKENS #IMPLIED
pocEmail CDATA #IMPLIED
pocEmailNotes NMTOKENS #IMPLIED
references CDATA #IMPLIED
referencesNotes NMTOKENS #IMPLIED
other CDATA #IMPLIED
otherNotes NMTOKENS #IMPLIED>
<!ELEMENT objects (objectClass+)>
<!ELEMENT objectClass (attribute*, objectClass*)>
<!ATTLIST objectClass
name NMTOKEN #REQUIRED
nameNotes NMTOKENS #IMPLIED
sharing (Publish|Subscribe|PublishSubscribe|Neither) #IMPLIED
sharingNotes NMTOKENS #IMPLIED
semantics CDATA #IMPLIED
semanticsNotes NMTOKENS #IMPLIED >
<!ELEMENT attribute EMPTY>
<!ATTLIST attribute
name NMTOKEN #REQUIRED
nameNotes NMTOKENS #IMPLIED
dataType NMTOKEN #IMPLIED
dataTypeNotes NMTOKENS #IMPLIED
updateType (Static|Periodic|Conditional|NA) #IMPLIED
updateTypeNotes NMTOKENS #IMPLIED
updateCondition CDATA #IMPLIED
updateConditionNotes NMTOKENS #IMPLIED
ownership (Divest|Acquire|DivestAcquire|NoTransfer)
#IMPLIED
ownershipNotes NMTOKENS #IMPLIED
sharing (Publish|Subscribe|PublishSubscribe|Neither)
#IMPLIED
sharingNotes NMTOKENS #IMPLIED
dimensions NMTOKENS #IMPLIED
dimensionsNotes NMTOKENS #IMPLIED
transportation NMTOKEN #IMPLIED
transportationNotes NMTOKENS #IMPLIED
order (Receive|TimeStamp) #IMPLIED
orderNotes NMTOKENS #IMPLIED
semantics CDATA #IMPLIED
semanticsNotes NMTOKENS #IMPLIED>
<!ELEMENT interactions (interactionClass+)>
<!ELEMENT interactionClass (parameter*, interactionClass*)>
<!ATTLIST interactionClass
name NMTOKEN #REQUIRED
nameNotes NMTOKENS #IMPLIED
sharing (Publish|Subscribe|PublishSubscribe|Neither) #IMPLIED
sharingNotes NMTOKENS #IMPLIED
dimensions NMTOKENS #IMPLIED
dimensionsNotes NMTOKENS #IMPLIED
transportation NMTOKEN #IMPLIED
transportationNotes NMTOKENS #IMPLIED
order (Receive|TimeStamp) #IMPLIED
orderNotes NMTOKENS #IMPLIED
semantics CDATA #IMPLIED
semanticsNotes NMTOKENS #IMPLIED >
<!ELEMENT parameter EMPTY>
<!ATTLIST parameter
name NMTOKEN #REQUIRED
nameNotes NMTOKENS #IMPLIED
dataType NMTOKEN #IMPLIED
dataTypeNotes NMTOKENS #IMPLIED
semantics CDATA #IMPLIED
semanticsNotes NMTOKENS #IMPLIED >
<!ELEMENT dimensions (dimension*)>
<!ELEMENT dimension EMPTY>
<!ATTLIST dimension
name NMTOKEN #REQUIRED
nameNotes NMTOKENS #IMPLIED
dataType NMTOKEN #IMPLIED
dataTypeNotes NMTOKENS #IMPLIED
upperBound CDATA #IMPLIED
upperBoundNotes NMTOKENS #IMPLIED
normalization CDATA #IMPLIED
normalizationNotes NMTOKENS #IMPLIED
value CDATA #IMPLIED
valueNotes NMTOKENS #IMPLIED>
<!ELEMENT time (timeStamp?, lookahead?)>
<!ELEMENT timeStamp EMPTY>
<!ATTLIST timeStamp
dataType NMTOKEN #IMPLIED
dataTypeNotes NMTOKENS #IMPLIED
semantics CDATA #IMPLIED
semanticsNotes NMTOKENS #IMPLIED >
<!ELEMENT lookahead EMPTY>
<!ATTLIST lookahead
dataType NMTOKEN #IMPLIED
dataTypeNotes NMTOKENS #IMPLIED
semantics CDATA #IMPLIED
semanticsNotes NMTOKENS #IMPLIED >
<!ELEMENT tags (updateReflectTag?,
sendReceiveTag?,
deleteRemoveTag?,
divestitureRequestTag?,
divestitureCompletionTag?,
acquisitionRequestTag?,
requestUpdateTag?)>
<!ELEMENT updateReflectTag EMPTY>
<!ATTLIST updateReflectTag
dataType NMTOKEN #REQUIRED
dataTypeNotes NMTOKENS #IMPLIED
semantics CDATA #IMPLIED
semanticsNotes NMTOKENS #IMPLIED >
<!ELEMENT sendReceiveTag EMPTY>
<!ATTLIST sendReceiveTag
dataType NMTOKEN #REQUIRED
dataTypeNotes NMTOKENS #IMPLIED
semantics CDATA #IMPLIED
semanticsNotes NMTOKENS #IMPLIED >
<!ELEMENT deleteRemoveTag EMPTY>
<!ATTLIST deleteRemoveTag
dataType NMTOKEN #REQUIRED
dataTypeNotes NMTOKENS #IMPLIED
semantics CDATA #IMPLIED
semanticsNotes NMTOKENS #IMPLIED >
<!ELEMENT divestitureRequestTag EMPTY>
<!ATTLIST divestitureRequestTag
dataType NMTOKEN #REQUIRED
dataTypeNotes NMTOKENS #IMPLIED
semantics CDATA #IMPLIED
semanticsNotes NMTOKENS #IMPLIED >
<!ELEMENT divestitureCompletionTag EMPTY>
<!ATTLIST divestitureCompletionTag
dataType NMTOKEN #REQUIRED
dataTypeNotes NMTOKENS #IMPLIED
semantics CDATA #IMPLIED
semanticsNotes NMTOKENS #IMPLIED >
<!ELEMENT acquisitionRequestTag EMPTY>
<!ATTLIST acquisitionRequestTag
dataType NMTOKEN #REQUIRED
dataTypeNotes NMTOKENS #IMPLIED
semantics CDATA #IMPLIED
semanticsNotes NMTOKENS #IMPLIED >
<!ELEMENT requestUpdateTag EMPTY>
<!ATTLIST requestUpdateTag
dataType NMTOKEN #REQUIRED
dataTypeNotes NMTOKENS #IMPLIED
semantics CDATA #IMPLIED
semanticsNotes NMTOKENS #IMPLIED >
<!ELEMENT synchronizations (synchronization+)>
<!ELEMENT synchronization EMPTY>
<!ATTLIST synchronization
label NMTOKEN #REQUIRED
labelNotes NMTOKENS #IMPLIED
dataType NMTOKEN #IMPLIED
dataTypeNotes NMTOKENS #IMPLIED
capability (Register|Achieve|RegisterAchieve|NoSynch) #IMPLIED
capabilityNotes NMTOKENS #IMPLIED
semantics CDATA #IMPLIED
semanticsNotes NMTOKENS #IMPLIED >
<!ELEMENT transportations (transportation+)>
<!ELEMENT transportation EMPTY>
<!ATTLIST transportation
name NMTOKEN #REQUIRED
nameNotes NMTOKENS #IMPLIED
description CDATA #IMPLIED
descriptionNotes NMTOKENS #IMPLIED>
<!ELEMENT switches EMPTY>
<!ATTLIST switches
autoProvide (Enabled|Disabled) #IMPLIED
autoProvideNotes NMTOKENS #IMPLIED
conveyRegionDesignatorSets (Enabled|Disabled) #IMPLIED
conveyRegionDesignatorSetsNotes NMTOKENS #IMPLIED
attributeScopeAdvisory (Enabled|Disabled) #IMPLIED
attributeScopeAdvisoryNotes NMTOKENS #IMPLIED
attributeRelevanceAdvisory (Enabled|Disabled) #IMPLIED
attributeRelevanceAdvisoryNotes NMTOKENS #IMPLIED
objectClassRelevanceAdvisory (Enabled|Disabled) #IMPLIED
objectClassRelevanceAdvisoryNotes NMTOKENS #IMPLIED
interactionRelevanceAdvisory (Enabled|Disabled) #IMPLIED
interactionRelevanceAdvisoryNotes NMTOKENS #IMPLIED
serviceReporting (Enabled|Disabled) #IMPLIED
serviceReportingNotes NMTOKENS #IMPLIED>
<!ELEMENT dataTypes (basicDataRepresentations,
simpleDataTypes?,
enumeratedDataTypes?,
arrayDataTypes?,
fixedRecordDataTypes?,
variantRecordDataTypes?)>
<!ELEMENT basicDataRepresentations (basicData+)>
<!ELEMENT basicData EMPTY>
<!ATTLIST basicData
name NMTOKEN #REQUIRED
nameNotes NMTOKENS #IMPLIED
size CDATA #IMPLIED
sizeNotes NMTOKENS #IMPLIED
interpretation CDATA #IMPLIED
interpretationNotes NMTOKENS #IMPLIED
endian (Big|Little) #IMPLIED
endianNotes NMTOKENS #IMPLIED
encoding CDATA #IMPLIED
encodingNotes NMTOKENS #IMPLIED>
<!ELEMENT simpleDataTypes (simpleData+)>
<!ELEMENT simpleData EMPTY>
<!ATTLIST simpleData
name NMTOKEN #REQUIRED
nameNotes NMTOKENS #IMPLIED
representation NMTOKEN #IMPLIED
representationNotes NMTOKENS #IMPLIED
units CDATA #IMPLIED
unitsNotes NMTOKENS #IMPLIED
resolution CDATA #IMPLIED
resolutionNotes NMTOKENS #IMPLIED
accuracy CDATA #IMPLIED
accuracyNotes NMTOKENS #IMPLIED
semantics CDATA #IMPLIED
semanticsNotes NMTOKENS #IMPLIED>
<!ELEMENT enumeratedDataTypes (enumeratedData+)>
<!ELEMENT enumeratedData (enumerator+)>
<!ATTLIST enumeratedData
name NMTOKEN #REQUIRED
nameNotes NMTOKENS #IMPLIED
representation NMTOKEN #IMPLIED
representationNotes NMTOKENS #IMPLIED
semantics CDATA #IMPLIED
semanticsNotes NMTOKENS #IMPLIED >
<!ELEMENT enumerator EMPTY>
<!ATTLIST enumerator
name NMTOKEN #REQUIRED
nameNotes NMTOKENS #IMPLIED
values NMTOKENS #IMPLIED
valuesNotes NMTOKENS #IMPLIED>
<!ELEMENT arrayDataTypes (arrayData+)>
<!ELEMENT arrayData EMPTY>
<!ATTLIST arrayData
name NMTOKEN #REQUIRED
nameNotes NMTOKENS #IMPLIED
dataType NMTOKEN #IMPLIED
dataTypeNotes NMTOKENS #IMPLIED
cardinality CDATA #IMPLIED
cardinalityNotes NMTOKENS #IMPLIED
encoding CDATA #IMPLIED
encodingNotes NMTOKENS #IMPLIED
semantics CDATA #IMPLIED
semanticsNotes NMTOKENS #IMPLIED>
<!ELEMENT fixedRecordDataTypes (fixedRecordData+)>
<!ELEMENT fixedRecordData (field+)>
<!ATTLIST fixedRecordData
name NMTOKEN #REQUIRED
nameNotes NMTOKENS #IMPLIED
encoding CDATA #IMPLIED
encodingNotes NMTOKENS #IMPLIED
semantics CDATA #IMPLIED
semanticsNotes NMTOKENS #IMPLIED >
<!ELEMENT field EMPTY>
<!ATTLIST field
name NMTOKEN #REQUIRED
nameNotes NMTOKENS #IMPLIED
dataType NMTOKEN #IMPLIED
dataTypeNotes NMTOKENS #IMPLIED
semantics CDATA #IMPLIED
semanticsNotes NMTOKENS #IMPLIED>
<!ELEMENT variantRecordDataTypes (variantRecordData+)>
<!ELEMENT variantRecordData (alternative+)>
<!ATTLIST variantRecordData
name NMTOKEN #REQUIRED
nameNotes NMTOKENS #IMPLIED
discriminant CDATA #IMPLIED
discriminantNotes NMTOKENS #IMPLIED
dataType NMTOKEN #IMPLIED
dataTypeNotes NMTOKENS #IMPLIED
encoding CDATA #IMPLIED
encodingNotes NMTOKENS #IMPLIED
semantics CDATA #IMPLIED
semanticsNotes NMTOKENS #IMPLIED>
<!ELEMENT alternative EMPTY>
<!ATTLIST alternative
enumerator CDATA #REQUIRED
enumeratorNotes NMTOKENS #IMPLIED
name NMTOKEN #IMPLIED
nameNotes NMTOKENS #IMPLIED
dataType NMTOKEN #IMPLIED
dataTypeNotes NMTOKENS #IMPLIED
semantics CDATA #IMPLIED
semanticsNotes NMTOKENS #IMPLIED>
<!ELEMENT notes (note+)>
<!ELEMENT note EMPTY>
<!ATTLIST note
name NMTOKEN #REQUIRED
semantics CDATA #IMPLIED
semanticsNotes NMTOKENS #IMPLIED >

1710
HLA/mp-aircraft-fom.xml Normal file

File diff suppressed because it is too large Load diff

64
HLA/mp-aircraft.xml Normal file
View file

@ -0,0 +1,64 @@
<?xml version="1.0"?>
<hlaConfiguration version="1">
<!-- This is the top level HLA configuration file for use with the
multiplayer federation. This serves now as first demo how to configure
flightgears hla implementation.
This toplevel file consists of startup parameters for the rti,
the federate object model to use on create and a way to map the hla
attribute values to a semantic meaning or flightgear properties.
-->
<rti version="RTI13">
<!-- is ignored for RTI13 anyway, so the example here ... -->
<argument>rtiarg0</argument>
<argument>rtiarg1</argument>
</rti>
<!-- Contains the data layout and the object classes -->
<federateObjectModel name="mp-aircraft-fom.xml"/>
<objects>
<objectClass type="Multiplayer" name="MPAircraft">
<model type="native">
<dataElement type="model-path" name="model.path"/>
</model>
<!-- Should contain all those attributes that form the position and orientation of the aircraft in total -->
<position type="cartesian">
<!-- These are the positions in the earth centered coordinate system. -->
<dataElement type="position-x" name="location.position[0]"/>
<dataElement type="position-y" name="location.position[1]"/>
<dataElement type="position-z" name="location.position[2]"/>
<!-- A very compact and lossless representation of a quaternion wrt the earth centered coordinate system. -->
<dataElement type="orientation-sin-angle-axis-x" name="location.orientation[0]"/>
<dataElement type="orientation-sin-angle-axis-y" name="location.orientation[1]"/>
<dataElement type="orientation-sin-angle-axis-z" name="location.orientation[2]"/>
<!-- The body velocities in the usual x-fwd, z-down, righthandside body coordinate system. -->
<dataElement type="linear-velocity-x" name="velocity.linear[0]"/>
<dataElement type="linear-velocity-y" name="velocity.linear[1]"/>
<dataElement type="linear-velocity-z" name="velocity.linear[2]"/>
<dataElement type="angular-velocity-x" name="velocity.angular[0]"/>
<dataElement type="angular-velocity-y" name="velocity.angular[1]"/>
<dataElement type="angular-velocity-z" name="velocity.angular[2]"/>
</position>
<simTime type="attribute">
<dataElement type="local-simtime" name="simTime"/>
</simTime>
<!-- the attribute that carries the big blob of multiplayer attributes.
This datatype is tightly coupled with the implementation for now.
It is done in this way to provide the same feature set for the
multiplayer object like the existing multiplayer protocol.
In the long term, think more about the content of this blob and
sensibly distribute that across different datatypes and attributes.
-->
<mpProperties name="mpProperties"/>
<dataElement type="property" name="model.livery" in="sim/model/livery/file" out="sim/model/livery/file"/>
</objectClass>
</objects>
</hlaConfiguration>