An Aspect Model is a formal (i.e., machine-readable) description of the structure and semantics of the data provided by an aspect. An Aspect Model serves two purposes:
It captures the domain semantics of the part of the Digital Twin it describes. In this regard, it can be considered an ontology. Information that is usually available explicitly but informally (for example, in a data sheet of a machine) or implicitly (as tacit knowledge) is now made explicit and consistent in a broader scope than a single service or application.
It serves as a contract between data producer and data consumer, similar to a schema description (cf. eg. JSON Schema or XML Schema). In this regard, it predefines exactly which data structures and values may appear in the runtime data. However, unlike a pure schema language, it does also contain the previously mentioned domain semantics, that are not contained in the runtime data but can partly be used for its validation.
Aspect Models can therefore be used for generating both comprehensive documentation of the modeled domain and software artifacts such as runtime data serializers and deserializers and corresponding entity models in various programming languages and frameworks.
|Can be used for a semantic description within a domain?
|Can be used as runtime data payload schema?
To specify an Aspect Model, the Semantic Aspect Meta Model (SAMM) is used.
Open standards for semantic modelling are used for both Aspect Models and the Meta Model. SAMM is specified using the Resource Description Format (RDF) and the Terse RDF Triple Language syntax (TTL), together with validation rules in the Shapes Constraint Language (SHACL). Aspect Models are likewise specified in RDF/Turtle, following SAMM semantics.
You can find more information on these technology choices in the Semantic Aspect Meta Model (SAMM).