Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "BaSyx / Documentation / Implementation / AssetAdministrationShell"

m
Line 17: Line 17:
 
   z: 3,
 
   z: 3,
  
  // Variable of C
+
  // Variable of C
  c: 4
+
  v: 4
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>

Revision as of 08:51, 19 August 2019

Overview | Interface | Implementation

As described in the SDK documentation, the Asset Administration Shell is implemented by HashMaps. This has several reasons. First, the virtual automation bus enables easy integration of Maps. Additionally, the AAS meta-model heavily uses multiple inheritance. Not all languages, e.g. Java, support multiple inheritance. The AAS meta-model only describes its elements by data and not by operations. Thus it is possible to realize multiple inheritance by adding the content of one parent class to the map of the child class.

Example of multiple inheritance

Consider the UML given. For example, a resulting HashMap instance of class C looks the following:

{
   // Variables of A
   x: 1,
   y: 2,
 
   // Variable of B
   z: 3,
 
   // Variable of C
   v: 4
}





To be able to access the different attributes of the class, facades are given. The facades act as views on the HashMap, only providing access to the parameters of the specific class.

Back to the top