Referable vs. Identifiable

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:

Identifiable erbt von Referable
Identifiable erbt von Referable

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.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert