mjacoby / aas4j

Eclipse AAS Model for Java

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

⚠️ Attention - this project is the new home for the AAS libraries for java previously available in admin-shell-io.

Eclipse AAS4J (🚧 migration in progress, initial contribution)

Eclipse AA4J implements the specification of the Asset Administration Shell (AAS) such as metamodels, submodels, serialization and deserialization modules, validators, and transformation libraries based on the AAS specifications. It also contains all classes and properties as defined by the document 'Details of the Asset Administration Shell' published on Industrial Digital Twin Association (IDTA).

Project Structure

Eclipse AA4J consists of the following components:

  • AAS Model
  • Dataformat Library
  • Validator

AAS Model

The AAS Model is an implementation of the Asset Administration Shell metamodel in Java. It contains all classes and properties as defined by the document 'Details of the Asset Administration Shell' published on Industrial Digital Twin Association (IDTA).

Please refer to AAS Model README for more information.

Dataformat Library

Eclipse AA4J contains an AAS Java Dataformat Library. The AAS Java Dataformat Library is a collection of software modules to serialize and deserialze instances of the Asset Administration Shell from and to Java instances. De-/serialization works according to the dataformat schemas published in the document 'Details of the Asset Administration Shell', published on Industrial Digital Twin Association (IDTA).

Build and Use

Some examples can be found on the documentation webpage.

You can build the project using Maven by simply executing at the repository root:

mvn clean package

or by integrating the respective modules as dependencies from Maven Central Repository, for instance:

<dependency>
  <groupId>org.eclipse.aas4j</groupId>
  <artifactId>dataformat-json</artifactId>
  <version>latest-version</version>
<dependency>

Dataformat Library Project Structure

The project contains several modules:

  • dataformat-parent Maven parent module that contains the respective de-/serializers for the different data formats.
  • dataformat-core Location of the general classes and interfaces that are used by more than one de-/serializer.
  • dataformat-aasx AASX de-/serializer
  • dataformat-json JSON de-/serializer
  • dataformat-rdf RDF de-/serializer
  • dataformat-xml XML de-/serializer
  • dataformat-uanodeset OPC UA I4AAS NodeSet de-/serializer
  • dataformat-aml AutomationML serializer (deserializer is currently under development)

Additionally, the sources that are used for generating the static documentation using DocFX in the gh-pages branch are located in the docs folder.

How to Contribute

We always look for contributions, bug reports, feature requests etc. Please, read https://github.com/eclipse-digitaltwin/aas4j/blob/main/CONTRIBUTING.md for more information.

Contributors

An updated list of the committers can be found here: https://projects.eclipse.org/projects/dt.aas4j/who

Name Affiliation Github Account Parent Core AASX JSON XML RDF UA-Nodeset Validator AutomationML
Mohammad Alreeni Fraunhofer IWU x
Sebastian Bader Fraunhofer IAIS sebbader x x x
Matthias Böckmann Fraunhofer IAIS maboeckmann x x x
Maximilian Conradi Fraunhofer IESE x x
Helge Dickel SAP SE heldic x x x
Daniel Espen Fraunhofer IESE daespen x x x x
Michael Jacoby Fraunhofer IOSB mjacoby x x x x x
Jens Müller Fraunhofer IOSB JensMueller2709 x x
Orthodoxos Kipouridis SAP SE akiskips x x x
Bastian Rössl Fraunhofer IOSB-INA br-iosb x x
Frank Schnicke Fraunhofer IESE frankschnicke x x x
Manuel Sauer SAP SE Manu3756 x
Arno Weiss Fraunhofer IWU alw-iwu x x
Jan Blume Fraunhofer IOSB x

This project was initiated by SAP and Fraunhofer to provide a foundation for the AAS development and to foster its dissemination.

About

Eclipse AAS Model for Java

License:Other


Languages

Language:Java 100.0%