Im Kontext der Verwaltungsschale ist oft von Referables und Identifiables die Rede. Was damit gemeint ist und wie sie in Zusammenhang stehen – davon handelt dieser Artikel.
Referables und Identifiables sind Datenstrukturen. Sie definieren Attribute, also Datenfelder, die innerhalb ihrer Datenstruktur definiert sind.
Das Identifiable erweitert das Referable um weitere Daten. Somit ist jedes Identifiable im Kern auch ein Referable. Umgekehrt gilt dies jedoch nicht. Eine reduzierte UML-Grafik verdeutlicht dies:
Das Referable wird über seine IdShort referenziert. Diese IdShort ist bei Referables, die keine Identifiables oder direkte Elemente einer SubmodelElementList sind, verpflichtend und muss unterhalb des Eltern-Elements eindeutig/einmalig sein.
Das Identifiable erweitert das Referable um eine global eindeutige Id (Identifier). Wie diese globale Eindeutigkeit hergestellt wird, ist dem Implementierenden überlassen.
Das Identifiable kann eine IdShort haben, sollte aber über seine Id referenziert werden, da die IdShort nicht global eindeutig dieses Identifiable identifiziert.
Beides sind abstrakte Datenstrukturen und von beiden kann es keine einzelnen Objekte geben. Sie definieren lediglich Attribute, über die ein Objekt verfügt, das ein Referable oder Identifiable erweitert (davon erbt).
Beispiele für Identifiables:
- AssetAdministrationShell
- Submodel
- ConceptDescription
Beispiele für Referables:
- SubmodelElementCollection
- Property
- MultiLanguageProperty
Vereinfacht kann man sagen:
Ein Identifiable ist global eindeutig identifizierbar und hat eine eigene Lebensdauer.
Ein Referable existiert immer in einem bestimmten Kontext. Zum Beispiel gehört eine Property immer zu einem bestimmten Submodel.