Eclipse Semantic Modeling Framework (ESMF)

Model aspects of digital twins to create APIs & UIs based on semantic information.

ESMF Project Documentation: (github org: eclipse-esmf).

What the ESMF is about:

A digital twin is defined, for example, by the Asset Administration Shell as a set of submodels each representing a different aspect of the asset being represented by the digital twin. To enable semantic interoperability the semantics of every aspect needs to be clearly defined.

The Eclipse Semantic Modeling Framework provides exactly the means for defining the semantics of different aspects of information aka submodels provided via digital twins.

The core of the Eclipse Semantic Modeling Framework is the development of the Semantic Aspect Meta Model (SAMM). Besides the SAMM specifying the language to define the semantics of a submodel in an "Aspect Model", the ESMF also includes an editor, SDKs in different programming languages, a command line tool for validation, generating documentation and different serializations and other functionality easing its usage and implementation in digital twin projects. Also aasx generators for support of Asset Administration Shell are in scope.

Aspect Models express a schema with a defined Resource Description Framework (RDF, [1]) vocabulary and are validated by a comprehensive set of rules in the Shapes Constraint Language (SHACL, [2]). Domain semantics are captured by a combination of structural elements, relations, namespaces and reified named concepts. 

Additionally, basic ontologies are developed to define a common terminology.

The Eclipse Semantic Modeling Framework (ESMF) in combination with the specifications of and open source solutions for the Asset Administration Shell accelerates the development of digital twin technologies and drives its adoption in ecosystems. 


  1. Cyganiak, R., Wood, D., Lanthaler, M.. RDF 1.1 Concepts and Abstract Syntax.
  2. Knublauch, H., Kontokostas, D., Shapes Constraint Language (SHACL).
Mozilla Public License 2.0

The content of this open source project is received and distributed under the license(s) listed above. Some source code and binaries may be distributed under different terms. Specific license information is provided in file headers and in NOTICE files distributed with the project's binaries.

Active Member Companies

Member companies supporting this project over the last three months.

    Contribution Activity
    Commits on this project (last 12 months)