Model-driven realization of IDTA submodel specifications: The good, the bad, the incompatible?
Authors/Creators
Description
Asset Administration Shells are trending in Industry 4.0. In February 2024, the Industrial Digital Twin Association announced 84 and released 18 AAS submodel specifications. As an enabler on programming level, dedicated APIs are needed, for which, at this level of scale, automated creation is desirable.
In this paper, we present a model-driven approach, which transforms extracted information from IDTA specifications into an intermediary meta-model and, from there, generates API code and tests. We show we can process all current IDTA specifications successfully leading in total to more than 50000 lines of code. However, syntactical variations and issues in the specifications impose obstacles that require human intervention or AI support. We also discuss experiences that we made and lessons learned.
Contained files are:
- ivml.zip: the generated metamodel files in IVML
- findings.xml: overview of the findings per IDTA spec
- input.zip: the utilized input from IDTA or SmallPDF
- validation.zip: the individual input files with validation classification after consensus
- GeneratedCode.zip: Generated Java code including creation/write API, unit tests and build process
- ChatLogs.zip: Collected results from trying a more stable input data extraction via ChatGPT
A preprint of the paper can be found on: Arxiv
Files
ChatLogs.zip
Files
(67.2 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:d6742e329cf0428c621e7a129c4a34e6
|
205.2 kB | Preview Download |
|
md5:30b3014a389d0f6207e6d0ff6e41e726
|
22.5 kB | Download |
|
md5:6d4953ceb4326f988a7d220ab8555273
|
264.9 kB | Preview Download |
|
md5:9b5ddc0f4fc854d3b53997287fe6d8c0
|
45.6 MB | Preview Download |
|
md5:7a3c6a54313d6cbbc61a394c8f712ed7
|
65.6 kB | Preview Download |
|
md5:7bad028fc7228ab57f5fb172e98385dc
|
21.0 MB | Preview Download |
Additional details
Software
- Repository URL
- https://github.com/iip-ecosphere/platform
- Programming language
- Java
- Development Status
- Active