Closed bs-jokri closed 2 years ago
The following mapping is suggested for the implementation. WDYT?
BAMM | AAS | Comment |
---|---|---|
bamm:Aspect | Submodel template | Empty Asset and AssetAdministrationShell entries are added to the output file |
bamm:name | aas:Submodel.idShort | |
bamm:preferedName | aas:Submodel.displayName | |
bamm:description | aas:Submodel.description | |
bamm:property | see bamm:Property | |
bamm:operation | seebamm:Operation | |
bamm:Aspect.urn | aas:Submodel.semanticId | |
Property | SubmodelElement SubmodelElementCollection |
The AAS type is derived from the type of the BAMM Characteristic specifying the BAMM property. Depending on the type it is decided what the resulting AAS element will be. In case of an Entity it will result in a SubmodelElementCollection. It will also be a SubmodelElementCollection if the BAMM Characteristic is of a Collection type (see the Characteristics taxonomy [5]) |
bamm:name | aas:Property.idShort | |
bamm:preferedName | aas:Property.displayName | |
bamm:description | aas:Property.description | |
bamm:exampleValue | aas:Property.value | |
bamm:Characteristic.dataType | aas:Property.valueType | |
Operation | Operation | in/out parameters are not used in BAMM so the mapping only generates input variables and output variables in AAS |
Characteristic | ConceptDescription | Characteristics in BAMM define the semantics of a property, which includes there types as well as links to further definitions (standards, dictionaries, etc) and a natural language description and name in different languages. Type and description are separated in AAS, which is why there is not a one-to-one mapping of a Characteristic to one element in AAS but rather Characteristics are used in the mapping of Properties to get additional information, which guides the generation process. The remaining semantics are then mapped as good as possible to a ConceptDescription. |
Collection | aas:SubmodelElementCollection | the general remarks to Characteristics apply also for Collection type Characteristics. However, properties referencing Collections are mapped to SubmodelElementCollections. Specific properties of collections are mapped. bamm:Set is unique, bamm:SortedSet is unique and sorted, bamm:List is sorted. |
bamm:MultiLanguageProperty | aas:LangString | if a multilanguage property is used in BAMM it is mapped to the lang string concept in AAS. |
@bs-jokri When you write bamm:MultiLanguageProperty
in the mapping table, do you refer to bamm-c:MultiLanguageText
?
Is your task related to a problem? Please describe. The Asset Administration Shell (AAS) and its information model [1] is a widely recognized standard developed by the Industrial Digital Twin Association (IDTA) [2] to express and handle Digital Twins. Central element of the AAS is the concept of Submodels, which describe certain aspects of a Digital Twin.
The BAMM Aspect Meta Model allows to specify aspects of a digital twin and its semantics. It would be beneficial to derive AAS Submodels from BAMM Aspect models as this would allow to on the one hand integrate BAMM models in AAS environments and on the other hand allow AAS Submodels to be described with rich semantics, as it is allowed by BAMM.
[1] https://www.plattform-i40.de/IP/Redaktion/EN/Standardartikel/specification-administrationshell.html [2] https://industrialdigitaltwin.org
Describe the solution you'd like The BAMM CLI should have a new command to generate AAS description files for a given BAMM Aspect model. The command could look similar to the other generator features for example
Describe alternatives you've considered An alternative could be to implement a separate tool, which does the translation. This however, would introduce a tool break for the user and would require a partial re-implementation of the BAMM CLI as most of the functionality seems to be the same (command handling, file handling, BAMM interpretation etc.) So I would not go this way.
Additional context Additional context is given by the material provided by the IDTA, especially useful might be the reading guide [3] as it helps to get familiar with the AAS and its concepts.
[3] https://industrialdigitaltwin.org/wp-content/uploads/2022/02/AAS-ReadingGuide_202201.pdf