aas-core-works / aas-core-meta

Provide formalized meta-models for Asset Administration Shell (AAS).
Other
9 stars 3 forks source link

Document how `Lang_string` types differ from Spec #262

Closed s-heppner closed 1 year ago

s-heppner commented 1 year ago

Regel 1: Namensteile in Attributnamen werden a) mit Unterstrich getrennt b) Ausnahmebehandlung für Abkürzungen, dafür gibt es Mapping-Tabelle Beispiel: AssetInformation wird zu Asset_information, SpecificAssetId wird zu Specific_asset_ID Regel 2: Bei der Generierung von Camelcase-Schemanamen für Klassen aus den core-Namen werden a) die Unterstriche entfernt, b) der Namensbestandteil auf Kleinbuchstaben umgestellt c) der erste Buchstabe groß geschrieben Annahme: es gibt im Metamodel keine Ausnahmen von der strikten CamelCase-Schreibweise (Beispiel: DataSpecIEC61360 würde nicht korrekt behandelt) Hinweis: Mapping-Tabelle mit Abkürzungen wird nicht zu Rate gezogen bei der Rückkonvertierung Beispiel: Asset_information wird zu AssetInformation, Specific_asset_ID wird zu SpecificAssetId Regel 3: Ausnahme zu Regel 1. Im Fall von Typen, die von LangStringSet abgeleitet werden, wird der mit Regel 1 generierte Namen um prefix langstring bzw. Lang_string erweitert. Ausnahme: Falls der Name mit MultiLanguage anfängt dann wird MulitLanguage ignoriert Annahme: es gibt im Metamodel der AAS keine Namen, die mit LangString anfangen. Beispiel: PreferredNameTypeIec61369 wird zu Lang_string_Preferred_name_type_IEC_61360, MultiLanguageNameType wird zu Lang_string_name_type Regel 4: Bei der Generierung der Schemata wird im Falle, dass ein Typname mit Lang_string anfängt, die Umsetzung als array von langstring gewählt.