Skip to content

Asset Administration Shell Registry Service Specification - Submodel Descriptors #182

@mjacoby

Description

@mjacoby

The specification defines the Asset Administration Shell Registry Service Specification as combination of the APIs Asset Administration Shell Registry API and Submodel Registry API where the first provides CRUD functionality on AssetAdministrationShellDescriptors while the latter provides CRUD functionality on SubmodelDescriptors.

From a purely technical perspective, I would expect the combined APIs to work similar to when the APIs are used as stand-alone.
However, as the classes AssetAdministrationShellDescriptor and SubmodelDescriptor are interrelated, i.e. an AssetAdministrationShellDescriptor containing a number of SubmodelDescriptors, a user would probably expect a different behavior.

Consider the following example:

A user has an Asset Administration Shell A with Submodel X and Submodel Y. He now creates an AssetAdministrationShellDescriptor for AAS A containing two SubmodelDescriptors for X and Y and posts this to a combined API using the PostAssetAdministrationShellDescriptor operation.
After that, the user executes the GetAllSubmodelDescriptors from the Submodel Registry API. Obviously, the user would expect to get back the SubmodelDescriptors for X and Y which has just been posted in the previous call. However, if the implementation follows the purely technical idea that the combined API behaves just as the two separate APIs, the result would be empty.

Therefore, my question is what is the expected behavior of Asset Administration Shell Registry Service Specification? Should both contained APIs share the same data or be completely independent? If it is the latter, then what benefit does having a combined API/service provide? If it is the former, this would raise even more questions on expected behavior e.g. when deleting submodels (cascading deletes).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions