31 Ekim 2018 Çarşamba

HLA Federation Object Model XML (FOM)

Giriş
Federation Object Model (FOM) federasyondaki ortak bilgi modelini temsil eder. Tanımlama niteliklerin alt/üst sınırları, aralıkları, birimleri gibi özellikleri içermez.

Savunma sanayinde kullanılan FOM tiplerinden birisi "RPR Fom 3".

XML
XML olarak şöyledir. objectClass tag'leri iç içe olabilir ve kalıtımı temsil eder.
<objectModel>
  <modelIdentification>...</modelIdentification>
  <objects>
    <objectClass>...</objectClass>
  </objects>
  <interactions>
    <interactionClass>...</interactionClass>
  </interactions>
  <dimensions>
    <dimension>...</dimension>
    ...
  </dimensions>
  <time>
    <timeStamp>...</timeStamp>
    <lookahead>...</lookahead>
  </time>
  <tags>
    <deleteRemoveTag>...</deleteRemoveTag>
  </tags>
  <synchronizations>
    <synchronizationPoint>...</synchronizationPoint>
    ...
  </synchronizations>
  <transportations>
    <transportation>...</transportation>
  </transportations>
  <switches>...</switches>
  <updateRates>
    <updateRate>...</updateRate>
  </updateRates>
  <dataTypes>
    <basicDataRepresentations>...</basicDataRepresentations>
    <simpleDataTypes>...</simpleDataTypes>
    <enumeratedDataTypes>...</enumeratedDataTypes>
    <arrayDataTypes>...</arrayDataTypes>
    <fixedRecordDataTypes>...</fixedRecordDataTypes>
    <variantRecordDataTypes>...</variantRecordDataTypes>
  </dataTypes>
  <notes>
    <note>...</note>
    ...
  </notes>
</objectModel>
DataTypes

Burada kendi veri tiplerimi tanımlarım.

- basicDataRepresentations : HLAinteger gibi tipler tanımlı
simpleDataTyped : IntergerAttribute, ByteAttribute gibi tipler tanımlı
enumeratedDataTypes : Kendi enum tiplerim tanımlı
arrayDataTypes : Kendi array tiplerim tanımlı
fixedRecordDataTypes : Kendi record tiplerim tanımlı
variantRecordDataTypes : Kendi variant record tiplerim tanımlı. Bu sanırım C++'taki union gibi. Bir sürü tipten sadece biri olabiliyor.
<variantRecordData name="..." discriminant="techniqueType" dataType="TechniqueEnum"
  encoding="HLAvariantRecord">

  <alternative enumerator="Frequency" name="Frequency" dataType="FloatAttribute"/>

  <alternative enumerator="Power" name="Power" dataType="FloatAttribute"/>
   ...

</variantRecordData>



Hiç yorum yok:

Yorum Gönder