FOM etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
FOM etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

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>