Code Monkey home page Code Monkey logo

java-generator's Introduction

⚠️ Migration to Eclipse Digital Twin Top Level Project

NOTE: We are hounoured to be part of the Eclipse Foundation as Eclipse AAS Model for Java (AAS4J) and this project will be maintained here (Eclipse AAS4J GitHub Repository). See you there!

Please 👉 use our new repository Eclipse AAS4J GitHub Repository for contributions and subscribe to our mailing list to interact with our community at the Eclipse Foundation.

The AAS Code Generation Tool for Java

This is a tool for the automated creation of a Java library containing all classes, properties and enumerations of the Asset Administration Shell (AAS) Metamodel. The tool itself is completly written in Java and uses the shapes constraint language (SHACL) to specify annotations and cardinalities for the Java classes.

Build and Use

Before running the tool, a profile needs to be created. This profile contains information about where the ontology sources reside. In the pom.xml, add your own profile with a (local) path to your ontology. There are multiple profiles present already which can be used as reference.

Once the profile has been created, you can build the project using Maven by simply executing at the repository root:

mvn clean package -P <Profile Name>

Project Structure

The project contains several modules:

  • aas Module containing shapes translating RDF into Java classes matching specific requirements of projects regarding the Asset Administration Shell.
  • common Module containing shapes translating RDF into Java classes.
  • util Module containing some generic utility classes, such as custom annotations.
  • generator This module loads all data required for the translation process from RDF ontologies to Java classes, including the shapes and the ontology.

How to Contribute

We always look for contributions, bug reports, feature requests etc. Simply open an issue or - even better - directly propose a change through a pull request.

Documentation

A detailed documentation how to use the tool and how to prepare the input and the environment is provided here.

Contributors

Name Affiliation Github Account Parent AAS Util Generator
Sebastian Bader Fraunhofer IAIS sebbader x x x x
Matthias Böckmann Fraunhofer IAIS maboeckmann x x x x
Pascal Linden Fraunhofer IAIS plinden x x x x

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.