diff --git a/documentation/IDTA-01001/modules/ROOT/pages/changelog.adoc b/documentation/IDTA-01001/modules/ROOT/pages/changelog.adoc index 4fb87a07e..e048c0683 100644 --- a/documentation/IDTA-01001/modules/ROOT/pages/changelog.adoc +++ b/documentation/IDTA-01001/modules/ROOT/pages/changelog.adoc @@ -40,6 +40,7 @@ Note: before V3.0, the security metamodel and the predefined data specifications Major Changes: * New value "Role" to enumeration AssetKind (https://github.com/admin-shell-io/aas-specs/issues/294[#294]) +* New abstract class "ContainerElement" as subtype of "SubmodelElement", subtypes: AnnotatedRelationshipElement, Entity, SubmodelElementCollection, SubmodelElementLis. Includes introducing new enumeration for container elements and extending existing enumerations for submodel elements "AasSubmodelElement" etc. (https://github.com/admin-shell-io/aas-specs/issues/333[#333]) * Data type Identifier: change length from 2000 to 2048 characters (https://github.com/admin-shell-io/aas-specs/issues/306[#306]) * Referable/idShort and Constraint AASd-002: now also allows hyphens to be included in name (https://github.com/admin-shell-io/aas-specs/issues/295[#295]) * Entity/entityType and Constraint AASd-014: entityType now optional (https://github.com/admin-shell-io/aas-specs/issues/287[#287]) @@ -91,24 +92,33 @@ Minor Changes: |=== |*Nc* |*V3.1 Change w.r.t. V3.0.1* |*Comment* - +| {empty} | xref:spec-metamodel/referencing.adoc#KeyTypes[KeyTypes/ContainerElement] a| Add new value "ContainerElement" to enumeration KeyTypes, because AasSubmodelElements was extended +| {empty} | xref:spec-metamodel/referencing.adoc#AasReferableNonIdentifiables[AasReferableNonIdentifiables/ContainerElement] a| Add new value "ContainerElement" to enumeration AasReferableNonIdentifiables, because AasSubmodelElements was extended +| {empty} | xref:spec-metamodel/referencing.adoc#AasReferables[AasReferables/ContainerElement] a| Add new value "ContainerElement" to enumeration AasReferables, because AasSubmodelElements was extended +| {empty} | xref:spec-metamodel/referencing.adoc#AasSubmodelElements[AasSubmodelElements/ContainerElement] a| Add new value "ContainerElement" to enumeration AasSubmodelElements | {empty} | xref:spec-metamodel/core.adoc#AssetKind[AssetKind] a| Add new value "Role" to enumeration AssetKind | {empty} | xref:spec-metamodel/submodel-elements.adoc#Blob[Blob/contentType] a| now optional | {empty} | xref:spec-metamodel/submodel-elements.adoc#Entity[Entity/entityType] a| now optional | {empty} | xref:spec-metamodel/submodel-elements.adoc#File[File/contentType] a| now optional +| {empty} | xref:spec-metamodel/referencing.adoc#FragmentKeys[ragmentKeys/ContainerElement] a| Add new value "ContainerElement" to enumeration FragmentKeys, because AasSubmodelElements was extended | {empty} | xref:spec-metamodel/datatypes.adoc#Identifier[Identifier] a| data type: change length from 2000 to 2024 characters | {empty} | xref:spec-metamodel/datatypes.adoc#NameType[NameType] a| implicit change due to change of Constraint AASd-002 -|{empty} | xref:spec-metamodel/common.adoc#Referable[Referable/idShort] a| implicit change because constraint AASd-002 now also allows hyphen +| {empty} | xref:spec-metamodel/common.adoc#Referable[Referable/idShort] a| implicit change because constraint AASd-002 now also allows hyphen | {empty} | xref:spec-metamodel/submodel-elements.adoc#RelationshipElement[RelationshipElement/first] a| now optional | {empty} | xref:spec-metamodel/submodel-elements.adoc#RelationshipElement[RelationshipElement/second] a| now optional + |=== .New Elements in Metamodel [cols="5%,41%,51%",options="header",] |=== |{empty} |*New Elements V3.1 vs V3.0.1* |*Comment* + +|{empty} | xref:spec-metamodel/referencing.adoc#AasContainerElements[AasContainerSubmodelElements] | New enumeration for container submodel elements |{empty} | xref:spec-metamodel/core.adoc#AssetKind[AssetKind/Role] | New value in enumeration +|{empty} | xref:spec-metamodel/submodel-elements.adoc#ContainerElement[ContainerElement] | New abstract class +|{empty} | xref:spec-metamodel/referencing.adoc#AasNonContainerElements[AasNonContainerSubmodelElements] | New enumeration for non-container submodel elements |=== .New, Changed or Removed Constraints diff --git a/documentation/IDTA-01001/modules/ROOT/pages/spec-metamodel/referencing.adoc b/documentation/IDTA-01001/modules/ROOT/pages/spec-metamodel/referencing.adoc index 4247c1646..ef7efbb12 100644 --- a/documentation/IDTA-01001/modules/ROOT/pages/spec-metamodel/referencing.adoc +++ b/documentation/IDTA-01001/modules/ROOT/pages/spec-metamodel/referencing.adoc @@ -193,6 +193,16 @@ a|Capability .2+e|ConceptDescription | `\https://admin-shell.io/aas/3/1/KeyTypes/ConceptDescription` a|Concept Description + +.2+e|ContainerElement | `\https://admin-shell.io/aas/3/1/KeyTypes/ContainerElement` +a| +Container Element + + +==== +Note: container elements are abstract, i.e. if a key uses "ContainerElement", the reference may be a submodel element collection, an entity etc. +==== + .2+e|DataElement | `\https://admin-shell.io/aas/3/1/KeyTypes/DataElement` a| Data Element @@ -294,7 +304,7 @@ Note: not used as type but in constraints. ==== -h|Set of: |xref:AasReferableNonIdentifiables[AASReferableNonIdentifiables], xref:GenericFragmentKeys[GenericFragmentKeys] +h|Set of: |xref:AasReferableNonIdentifiables[AasReferableNonIdentifiables], xref:GenericFragmentKeys[GenericFragmentKeys] h|ID: | `\https://admin-shell.io/aas/3/1/FragmentKeys` @@ -316,6 +326,15 @@ a|Blob a|Capability +.2+e|ContainerElement | `\https://admin-shell.io/aas/3/1/FragmentKeys/ContainerElement` +a| +Container Element + + +==== +Note: container elements are abstract, i.e. if a key uses "ContainerElement", the reference may be a submodel element collection, an entity etc. +==== + .2+e|DataElement | `\https://admin-shell.io/aas/3/1/FragmentKeys/DataElement` a| Data Element @@ -431,6 +450,14 @@ a|Blob .2+e|Capability | `\https://admin-shell.io/aas/3/1/AasReferableNonIdentifiables/Capability` a|Capability +.2+e|ContainerElement | `\https://admin-shell.io/aas/3/1/AasReferableNonIdentifiables/ContainerElement` +a| +Container Element + + +==== +Note: container elements are abstract, i.e. if a key uses "ContainerElement", the reference may be a submodel element collection, an entity etc. +==== .2+e|DataElement | `\https://admin-shell.io/aas/3/1/AasReferableNonIdentifiables/DataElement` a| @@ -503,7 +530,7 @@ a|List of submodel elements |=== h|Enumeration: e|[[AasSubmodelElements]]AasSubmodelElements h|Explanation: a|Enumeration of submodel element types including abstract submodel element types -h|Set of: |-- +h|Set of: | xref:AasContainerSubmodelElements[AasContainerSubmodelElements], xref:AasNonContainerSubmodelElements[AasNonContainerSubmodelElements] h|ID: | `\https://admin-shell.io/aas/3/1/AasSubmodelElements` .2+h|Literal h| ID @@ -517,12 +544,20 @@ a|Annotated relationship element .2+e|BasicEventElement | `\https://admin-shell.io/aas/3/1/AasSubmodelElements/BasicEventElement` a|Basic event element -.2+e|Blob | `\https://admin-shell.io/aas/3/1/AasSubmodelElements[/Blob` +.2+e|Blob | `\https://admin-shell.io/aas/3/1/AasSubmodelElements/Blob` a|Blob .2+e|Capability | `\https://admin-shell.io/aas/3/1/AasSubmodelElements/Capability` a|Capability +.2+e|ContainerElement | `\https://admin-shell.io/aas/3/1/AasSubmodelElements/ContainerElement` +a| +Container Element + + +==== +Note: container elements are abstract, i.e. if a key uses "ContainerElement", the reference may be a submodel element collection, an entity etc. +==== .2+e|DataElement | `\https://admin-shell.io/aas/3/1/AasSubmodelElements/DataElement` a| @@ -590,6 +625,139 @@ a|List of submodel elements |=== +{empty} + + + + +[.table-with-appendix-table] +[cols="30%h,70%"] +|=== +h|Enumeration: e|[[AasNonContainerElements]]AasNonContainerSubmodelElements +h|Explanation: a|Enumeration of non-container submodel element types including abstract submodel element types + +==== +Note: not used as type but may be used in constraints. +==== + +h|Set of: | -- +h|ID: | `\https://admin-shell.io/aas/3/1/AasNonContainerSubmodelElements` + +.2+h|Literal h| ID +h|Explanation + + + +.2+e|BasicEventElement | `\https://admin-shell.io/aas/3/1/AasNonContainerSubmodelElements/BasicEventElement` +a|Basic event element + +.2+e|Blob | `\https://admin-shell.io/aas/3/1/AasSubmodelElements/Blob` +a|Blob + +.2+e|Capability | `\https://admin-shell.io/aas/3/1/AasNonContainerSubmodelElements/Capability` +a|Capability + + +.2+e|DataElement | `\https://admin-shell.io/aas/3/1/AasNonContainerSubmodelElements/DataElement` +a| +Data Element + + +==== +Note: data elements are abstract, i.e. if a key uses "DataElement", the reference may be a property, file, etc. +==== + + +.2+e|EventElement | `\https://admin-shell.io/aas/3/1/AasNonContainerSubmodelElements/EventElement` +a| +Event + + +==== +Note: event element is abstract. +==== + + +.2+e|File | `\https://admin-shell.io/aas/3/1/AasNonContainerSubmodelElements/File` +a|File + + +.2+e|MultiLanguageProperty | `\https://admin-shell.io/aas/3/1/AasNonContainerSubmodelElements/MultiLanguageProperty` +a|Property with a value that can be provided in multiple languages + +.2+e|Operation| `\https://admin-shell.io/aas/3/1/AasNonContainerSubmodelElements/Operation` +a|Operation + +.2+e|Property | `\https://admin-shell.io/aas/3/1/AasNonContainerSubmodelElements/Property` +a|Property + +.2+e|Range | `\https://admin-shell.io/aas/3/1/AasNonContainerSubmodelElements/Range` +a|Range with min and max + + + +.2+e|ReferenceElement | `\https://admin-shell.io/aas/3/1/AasNonContainerSubmodelElements/ReferenceElement` +a|Reference + +.2+e|RelationshipElement | `\https://admin-shell.io/aas/3/1/AasNonContainerSubmodelElements/RelationshipElement` +a|Relationship + + +.2+e|SubmodelElement | `\https://admin-shell.io/aas/3/1/AasNonContainerSubmodelElements/SubmodelElement` +a| +Submodel element + + +==== +Note: submodel elements are abstract, i.e. if a key uses "SubmodelElement", the reference may be a property, a submodel element list, an operation, etc. +==== + +|=== + + + +{empty} + + +[.table-with-appendix-table] +[cols="30%h,70%"] +|=== +h|Enumeration: e|[[AasContainerSubmodelElements]]AasContainerSubmodelElements +h|Explanation: a|Enumeration of conainer submodel element types including abstract container submodel element types + +==== +Note: not used as type but may be used in constraints. +==== + +h|Set of: | -- +h|ID: | `\https://admin-shell.io/aas/3/1/AasContainerSubmodelElements` + +.2+h|Literal h| ID +h|Explanation + + +.2+e|AnnotatedRelationshipElement | `\https://admin-shell.io/aas/3/1/AasContainerSubmodelElements/AnnotatedRelationshipElement` +a|Annotated relationship element + +.2+e|ContainerElement | `\https://admin-shell.io/aas/3/1/AasContainerSubmodelElements/ContainerElement` +a| +Container Element + + +==== +Note: container elements are abstract, i.e. if a key uses "ContainerElement", the reference may be a submodel element collection, an entity etc. +==== + + +.2+e|Entity | `\https://admin-shell.io/aas/3/1/AasContainerSubmodelElements/Entity` +a|Entity + + +.2+e|SubmodelElementCollection | `\https://admin-shell.io/aas/3/1/AasContainerSubmodelElements/SubmodelElementCollection` +a|Struct of submodel elements + +.2+e|SubmodelElementList | `\https://admin-shell.io/aas/3/1/AasContainerSubmodelElements/SubmodelElementList` +a|List of submodel elements +|=== + {empty} + @@ -608,7 +776,7 @@ Note: not used as type but in constraints. ==== -h|Set of: |xref:AasReferableNonIdentifiables[AASReferableNonIdentifiables], xref:AasIdentifiables[AasIdentifiables] +h|Set of: |xref:AasReferableNonIdentifiables[AasReferableNonIdentifiables], xref:AasIdentifiables[AasIdentifiables] h|ID: | `\https://admin-shell.io/aas/3/1/AasReferables` .2+h|Literal h| ID @@ -634,6 +802,16 @@ a|Capability a| Concept description +.2+e|ContainerElement | `\https://admin-shell.io/aas/3/1/AasReferables/ContainerElement` +a| +Container Element + + +==== +Note: container elements are abstract, i.e. if a key uses "ContainerElement", the reference may be a submodel element collection, an entity etc. +==== + + .2+e|DataElement | `\https://admin-shell.io/aas/3/1/AasReferables/DataElement` a| Data element @@ -713,9 +891,9 @@ a|Struct of submodel elements a|List of submodel elements |=== +{empty} + -{empty} + diff --git a/documentation/IDTA-01001/modules/ROOT/pages/spec-metamodel/submodel-elements.adoc b/documentation/IDTA-01001/modules/ROOT/pages/spec-metamodel/submodel-elements.adoc index 6dc559f0e..e9e39eed4 100644 --- a/documentation/IDTA-01001/modules/ROOT/pages/spec-metamodel/submodel-elements.adoc +++ b/documentation/IDTA-01001/modules/ROOT/pages/spec-metamodel/submodel-elements.adoc @@ -47,7 +47,7 @@ If this semantic definition requires additional information not contained in the |=== h|Class: 3+e|[[AnnotatedRelationshipElement]]AnnotatedRelationshipElement h|Explanation: 3+a|An annotated relationship element is a relationship element that can be annotated with additional data elements. -h|Inherits from: 3+|xref:RelationshipElement[RelationshipElement] +h|Inherits from: 3+|xref:RelationshipElement[RelationshipElement], xref:ContainerElement[ContainerElement] h|ID: 3+| `\https://admin-shell.io/aas/3/1/AnnotatedRelationshipElement` .2+h|Attribute 3+h| ID @@ -335,6 +335,36 @@ h|ID: 3+| `\https://admin-shell.io/aas/3/1/Capability` h|Explanation h|Type h|Card. |=== + +[#container-element-and-overview-of-data-element-types] +== Container Element and Overview of Container Element Types + +.Metamodel of Container Elements +[[image-container-element-subtypes]] +[plantuml, container-element-subtypes, svg] +.... +include::partial$diagrams/container-element-subtypes.puml[] +.... + + +A container element is a submodel element that is composed of other submodel elements. + +Container elements include xref:spec-metamodel/submodel-elements.adoc#AnnotatedRelationshipElement[AnnotatedRelationshipElement], xref:spec-metamodel/submodel-elements.adoc#Entity[Entity], xref:spec-metamodel/submodel-elements.adoc#SubmodelElementCollection[SubmodelElementCollection] and xref:spec-metamodel/submodel-elements.adoc#SubmodelElementList[SubmodelElementList], see <>. + +[.table-with-appendix-table] +[cols="25%,40%,25%,10%"] +|=== +h|Class: 3+e|[[ContainerElement]]ContainerElement \<> +h|Explanation: 3+a| +A data element is a submodel element that is composed of other submodel elements. + +h|Inherits from: 3+|xref:spec-metamodel/core.adoc#SubmodelElement[SubmodelElement] +h|ID: 3+| `\https://admin-shell.io/aas/3/1/ContainerElement` + +.2+h|Attribute 3+h| ID +h|Explanation h|Type h|Card. +|=== + [#data-element-and-overview-of-data-element-types] == Data Element and Overview of Data Element Types @@ -403,7 +433,7 @@ An entity is a submodel element that is used to model entities. {aasd014} -h|Inherits from: 3+|xref:spec-metamodel/core.adoc#SubmodelElement[SubmodelElement] +h|Inherits from: 3+|xref:ContainerElement[ContainerElement] h|ID: 3+| `\https://admin-shell.io/aas/3/1/Entity` .2+h|Attribute 3+h| ID @@ -796,7 +826,7 @@ However, it is recommended to adhere to the order defined in the submodel templa |=== h|Class: 3+e|[[SubmodelElementCollection]]SubmodelElementCollection h|Explanation: 3+a|A submodel element collection is a kind of struct, i.e. a logical encapsulation of multiple named values. -h|Inherits from: 3+|xref:spec-metamodel/core.adoc#SubmodelElement[SubmodelElement] +h|Inherits from: 3+|xref:ContainerElement[ContainerElement] h|ID: 3+| `\https://admin-shell.io/aas/3/1/SubmodelElementCollection` .2+h|Attribute 3+h| ID @@ -860,7 +890,7 @@ The numbering starts with Zero (0). {aasd109} -h|Inherits from: 3+|xref:spec-metamodel/core.adoc#SubmodelElement[SubmodelElement] +h|Inherits from: 3+|xref:ContainerElement[ContainerElement] h|ID: 3+| `\https://admin-shell.io/aas/3/0/SubmodelElementList` .2+h|Attribute 3+h| ID diff --git a/documentation/IDTA-01001/modules/ROOT/partials/diagrams/28-submodel-element.puml b/documentation/IDTA-01001/modules/ROOT/partials/diagrams/28-submodel-element.puml index cf161f0cd..74785e08d 100644 --- a/documentation/IDTA-01001/modules/ROOT/partials/diagrams/28-submodel-element.puml +++ b/documentation/IDTA-01001/modules/ROOT/partials/diagrams/28-submodel-element.puml @@ -12,6 +12,7 @@ !include https://raw.githubusercontent.com/admin-shell-io/aas-specs/IDTA-01001-3-1_working/documentation/IDTA-01001/modules/ROOT/partials/diagrams/classes/file.puml !include https://raw.githubusercontent.com/admin-shell-io/aas-specs/IDTA-01001-3-1_working/documentation/IDTA-01001/modules/ROOT/partials/diagrams/classes/reference-element.puml !include https://raw.githubusercontent.com/admin-shell-io/aas-specs/IDTA-01001-3-1_working/documentation/IDTA-01001/modules/ROOT/partials/diagrams/classes/capability.puml +!include https://raw.githubusercontent.com/admin-shell-io/aas-specs/IDTA-01001-3-1_working/documentation/IDTA-01001/modules/ROOT/partials/diagrams/classes/container-element.puml !include https://raw.githubusercontent.com/admin-shell-io/aas-specs/IDTA-01001-3-1_working/documentation/IDTA-01001/modules/ROOT/partials/diagrams/classes/submodel-element-list.puml !include https://raw.githubusercontent.com/admin-shell-io/aas-specs/IDTA-01001-3-1_working/documentation/IDTA-01001/modules/ROOT/partials/diagrams/classes/submodel-element-collection.puml !include https://raw.githubusercontent.com/admin-shell-io/aas-specs/IDTA-01001-3-1_working/documentation/IDTA-01001/modules/ROOT/partials/diagrams/classes/entity.puml @@ -32,14 +33,16 @@ EventElement <|-- BasicEventElement Operation ..> OperationVariable OperationVariable ..> SubmodelElement RelationshipElement <|-- AnnotatedRelationshipElement +ContainerElement <|-- AnnotatedRelationshipElement +SubmodelElement <|-- ContainerElement SubmodelElement <|-- Capability SubmodelElement <|-- DataElement -SubmodelElement <|--- Entity +ContainerElement <|--- Entity SubmodelElement <|--- EventElement SubmodelElement <|-- Operation SubmodelElement <|--- RelationshipElement -SubmodelElement <|-- SubmodelElementCollection -SubmodelElement <|--- SubmodelElementList +ContainerElement <|-- SubmodelElementCollection +ContainerElement <|--- SubmodelElementList SubmodelElementCollection ..> SubmodelElement SubmodelElementList ..> SubmodelElement @enduml \ No newline at end of file diff --git a/documentation/IDTA-01001/modules/ROOT/partials/diagrams/50-key.puml b/documentation/IDTA-01001/modules/ROOT/partials/diagrams/50-key.puml index 947664ff1..74f325402 100644 --- a/documentation/IDTA-01001/modules/ROOT/partials/diagrams/50-key.puml +++ b/documentation/IDTA-01001/modules/ROOT/partials/diagrams/50-key.puml @@ -2,28 +2,26 @@ !theme idta from https://raw.githubusercontent.com/admin-shell-io/aas-specs-antora/main/plantuml/ !include https://raw.githubusercontent.com/admin-shell-io/aas-specs/IDTA-01001-3-1_working/documentation/IDTA-01001/modules/ROOT/partials/diagrams/classes/key.puml -!include https://raw.githubusercontent.com/admin-shell-io/aas-specs/IDTA-01001-3-1_working/documentation/IDTA-01001/modules/ROOT/partials/diagrams/classes/enum-aas-submodel-elements.puml +!include https://raw.githubusercontent.com/admin-shell-io/aas-specs/IDTA-01001-3-1_working/documentation/IDTA-01001/modules/ROOT/partials/diagrams/classes/enum-generic-fragment-keys.puml +!include https://raw.githubusercontent.com/admin-shell-io/aas-specs/IDTA-01001-3-1_working/documentation/IDTA-01001/modules/ROOT/partials/diagrams/classes/enum-generic-globally-identifiables.puml !include https://raw.githubusercontent.com/admin-shell-io/aas-specs/IDTA-01001-3-1_working/documentation/IDTA-01001/modules/ROOT/partials/diagrams/classes/enum-aas-identifiables.puml +!include https://raw.githubusercontent.com/admin-shell-io/aas-specs/IDTA-01001-3-1_working/documentation/IDTA-01001/modules/ROOT/partials/diagrams/classes/enum-aas-container-submodel-elements.puml +!include https://raw.githubusercontent.com/admin-shell-io/aas-specs/IDTA-01001-3-1_working/documentation/IDTA-01001/modules/ROOT/partials/diagrams/classes/enum-aas-non-container-submodel-elements.puml enum KeyTypes <> enum FragmentKeys <> -enum GenericFragmentKeys <> { - FragmentReference -} - enum AasReferables <> { Referable } +enum AasSubmodelElements <> + enum AasReferableNonIdentifiables <> enum GloballyIdentifiables <> -enum GenericGloballyIdentifiables <> { - GlobalReference -} Key ..> KeyTypes KeyTypes --|> FragmentKeys @@ -34,6 +32,8 @@ FragmentKeys --|> AasReferableNonIdentifiables AasReferables --|> AasReferableNonIdentifiables AasReferables --|> AasIdentifiables AasReferableNonIdentifiables --|> AasSubmodelElements +AasSubmodelElements --|> AasContainerSubmodelElements +AasSubmodelElements --|> AasNonContainerSubmodelElements GloballyIdentifiables --|> AasIdentifiables GloballyIdentifiables --|> GenericGloballyIdentifiables @enduml \ No newline at end of file diff --git a/documentation/IDTA-01001/modules/ROOT/partials/diagrams/classes/enum-aas-submodel-elements.puml b/documentation/IDTA-01001/modules/ROOT/partials/diagrams/classes/enum-aas-submodel-elements.puml index 2af3fd1aa..c945eca4f 100644 --- a/documentation/IDTA-01001/modules/ROOT/partials/diagrams/classes/enum-aas-submodel-elements.puml +++ b/documentation/IDTA-01001/modules/ROOT/partials/diagrams/classes/enum-aas-submodel-elements.puml @@ -5,6 +5,7 @@ enum AasSubmodelElements <> { Blob Capability DataElement + ContainerElement Entity EventElement File diff --git a/documentation/IDTA-01001/modules/ROOT/partials/diagrams/classes/enum-key-types.puml b/documentation/IDTA-01001/modules/ROOT/partials/diagrams/classes/enum-key-types.puml index 05b4a8fba..9b8aea68a 100644 --- a/documentation/IDTA-01001/modules/ROOT/partials/diagrams/classes/enum-key-types.puml +++ b/documentation/IDTA-01001/modules/ROOT/partials/diagrams/classes/enum-key-types.puml @@ -6,6 +6,7 @@ enum KeyTypes <> { Blob Capability ConceptDescription + ContainerElement DataElement Entity EventElement