Class Submodel
A submodel defines a specific aspect of the asset represented by the AAS.
Inheritance
Implements
Inherited Members
Namespace: AasCore.Aas3_0
Assembly: AasCore.Aas3_0.dll
Syntax
public class Submodel : ISubmodel, IIdentifiable, IReferable, IHasExtensions, IHasKind, IHasSemantics, IQualifiable, IHasDataSpecification, IClass
Remarks
A submodel is used to structure the digital representation and technical functionality of an Administration Shell into distinguishable parts. Each submodel refers to a well-defined domain or subject matter. Submodels can become standardized and, thus, become submodels templates.
Constructors
| Improve this Doc View SourceSubmodel(String, List<IExtension>, String, String, List<ILangStringNameType>, List<ILangStringTextType>, IAdministrativeInformation, Nullable<ModellingKind>, IReference, List<IReference>, List<IQualifier>, List<IEmbeddedDataSpecification>, List<ISubmodelElement>)
Declaration
public Submodel(string id, List<IExtension> extensions = null, string category = null, string idShort = null, List<ILangStringNameType> displayName = null, List<ILangStringTextType> description = null, IAdministrativeInformation administration = null, ModellingKind? kind = null, IReference semanticId = null, List<IReference> supplementalSemanticIds = null, List<IQualifier> qualifiers = null, List<IEmbeddedDataSpecification> embeddedDataSpecifications = null, List<ISubmodelElement> submodelElements = null)
Parameters
Type | Name | Description |
---|---|---|
System.String | id | |
System.Collections.Generic.List<IExtension> | extensions | |
System.String | category | |
System.String | idShort | |
System.Collections.Generic.List<ILangStringNameType> | displayName | |
System.Collections.Generic.List<ILangStringTextType> | description | |
IAdministrativeInformation | administration | |
System.Nullable<ModellingKind> | kind | |
IReference | semanticId | |
System.Collections.Generic.List<IReference> | supplementalSemanticIds | |
System.Collections.Generic.List<IQualifier> | qualifiers | |
System.Collections.Generic.List<IEmbeddedDataSpecification> | embeddedDataSpecifications | |
System.Collections.Generic.List<ISubmodelElement> | submodelElements |
Properties
| Improve this Doc View SourceAdministration
Administrative information of an identifiable element.
Declaration
public IAdministrativeInformation Administration { get; set; }
Property Value
Type | Description |
---|---|
IAdministrativeInformation |
Remarks
Some of the administrative information like the version number might need to be part of the identification.
Category
The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints.
Declaration
public string Category { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Remarks
The category is not identical to the semantic definition (IHasSemantics) of an element. The category e.g. could denote that the element is a measurement value whereas the semantic definition of the element would denote that it is the measured temperature.
Description
Description or comments on the element.
Declaration
public List<ILangStringTextType> Description { get; set; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.List<ILangStringTextType> |
Remarks
The description can be provided in several languages.
If no description is defined, then the definition of the concept description that defines the semantics of the element is used.
Additional information can be provided, e.g., if the element is qualified and which qualifier types can be expected in which context or which additional data specification templates are provided.
DisplayName
Display name. Can be provided in several languages.
Declaration
public List<ILangStringNameType> DisplayName { get; set; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.List<ILangStringNameType> |
EmbeddedDataSpecifications
Embedded data specification.
Declaration
public List<IEmbeddedDataSpecification> EmbeddedDataSpecifications { get; set; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.List<IEmbeddedDataSpecification> |
Extensions
An extension of the element.
Declaration
public List<IExtension> Extensions { get; set; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.List<IExtension> |
Id
The globally unique identification of the element.
Declaration
public string Id { get; set; }
Property Value
Type | Description |
---|---|
System.String |
IdShort
In case of identifiables this attribute is a short name of the element. In case of referable this ID is an identifying string of the element within its name space.
Declaration
public string IdShort { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Remarks
In case the element is a property and the property has a semantic definition (SemanticId) conformant to IEC61360 the IdShort is typically identical to the short name in English.
Kind
Kind of the element: either type or instance.
Declaration
public ModellingKind? Kind { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<ModellingKind> |
Remarks
Default: Instance
Qualifiers
Additional qualification of a qualifiable element.
Declaration
public List<IQualifier> Qualifiers { get; set; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.List<IQualifier> |
Remarks
Constraints:
- Constraint AASd-021: Every qualifiable can only have one qualifier with the same Type.
SemanticId
Identifier of the semantic definition of the element. It is called semantic ID of the element or also main semantic ID of the element.
Declaration
public IReference SemanticId { get; set; }
Property Value
Type | Description |
---|---|
IReference |
Remarks
It is recommended to use a global reference.
SubmodelElements
A submodel consists of zero or more submodel elements.
Declaration
public List<ISubmodelElement> SubmodelElements { get; set; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.List<ISubmodelElement> |
SupplementalSemanticIds
Identifier of a supplemental semantic definition of the element. It is called supplemental semantic ID of the element.
Declaration
public List<IReference> SupplementalSemanticIds { get; set; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.List<IReference> |
Remarks
It is recommended to use a global reference.
Methods
| Improve this Doc View SourceAccept(Visitation.IVisitor)
Accept the visitor
to visit this instance
for double dispatch.
Declaration
public void Accept(Visitation.IVisitor visitor)
Parameters
Type | Name | Description |
---|---|---|
Visitation.IVisitor | visitor |
Accept<TContext>(Visitation.IVisitorWithContext<TContext>, TContext)
Accept the visitor to visit this instance for double dispatch
with the context
.
Declaration
public void Accept<TContext>(Visitation.IVisitorWithContext<TContext> visitor, TContext context)
Parameters
Type | Name | Description |
---|---|---|
Visitation.IVisitorWithContext<TContext> | visitor | |
TContext | context |
Type Parameters
Name | Description |
---|---|
TContext |
Descend()
Iterate recursively over all the class instances referenced from this instance.
Declaration
public IEnumerable<IClass> Descend()
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IClass> |
DescendOnce()
Iterate over all the class instances referenced from this instance without further recursion.
Declaration
public IEnumerable<IClass> DescendOnce()
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IClass> |
KindOrDefault()
Return the Kind or the default value if it has not been set.
Declaration
public ModellingKind KindOrDefault()
Returns
Type | Description |
---|---|
ModellingKind |
OverDescriptionOrEmpty()
Iterate over Description, if set, and otherwise return an empty enumerable.
Declaration
public IEnumerable<ILangStringTextType> OverDescriptionOrEmpty()
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<ILangStringTextType> |
OverDisplayNameOrEmpty()
Iterate over DisplayName, if set, and otherwise return an empty enumerable.
Declaration
public IEnumerable<ILangStringNameType> OverDisplayNameOrEmpty()
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<ILangStringNameType> |
OverEmbeddedDataSpecificationsOrEmpty()
Iterate over EmbeddedDataSpecifications, if set, and otherwise return an empty enumerable.
Declaration
public IEnumerable<IEmbeddedDataSpecification> OverEmbeddedDataSpecificationsOrEmpty()
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IEmbeddedDataSpecification> |
OverExtensionsOrEmpty()
Iterate over Extensions, if set, and otherwise return an empty enumerable.
Declaration
public IEnumerable<IExtension> OverExtensionsOrEmpty()
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IExtension> |
OverQualifiersOrEmpty()
Iterate over Qualifiers, if set, and otherwise return an empty enumerable.
Declaration
public IEnumerable<IQualifier> OverQualifiersOrEmpty()
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IQualifier> |
OverSubmodelElementsOrEmpty()
Iterate over SubmodelElements, if set, and otherwise return an empty enumerable.
Declaration
public IEnumerable<ISubmodelElement> OverSubmodelElementsOrEmpty()
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<ISubmodelElement> |
OverSupplementalSemanticIdsOrEmpty()
Iterate over SupplementalSemanticIds, if set, and otherwise return an empty enumerable.
Declaration
public IEnumerable<IReference> OverSupplementalSemanticIdsOrEmpty()
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IReference> |
Transform<T>(Visitation.ITransformer<T>)
Accept the transformer
to transform this instance
for double dispatch.
Declaration
public T Transform<T>(Visitation.ITransformer<T> transformer)
Parameters
Type | Name | Description |
---|---|---|
Visitation.ITransformer<T> | transformer |
Returns
Type | Description |
---|---|
T |
Type Parameters
Name | Description |
---|---|
T |
Transform<TContext, T>(Visitation.ITransformerWithContext<TContext, T>, TContext)
Accept the transformer
to visit this instance
for double dispatch with the context
.
Declaration
public T Transform<TContext, T>(Visitation.ITransformerWithContext<TContext, T> transformer, TContext context)
Parameters
Type | Name | Description |
---|---|---|
Visitation.ITransformerWithContext<TContext, T> | transformer | |
TContext | context |
Returns
Type | Description |
---|---|
T |
Type Parameters
Name | Description |
---|---|
TContext | |
T |