Skip to content

Commit

Permalink
Update PUML, Fix small Bugs, Apply Corrections, Add Tags (#492)
Browse files Browse the repository at this point in the history
* correct ordering of data types

* added tags for referencing to attributes (not yet finished)

* fix ref -> xref

* Extensions Plural

* fix primitive types: start with small letters

* fix primitive data types: start with small letter

* correct Type: NameType instead of IdShortType

* rename puml for overview of UML packages
reorder and correct overview to be consistent with chapter structure
  • Loading branch information
BirgitBoss authored Dec 4, 2024
1 parent 7214123 commit b3d969c
Show file tree
Hide file tree
Showing 8 changed files with 137 additions and 120 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ Note: this is an external reference.

For more details on data specifications, please see Clause xref:data-specifications.adoc[].

== Has Extension Attributes
== Has Extensions Attributes

.Metamodel of Has Extensions
[plantuml, 16-has-extensions, svg]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -216,6 +216,14 @@ file:c:/local/Specification.pdf
FTP://unicode.org


.2+e|[[QualifierType]]QualifierType 2+| `\https://admin-shell.io/aas/3/0/QualifierType`
a|_NameType_ a|
"ExpressionSemantic" (as specified in DIN SPEC 92000:2019-09, see xref:bibliography.adoc#bib16[[16\]])

"life cycle qual" (as specified in IEC 61360-7 - IEC/SC 3D - Common Data Dictionary (link:https://cdd.iec.ch/cdd/common/iec61360-7.nsf/SearchFrameset?OpenFrameSet[CDD - V2.0015.0004])



.2+e|[[RevisionType]]RevisionType 2+| `\https://admin-shell.io/aas/3/0/RevisionType`
a|
_string_ with max 4 and min 1 characters
Expand All @@ -230,11 +238,18 @@ a|

"567"

.2+e|[[QualifierType]]QualifierType 2+| `\https://admin-shell.io/aas/3/0/QualifierType`
a|_NameType_ a|
"ExpressionSemantic" (as specified in DIN SPEC 92000:2019-09, see xref:bibliography.adoc#bib16[[16\]])
.2+e|[[ValueDataType]]ValueDataType 2+| `\https://admin-shell.io/aas/3/0/ValueDataType`
a|_any xsd atomic type as specified via DataTypeDefXsd_ a|
"This is a string value"

10

1.5

2020-04-01

True

"life cycle qual" (as specified in IEC 61360-7 - IEC/SC 3D - Common Data Dictionary (link:https://cdd.iec.ch/cdd/common/iec61360-7.nsf/SearchFrameset?OpenFrameSet[CDD - V2.0015.0004])

.2+e|[[VersionType]]VersionType 2+| `\https://admin-shell.io/aas/3/0/VersionType`
a|
Expand All @@ -249,18 +264,6 @@ a|

"9999"

.2+e|[[ValueDataType]]ValueDataType 2+| `\https://admin-shell.io/aas/3/0/ValueDataType`
a|_any xsd atomic type as specified via DataTypeDefXsd_ a|
"This is a string value"

10

1.5

2020-04-01

True

|===

== Enumeration for Submodel Element Value Types
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,16 +83,18 @@ Data specification templates are selected at design time.
The UML packages reflect the structure of Clause xref:spec-metamodel/designators.adoc[].
The elements of package "Core" are specified as first class citizens in Clause xref:spec-metamodel/core.adoc[Core Classes], except for their imported packages: the elements of package "SubmodelElements" are specified in Clause xref:spec-metamodel/submodel-elements.adoc[].
Elements of package "Common" are specified in Clause xref:spec-metamodel/common.adoc[].
The elements of package "Reference" are specified in Clause xref:spec-metamodel/referencing.adoc[].
The elements of package "Referencing" are specified in Clause xref:spec-metamodel/referencing.adoc[].
Elements from package "Types" are specified in Clause xref:spec-metamodel/datatypes.adoc[].
Elements from package "Envirnonment" are specified in Clause xref:spec-metamodel/environment.adoc[].
Elements from package "ConceptDescriptions" are specified in Clause xref:spec-metamodel/concept-descriptions.adoc[].
The only package that is not listed is "Data Specifications (Templates)" because data specifications are handled differently.
Data specification templates are explained in Clause ref:data-specifications.adoc[].
Data specification templates are explained in Clause xref:data-specifications.adoc[].

.Metamodel Package Overview
[[image-metamodel-package-overview]]
[plantuml, 13-structure, svg]
[plantuml, overview-package-structure, svg]
....
include::partial$diagrams/13-structure.puml[]
include::partial$diagrams/overview-package-structure.puml[]
....


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ h|ID: 3+| `\https://admin-shell.io/aas/3/1/AnnotatedRelationshipElement`
.2+h|Attribute 3+h| ID
h|Explanation h|Type h|Card.

.2+e|annotation 3+| `\https://admin-shell.io/aas/3/1/AnnotatedRelationshipElement/annotations`
.2+e|[[AnnotatedRelationshipElement-annotations]] annotation 3+| `\https://admin-shell.io/aas/3/1/AnnotatedRelationshipElement/annotations`
a|A data element that represents an annotation that holds for the relationship between the two elements |xref:DataElement[DataElement] |0..*
|===

Expand All @@ -77,29 +77,29 @@ h|ID: 3+| `\https://admin-shell.io/aas/3/1/BasicEventElement`
.2+h|Attribute 3+h| ID
h|Explanation h|Type h|Card.

.2+e|observed 3+| `\https://admin-shell.io/aas/3/1/BasicEventElement`
.2+e|[[BasicEventElement-observed]]observed 3+| `\https://admin-shell.io/aas/3/1/BasicEventElement`
a|Reference to a referable, e.g. a data element or a submodel that is being observed |ModelReference<xref:spec-metamodel/common.adoc#Referable[Referable]> |1

.2+e|direction 3+| `\https://admin-shell.io/aas/3/1/BasicEventElement/direction`
.2+e|[[BasicEventElement-direction]]direction 3+| `\https://admin-shell.io/aas/3/1/BasicEventElement/direction`
a|
Direction of event

Can be \{ input, output }

|xref:Direction[Direction]|1

.2+e|state 3+| `\https://admin-shell.io/aas/3/1/BasicEventElement/state`
.2+e|[[BasicEventElement-state]]state 3+| `\https://admin-shell.io/aas/3/1/BasicEventElement/state`
a|
State of event

Can be { on, off }

|xref:StateOfEvent[StateOfEvent]|1

.2+e|messageTopic 3+| `\https://admin-shell.io/aas/3/1/BasicEventElement/messageTopic`
.2+e|[[BasicEventElement-messageTopic]]messageTopic 3+| `\https://admin-shell.io/aas/3/1/BasicEventElement/messageTopic`
a|Information for the outer message infrastructure to schedule the event for the respective communication channel. |xref:spec-metamodel/datatypes.adoc#MessageTopicType[MessageTopicType] |0..1

.2+e|messageBroker 3+| `\https://admin-shell.io/aas/3/1/BasicEventElement/messageBroker`
.2+e|[[BasicEventElement-messageBroker]]messageBroker 3+| `\https://admin-shell.io/aas/3/1/BasicEventElement/messageBroker`
a|
Information about which outer message infrastructure shall handle messages for the _EventElement_; refers to a _Submodel,_ _SubmodelElementList_, _SubmodelElementCollection_ or _Entity_, which contains __DataElement__s describing the proprietary specification for the message broker

Expand All @@ -111,10 +111,10 @@ Note: this proprietary specification could be standardized by using respective s

|ModelReference<xref:spec-metamodel/common.adoc#Referable[Referable]> |0..1

.2+e|lastUpdate 3+| `\https://admin-shell.io/aas/3/1/BasicEventElement/lastUpdate`
.2+e|[[BasicEventElement-lastUpdate]]lastUpdate 3+| `\https://admin-shell.io/aas/3/1/BasicEventElement/lastUpdate`
a|Timestamp in UTC, when the last event was received (input direction) or sent (output direction) |dateTime |0..1

.2+e|minInterval 3+| `\https://admin-shell.io/aas/3/1/BasicEventElement/minInterval`
.2+e|[[BasicEventElement-minInterval]]minInterval 3+| `\https://admin-shell.io/aas/3/1/BasicEventElement/minInterval`
a|
For input direction reports on the maximum frequency, the software entity behind the respective referable can handle input events.

Expand All @@ -124,7 +124,7 @@ Might be not specified, i.e. if there is no minimum interval.

|duration |0..1

.2+e|maxInterval 3+| `\https://admin-shell.io/aas/3/1/BasicEventElement/maxInterval`
.2+e|[[BasicEventElement-maxInterval]]maxInterval 3+| `\https://admin-shell.io/aas/3/1/BasicEventElement/maxInterval`
a|
Not applicable for input direction

Expand All @@ -148,10 +148,10 @@ h|ID: | `\https://admin-shell.io/aas/3/0/Direction`
.2+h|Literal h| ID
h|Explanation

.2+e|input | `\https://admin-shell.io/aas/3/0/Direction/input`
.2+e|[[Direction-input]]input | `\https://admin-shell.io/aas/3/0/Direction/input`
a|Input direction

.2+e|output | `\https://admin-shell.io/aas/3/0/Direction/output`
.2+e|[[Direction-output]]output | `\https://admin-shell.io/aas/3/0/Direction/output`
a|Output direction
|===

Expand All @@ -168,10 +168,10 @@ h|ID: | `\https://admin-shell.io/aas/3/0/StateOfEvent`
.2+h|Literal h| ID
h|Explanation

.2+e|on | `\https://admin-shell.io/aas/3/0/StateOfEvent/on`
.2+e|[[StateOfEvent-on]]on | `\https://admin-shell.io/aas/3/0/StateOfEvent/on`
a|Event is on

.2+e|off | `\https://admin-shell.io/aas/3/0/StateOfEvent/off`
.2+e|[[StateOfEvent-off]]off | `\https://admin-shell.io/aas/3/0/StateOfEvent/off`
a|Event is off
|===

Expand Down Expand Up @@ -202,10 +202,10 @@ h|ID: 3+| `\https://admin-shell.io/aas/3/1/EventPayload`
.2+h|Attribute 3+h| ID
h|Explanation h|Type h|Card.

.2+e|source 3+| `\https://admin-shell.io/aas/3/1/EventPayload/source`
.2+e|[[EventPayload-source]]source 3+| `\https://admin-shell.io/aas/3/1/EventPayload/source`
a|Reference to the source event element |ModelReference<xref:EventElement[EventElement]> |1

.2+e|sourceSemanticId 3+| `\https://admin-shell.io/aas/3/1/EventPayload/sourceSemanticId`
.2+e|[[EventPayload-sourceSemanticId]]sourceSemanticId 3+| `\https://admin-shell.io/aas/3/1/EventPayload/sourceSemanticId`
a|
semanticId of the source event element, if available

Expand All @@ -217,10 +217,10 @@ Note: it is recommended to use an external reference.

|xref:spec-metamodel/referencing.adoc#Reference[Reference] |0..1

.2+e|observableReference 3+| `\https://admin-shell.io/aas/3/1/EventPayload/observableReference`
.2+e|[[EventPayload-observableReference]]observableReference 3+| `\https://admin-shell.io/aas/3/1/EventPayload/observableReference`
a|Reference to the referable, which defines the scope of the event. |ModelReference<xref:spec-metamodel/common.adoc#Referable[Referable]> |1

.2+e|observableSemanticId 3+| `\https://admin-shell.io/aas/3/1/EventPayload/observableSemanticId`
.2+e|[[EventPayload-sourceSemanticId]]observableSemanticId 3+| `\https://admin-shell.io/aas/3/1/EventPayload/observableSemanticId`
a|
semanticId of the referable, which defines the scope of the event, if available.

Expand All @@ -232,10 +232,10 @@ Note: it is recommended to use an external reference.

|xref:spec-metamodel/referencing.adoc#Reference[Reference] |0..1

.2+e|topic 3+| `\https://admin-shell.io/aas/3/1/EventPayload/topic`
.2+e|[[EventPayload-topic]]topic 3+| `\https://admin-shell.io/aas/3/1/EventPayload/topic`
a|Information for the outer message infrastructure to schedule the event for the respective communication channel |xref:spec-metamodel/datatypes.adoc#MessageTopicType[MessageTopicType] |0..1

.2+e|subjectId 3+| `\https://admin-shell.io/aas/3/1/EventPayload/subjectId`
.2+e|[[EventPayload-subjectId]]subjectId 3+| `\https://admin-shell.io/aas/3/1/EventPayload/subjectId`
a|
Subject, who/which initiated the creation

Expand All @@ -247,10 +247,10 @@ Note: this is an external reference.

|xref:spec-metamodel/referencing.adoc#Reference[Reference] |0..1

.2+e|timestamp 3+| `\https://admin-shell.io/aas/3/1/EventPayload/timestamp`
.2+e|[[EventPayload-timestamp]]timestamp 3+| `\https://admin-shell.io/aas/3/1/EventPayload/timestamp`
a|Timestamp in UTC, when this event was triggered |dateTime |1

.2+e|payload 3+| `\https://admin-shell.io/aas/3/1/EventPayload/payload`
.2+e|[[EventPayload-payload]]payload 3+| `\https://admin-shell.io/aas/3/1/EventPayload/payload`
a|Event-specific payload |xref:spec-metamodel/datatypes.adoc#BlobType[BlobType] |0..1
|===

Expand Down Expand Up @@ -279,7 +279,7 @@ h|ID: 3+| `\https://admin-shell.io/aas/3/1/Blob`
.2+h|Attribute 3+h| ID
h|Explanation h|Type h|Card.

.2+e|value 3+| `\https://admin-shell.io/aas/3/1/Blob/value`
.2+e|[[Blob-value]]value 3+| `\https://admin-shell.io/aas/3/1/Blob/value`
a|
The value of the blob instance of a blob data element

Expand All @@ -291,7 +291,7 @@ Note: in contrast to the file property, the file content is stored directly as v

|xref:spec-metamodel/datatypes.adoc#BlobType[BlobType] |0..1

.2+e|contentType 3+| `\https://admin-shell.io/aas/3/1/Blob/contentType`
.2+e|[[Blob-contentType]]contentType 3+| `\https://admin-shell.io/aas/3/1/Blob/contentType`
a|
Content type of the content of the blob.

Expand Down Expand Up @@ -407,16 +407,16 @@ h|ID: 3+| `\https://admin-shell.io/aas/3/1/Entity`
.2+h|Attribute 3+h| ID
h|Explanation h|Type h|Card.

.2+e|statement 3+| `\https://admin-shell.io/aas/3/1/Entity/statements`
.2+e|[[Entity-statements]]statement 3+| `\https://admin-shell.io/aas/3/1/Entity/statements`
a|Describes statements applicable to the entity by a set of submodel elements, typically with a qualified value |xref:spec-metamodel/core.adoc#SubmodelElement[SubmodelElement] |0..*

.2+e|entityType 3+| `\https://admin-shell.io/aas/3/1/Entity/entityType`
.2+e|[[Entity-entityType]]entityType 3+| `\https://admin-shell.io/aas/3/1/Entity/entityType`
a|Describes whether the entity is a co-managed entity or a self-managed entity |xref:EntityType[EntityType]|0..1

.2+e|globalAssetId 3+| `\https://admin-shell.io/aas/3/1/Entity/globalAssetId`
.2+e|[[Entity-globalAssetId]]globalAssetId 3+| `\https://admin-shell.io/aas/3/1/Entity/globalAssetId`
a|Global identifier of the asset the entity is representing |xref:spec-metamodel/datatypes.adoc#Identifier[Identifier] |0..1

.2+e|specificAssetId 3+| `\https://admin-shell.io/aas/3/1/Entity/specificAssetIds`
.2+e|[[Entity-specificAssetIds]]specificAssetId 3+| `\https://admin-shell.io/aas/3/1/Entity/specificAssetIds`
a|Reference to a specific asset ID representing a supplementary identifier of the asset represented by the Asset Administration Shell |xref:spec-metamodel/core.adoc#SpecificAssetId[SpecificAssetId] |0..*
|===

Expand All @@ -433,12 +433,12 @@ h|ID: | `\https://admin-shell.io/aas/3/0/EntityType`
.2+h|Literal h| ID
h|Explanation

.2+e|CoManagedEntity | `\https://admin-shell.io/aas/3/0/EntityType/CoManagedEntity`
.2+e|[[EntityType-CoManagedEntity]]CoManagedEntity | `\https://admin-shell.io/aas/3/0/EntityType/CoManagedEntity`
a|
There is no separate Asset Administration Shell for co-managed entities.
Co-managed entities need to be part of a self-managed entity.

.2+e|SelfManagedEntity | `\https://admin-shell.io/aas/3/0/EntityType/SelfManagedEntity`
.2+e|[[EntityType-SelfManagedEntity]]SelfManagedEntity | `\https://admin-shell.io/aas/3/0/EntityType/SelfManagedEntity`
a|
Self-managed entities have their own Asset Administration Shell but can be part of another composite self-managed entity.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ class BasicEventElement<EventElement> <<Experimental>> {
+state: StateOfEvent
+messageTopic: MessageTopicType[0..1]
+messageBroker: Reference[0..1]
+lastUpdate: DateTime[0..1]
+minInterval: Duration[0..1]
+maxInterval: Duration[0..1]
+lastUpdate: dateTime[0..1]
+minInterval: duration[0..1]
+maxInterval: duration[0..1]
}
@enduml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ class EventPayload <<Experimental>> {
+observableSemanticId: Reference[0..1]
+topic: MessageTopicType[0..1]
+subjectId: Reference[0..1]
+timeStamp: DateTime
+timeStamp: dateTime
+payload: BlobType[0..1]
}
@enduml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
@startuml
abstract class Referable<HasExtensions> <<abstract>> {
+category: NameType[0..1] <<Deprecated>>
+idShort: IdShortType[0..1]
+idShort: NameType[0..1]
+displayName: MultiLanguageNameType[0..1]
+description: MultiLanguageTextType[0..1]
}
Expand Down
Loading

0 comments on commit b3d969c

Please sign in to comment.