This proposal has been approved and the Eclipse AAS Model for Java project has been created.
Visit the project page for the latest information and development.

Eclipse AAS Model for Java

Tuesday, November 2, 2021 - 15:46 by Thiago Weber Martins
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please login and add your feedback in the comments section.
Parent Project
Proposal State
Created
Background

Information models are created in a decentralized setup and the specific benefits are demonstrated by means of use cases. The aim is to make the Asset Administration Shell a standard as the technical base for Industrial Digital Twins. The Asset Administration Shell (AAS) is the standardized digital representation of the asset, corner stone of the interoperability between the applications managing the manufacturing systems. AAS identifies the Administration Shell and the assets represented by it, holds digital models of various aspects (submodels) and describes technical functionality exposed by the Administration Shell or respective assets. Core elements of AAS are the metamodels and serializations, APIs, and security.

Scope

Eclipse AAS Model for Java provides enterprise-ready Asset Administration Shell (AAS) metamodels, AAS submodels, transformation libraries (from/to other industry standards such as AutomationML, OPC UA, …), serializers, and validators based on the specifications of the AAS.

 

In scope of this project Eclipse AAS Model for Java are the:

  • Implementation of the AAS metamodel
  • Implementation of tools for the automated generation of libraries containing all classes, properties, and enumerations of the Asset Administration Shell (AAS) metamodel
  • Implementation of serialization and transformation libraries of AAS for other standards such as OPC UA and AutomationML
  • Implementation of tools to validate AAS models
Description

Eclipse AAS Model for Java 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 www.plattform-i40.de. 

The Eclipse AAS Model for Java projects are focusing on the following features / functionalities:

  • AAS Java Generator: The Java Generator automatically updates AAS Java Model classes and interfaces upon change in the specification documents.
  • AAS Java Model: The AAS Java Model enables users to model and to represent their Digital Twins using AAS metamodels and submodels.
  • AAS Java Serializer: The AAS Java Serializer enables users to serialize the AAS model into JSON, RDF, XML, AASX, OPC UA, AutomationML. This feature is necessary to support the import/export of AAS from/to these formats and validate them.
  • AAS Transformation Library: The AAS Transformation Library brings the content from existing industry-standards such as OPC UA and AutomationML to the AAS.
Description

Eclipse AAS Model for Java 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 www.plattform-i40.de. 

The Eclipse AAS Model for Java projects are focusing on the following features / functionalities:

  • AAS Java Generator: The Java Generator automatically updates AAS Java Model classes and interfaces upon change in the specification documents.
  • AAS Java Model: The AAS Java Model enables users to model and to represent their Digital Twins using AAS metamodels and submodels.
  • AAS Java Serializer: The AAS Java Serializer enables users to serialize the AAS model into JSON, RDF, XML, AASX, OPC UA, AutomationML. This feature is necessary to support the import/export of AAS from/to these formats and validate them.
  • AAS Transformation Library: The AAS Transformation Library brings the content from existing industry-standards such as OPC UA and AutomationML to the AAS.
Why Here?

The Eclipse Foundation provides a professional environment (governance, licensing, intellectual property management) for the future development of Eclipse AAS Model for Java. These advantages facilitate the usage of an open source, extensible ecosystem in which manufacturers and suppliers including the providers of applications, platforms, and infrastructure, can all participate equally.

Future Work

Eclipse AAS Model for Java wants to build an open source community in Eclipse to coordinate the building of an extensible ecosystem in which manufacturers and suppliers, including the providers of applications, platforms and infrastructure, can all participate equally.

There will be close relationship to other activities that also aim for open source approaches, for example Gaia-X, International Data Spaces (IDS), Eclipse BaSyX, CATENA-X (TRACTUS-X), Open Manufacturing Platform (OMP), Open Industry 4.0 Alliance and the Digital Twin Consortium.

Project Scheduling

Eclipse AAS Model for Java and its involved parties intend to move to Eclipse as soon as possible. We hope to have the initial migration of the existing GitHub repo done until November 2021.

Mentors
Interested Parties
  • ASENTICS GmbH & Co. KG
  • Festo SE & Co. KG
  • Fraunhofer-Gesellschaft
  • Industrial Digital Twin Association e.V.
  • Lenze SE
  • PHOENIX CONTACT GmbH & Co. KG
  • SAP SE
  • Volkswagen AG
  • ZVEI e.V. 
Initial Contribution

There is a project repository originally hosted at admin-shell-io (https://github.com/admin-shell-ioimplementing the Asset Administration Shell that is considered as initial contribution to this project. 

  • AAS Model for Java
    • admin-shell-io/java-generator: AAS model generator for Java (github.com)
    • admin-shell-io/java-serializer: AAS model serializer for Java (github.com)
    • admin-shell-io/java-model: Classes of the AAS model implemented for Java (github.com)
    • admin-shell-io/aas-transformation-library: AAS transformation library (github.com, fork from SAP/aas-transformation-library
Source Repository Type