Skip to content

FA³ST - Fraunhofer Advanced Asset Administration Shell Tools (for Digital Twins)

License

Notifications You must be signed in to change notification settings

HansMees01/FAAAST-Service

 
 

Repository files navigation

FA³ST Service Build Status Codacy Badge Docker badge Documentation Status SonarCloud badge

FA³ST Logo Light FA³ST Logo Dark

The Fraunhofer Advanced Asset Administration Shell Tools (FA³ST) Service implements the Asset Administration Shell (AAS) specification by Plattform Industrie 4.0 and provides an easy-to-use re-active AAS (Type 2) hosting custom AAS models. If you are not familiar with AAS you can find additional information here.

For more details on FA³ST Service see the full documenation 📘 here.

FA³ST Service is still under development. Contributions in form of issues and pull requests are highly welcome.

Implemented AAS Specifications

Specification Version
Details of the Asset Administration Shell - Part 1
The exchange of information between partners in the value chain of Industrie 4.0
Version 3.0RC01
(based on admin-shell-io/java-model)
Details of the Asset Administration Shell - Part 2
Interoperability at Runtime – Exchanging Information via Application Programming Interfaces
Version 1.0RC02

Prerequisites

  • Java 11+

Getting Started

You can find a detailled documentation 📘 here

Usage

Download pre-compiled JAR

Download latest RELEASE version (0.4.0)

Download latest SNAPSHOT version (0.5.0-SNAPSHOT)

As Maven Dependency

<dependency>
	<groupId>de.fraunhofer.iosb.ilt.faaast.service</groupId>
	<artifactId>starter</artifactId>
	<version>0.4.0</version>
</dependency>

As Gradle Dependency

implementation 'de.fraunhofer.iosb.ilt.faaast.service:starter:0.4.0'

A maven plugin we are using in our build script leads to an error while resolving the dependency tree in gradle. Therefore you need to add following code snippet in your build.gradle. This code snippet removes the classifier of the transitive dependency com.google.inject:guice.

configurations.all {
	resolutionStrategy.eachDependency { DependencyResolveDetails details ->
		if (details.requested.module.toString() == "com.google.inject:guice") {
			details.artifactSelection{
				it.selectArtifact(DependencyArtifact.DEFAULT_TYPE, null, null)
			}
		}
	}
}

Building from Source

Prerequisites

  • Maven
git clone https://github.com/FraunhoferIOSB/FAAAST-Service
cd FAAAST-Service
mvn clean install

Changelog

You can find the detailed changelog here.

Roadmap

Next milestone is to release version 1.0.0 to Maven Central and DockerHub.

Some of the features we are working on include

  • improve stability/robustness

  • improve usability

  • additional implementations of the persistence interface

    • file-based (:heavy_check_mark:)
    • database-backed
  • support for additional APIs

    • Administration Shell Serialization Interface (:heavy_check_mark:)
    • AASX Server Interface

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions are greatly appreciated. You can find our contribution guidelines here

Contributors

Name Github Account
Michael Jacoby mjacoby
Jens Müller JensMueller2709
Klaus Schick schick64
Tino Bischoff tbischoff2
Friedrich Volz fvolz

Contact

faaast@iosb.fraunhofer.de

License

Distributed under the Apache 2.0 License. See LICENSE for more information.

Copyright (C) 2022 Fraunhofer Institut IOSB, Fraunhoferstr. 1, D 76131 Karlsruhe, Germany.

You should have received a copy of the Apache 2.0 License along with this program. If not, see https://www.apache.org/licenses/LICENSE-2.0.html.

About

FA³ST - Fraunhofer Advanced Asset Administration Shell Tools (for Digital Twins)

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 99.9%
  • Other 0.1%