... | ... | @@ -7,50 +7,3 @@ Currently, this project is planned to happen in the following stages: |
|
|
2. Compiling a list of frameworks to be considered
|
|
|
3. Deciding with which frameworks to continue
|
|
|
4. Implementation |
|
|
\ No newline at end of file |
|
|
|
|
|
## Requirements for frameworks
|
|
|
|
|
|
1. Support for active and proactive AAS
|
|
|
2. Implementing the release candidate for AAS v3
|
|
|
|
|
|
## Frameworks to be considered
|
|
|
|
|
|
1. [BaSyx](https://wiki.eclipse.org/BaSyx)
|
|
|
2. [PyI40AAS](https://git.rwth-aachen.de/acplt/pyi40aas/-/tree/improve/V30RC02)
|
|
|
3. [SAP i40-aas](https://github.com/SAP/i40-aas)
|
|
|
|
|
|
## Checking requirements per framework
|
|
|
### Implementing RC for AAS v3
|
|
|
#### BaSyx
|
|
|
The [releases Page](https://wiki.eclipse.org/BaSyx_/_Releases_and_Features) claims Support for v2.0.1 for Java Release 1.0, the only existing release as of date. Implementation for v3 is planned in Java Release 2.0.
|
|
|
#### PyI40AAS
|
|
|
[This Branch](https://git.rwth-aachen.de/acplt/pyi40aas/-/tree/improve/V30RC02) is the ongoing implementation for RC2 of v3
|
|
|
#### SAP i40-aas
|
|
|
As per [This comment](https://github.com/SAP/i40-aas/issues/150#issuecomment-653456569) they are currently working on support for v2. [This branch](https://github.com/eclipse-basyx/basyx-java-sdk/tree/development-v2) seems to be their effort to do so.
|
|
|
|
|
|
### Support for active and proactive AAS
|
|
|
#### BaSyx
|
|
|
BaSyx claims support for all three kinds of AAS. As far as I understood it, a Submodel can live anywhere and only needs to expose an API via eg. REST.
|
|
|
"BaSyx provides server components that can host Type 1 AAS. Type 2 AAS can be hosted on a shared AAS server, or they can be deployed as individual executables in the system." [[1](https://wiki.eclipse.org/BaSyx_/_Documentation_/_AssetAdministrationShell)] I take from this that proactive AAS are supported, but they need to register themselves and may live anywhere in the system.
|
|
|
#### PyI40AAS
|
|
|
aas.backend might be a way to provide active or even proactive AAS, I'll need to evaluate this.
|
|
|
|
|
|
#### SAP i40-aas
|
|
|
"Main features include: [...] Enable interactions between administration shells based on semantic protocols (VDI/VDE 2193-1)" [[2](https://github.com/SAP/i40-aas#main-features)]
|
|
|
Interaction between AAS AFAIK requires at least one proactive partner.
|
|
|
The BaSyx Project classes "VDI/VDE 2139 [as] a language for type 3 AAS." [[1](https://wiki.eclipse.org/BaSyx_/_Documentation_/_AssetAdministrationShell)]
|
|
|
|
|
|
## Deciding with which frameworks to continue
|
|
|
|
|
|
SAP i40-aas is the only framework as of now to explicitly list interaction between AAS as a feature. It doesn't implement v3 of the specification though. Further it is written in a language I'm unfamiliar with. While this is a personal shortcoming on my part it's still relevant to the decision as success of this project is the most important requirement overall.
|
|
|
[Last significant commit](https://github.com/SAP/i40-aas/commit/525e844711bd1a51ea2365f0106d7f9aa60e28b6) was a merge on 2021-01-15 with open issues. To me this indicates a stale (or "done") project, as they might be waiting for v3 to release.
|
|
|
|
|
|
PyI40AAS does have an active branch implementing AAS v3. Using `aas.backend` as a way to implement communication between AAS might be at best considered a hack, as this submodule is intended for "integrating data from existing systems into AAS objects" [That is very hard to cite! Its part of `docs/build/backend/index.html` of their documentation, which doesn't seem to be publicly hosted, AFAIK it's only available as a build artifact .zip [eg. here](https://git.rwth-aachen.de/acplt/pyi40aas/-/jobs/2060272/artifacts/download)]
|
|
|
To me this seems more like a library than a framework on second thought.
|
|
|
|
|
|
BaSyx seems to at least provide an environment, in which they can host static AAS and those that contain references to submodels elsewhere. They mentioned in a comment under [this YouTube video](https://www.youtube.com/watch?v=nGRNg0sj1oY), that "Right now, [an active AAS] would be realized by having an AAS/Submodel with its own thread. In future, however, we’re planning to provide easy to instantiate classes that would accept, e.g., a Runnable."
|
|
|
I'm not yet quite sure what that means exactly. [here, page 94](https://www.dke.de/resource/blob/778174/cf0125ab96499cb80621518ca642d818/deutsche-normungs-roadmap-industrie-4-0-version-4-data.pdf) BaSyx is described as providing SDKs in Java, C++ and C#, which would make it not a framework in the strict sense again.
|
|
|
|
|
|
The goal of this Project is as far as I understood to provide a Demonstration and Playground for proactive AAS. An active AAS (ie. one that provides live data) can be done with BaSyx, there this would mean that a submodel would have to be implemented on an ESP for example.
|
|
|
I might have to get clarification on this goal.
|
|
|
Proactive AAS might be a lot harder, as I might have to practically reimplement a lot of the spec. either on an ESP directly or as part of some standalone thing. If VDI/VDE 2193-I had to be used that would pose a further roadblock. |
|
|
\ No newline at end of file |