aas-core-works / aas-core-codegen

Generate different implementations and schemas based on an AAS meta-model.
Other
17 stars 14 forks source link

[Question] Basyx, AAS4j and aas-core-codegen: Java Implementation? #377

Closed hmrc87 closed 4 months ago

hmrc87 commented 1 year ago

I am sorry if ,maybe this isn't the right place to ask but I think I wasn't and won't be the last person that digs into the multiple implementations of AAS that are available on Github.

The whole concept of this generator is brilliant and as we were just about to implement our own C# implementation we stumbled upon this repo here. Before that we only saw the basyx-dotnet implementation which seems outdated.

In the readme of aas-core-works there is a Java implementation mentioned - but nowhere to be found. In the meantime there is Basyx which implements a new 3.0 RC2 Metamodel with AAS4J in cooperation with SAP as it seems.

Can somebody elaborate on the bigger picture here? This here seems like the right place to generate a reference implementation based on the official spec. The models

mristin commented 1 year ago

Hi @hmrc87 , We put Golang (current work in progress) and C++ SDK before Java SDK on the roadmap. So give it some 4-6 months.

We have just published SDKs for V3 of the meta-model (C#, Python and TypeScript; the book is yet to be officially published), work on react editor, started working on abstract servers based on SDKs etc. There is quite some activity going on.

In general, we aim to make a production-ready SDKs which implement the constraints in full, and we put correctness as one of the main goals. Other implementations might follow different goals (e.g. trade type safety and lossy conversions for ergonomics etc.).

Aas4j is based on the RDF+ SHACL schema generated by aas-core-codegen, and as far as I am aware, implements only the constraints for the length. @sebbader-sap could you please give more information on the current status of aas4j?

@hmrc87 please feel free to ask for more details and also do not hesitate to contact me directly (please find my email here).

arnoweiss commented 1 year ago

AAS4J implements DotAAS-Pt1 (Classes) and Basyx (like FAAAST) implements DotAAS-Pt2. Both built on a predecessor of AAS4J last time I checked. AAS4J will update to the stable DotAAS-Pt1 days after release of the spec.

mristin commented 11 months ago

@hmrc87 Just a fyi: We had steady progress with C++ SDK generation, and it is planned to finish till the end of October 2023. Java SDK is planned till the end of the year.

mristin commented 10 months ago

@hmrc87 the steady progress with C++ SDK is still steady, but C++ is a pain in the neck :-). The new estimate for finishing the C++ SDK is the end of the year, and then Java SDK in spring.

mristin commented 4 months ago

The Java implementation is available at: https://github.com/aas-core-works/aas-core3.0-java