We provide a curated list of awesome tools, platforms, libraries and documentation about Asset Administration Shell. Items are listed alphabetically and do not follow a certain prioritization.
SDKs provide the AAS meta-model for a certain programming language, e.g. as a class hierarchy. On top of this, SDKs validate and de/serialize instances of the AAS.
Java SDK, implements v3.0 of the spec. Supports XML, JSON and AASX.
https://github.com/eclipse-aas4j/aas4j
C# SDK. Supports XML and JSON. Implements the following versions of the AAS meta-model:
- v3.0: https://github.com/aas-core-works/aas-core3.0-csharp
- v3.0RC02: https://github.com/aas-core-works/aas-core3.0rc02-csharp
Go SDK. Supports XML and JSON. Implements the following versions of the AAS meta-model:
- v3.0: https://github.com/aas-core-works/aas-core3.0-golang
- v3.0RC02: https://github.com/aas-core-works/aas-core3.0rc02-golang
Typescript SDK. Supports JSON. Implements the following versions of the AAS meta-model:
- v3.0: https://github.com/aas-core-works/aas-core3.0-typescript
- v3.0RC02: https://github.com/aas-core-works/aas-core3.0rc02-typescript
Python SDK. Supports XML and JSON. Implements the following versions of the AAS meta-model:
- v3.0: https://github.com/aas-core-works/aas-core3.0-python
- v3.0RC02 https://github.com/aas-core-works/aas-core3.0rc02-python
Python SDK, implements v3.0 of the spec. Supports JSON, XML and AASX
https://github.com/eclipse-basyx/basyx-python-sdk
Rust SDK, implements v3.0 of the spec. Supports JSON.
https://github.com/eclipse-basyx/basyx-rust-sdk
Client libraries which allow interaction with an AAS HTTP/REST server
For Python, mostly generated from the OpenAPI specification
https://github.com/rwth-iat/aas-api-python-client
Server Frameworks enable the development of HTTP/REST interfaces to provide an AAS.
For Java, supports v3.0 of the AAS meta-model.
https://github.com/eclipse-basyx/basyx-java-server-sdk
Ready to use server implementations.
Using Python, implements:
- Asset Administration Shell Repository Service
- Submodel Repository Service
https://github.com/rwth-iat/basyx-python-sdk-http-server-docker
Official AAS server which offers some proprietary endpoints. Pre-build binaries available.
https://github.com/admin-shell-io/aasx-server
Offers off-the-shelf components to directly deploy:
- Repository,
- Submodel Repository,
- ConceptDescription Repository,
- Environment, and
- Registry.
Images available at Dockerhub.
https://github.com/eclipse-basyx/basyx-java-server-sdk
Images available at Dockerhub
https://github.com/FraunhoferIOSB/FAAAST-Service
An editor of an AAS, implemented in React and TypeScript, which runs directly in the browser.
Contained as a single HTML file and needs no server or backend.
Supports v3.0RC02 of the meta-model.
https://github.com/aas-core-works/aas-core3.0rc02-react-editor
Cross-platform visual viewer/editor implemented in Python and based on PyQt Framework and BaSyx-Python-SDK.
Pre-build binaries available for Windows 10, Linux and MacOS.
https://github.com/rwth-iat/aas_manager
Official tool for opening / editing AASX files. Pre-build binaries available for Windows 10.
https://github.com/admin-shell-io/aasx-package-explorer
This sections lists end-user tools.
AASPortal is a Node.js based web portal for the visualization and management of Asset Administration Shells (AAS).
Images available at Dockerhub.
https://github.com/FraunhoferIOSB/AASPortal
Provide a set of command-line tools to:
- Convert CSV tables to AAS,
- Validate instances of AAS,
- Tree-shake concept descriptions,
- Check for dangling references, and
- Convert AAS to static file structures (in form of directories and JSON files) such that they can be statically served by a HTTP server (e.g. nginx) as a read-only AAS server.
Supports v3.0 of the AAS meta-model.
https://github.com/aas-core-works/aas-core3.0-cli-swiss-knife
Code generator tool built on top of the BaSyx-Python-SDK.
It generates Submodel-specific classes and classes for its submodel elements with filled meta-information derived from AASX submodel templates. The generated classes can then be used for submodel instantiation.
Also contains generated classes for some of IDTA Submodels.
https://github.com/rwth-iat/aas-submodel-template-to-py
Web-based GUI to connect to an AAS server or registry. Docker images available.
https://github.com/eclipse-basyx/basyx-applications/tree/main/aas-gui
Web-based GUI to inspect an AAS. Image available at Dockerhub.
https://gitlab.com/novaas/catalog/nova-school-of-science-and-technology/novaas
A list of commercial tools can be found at https://industrialdigitaltwin.org/solutions-hub
https://industrialdigitaltwin.org/content-hub/downloads
We list here data sets and testing tools which you can use for testing & development.
Generates test data procedurally by property-based and combinatorial data generation.
Supports JSON and XML.
Provides test data for different versions of the AAS meta-model:
- v3.0: https://github.com/aas-core-works/aas-core3.0-testgen
- v3.0RC02: https://github.com/aas-core-works/aas-core3.0rc02-testgen
Official test engines for the AAS. Provides functions to
- Check that your JSON, XML or AASX file is compliant to the standard
- Check that your REST API implementation is compliant to the standard
Implements v3.0.
https://github.com/admin-shell-io/aas-test-engines
An AAS which orchestrates tests.
https://github.com/eclipse-basyx/basyx-applications/tree/main/test-orchestrator