-
Notifications
You must be signed in to change notification settings - Fork 5
Aas Repository
The AAS Repository API provides access to complete Asset Administration Shells and their asset information. It ties together:
- Shell metadata (from registry / templates).
- Submodel references / descriptors.
- Populated submodel data fetched via the Submodel Repository and Plugin.
-
Method:
GET -
Route:
/shells/{aasIdentifier} -
Route parameters:
-
aasIdentifier(string, required) – Identifier of the target Asset Administration Shell.
-
- Request body: None
-
Responses:
-
200 OK– Returns the full AssetAdministrationShell object, including references to submodels.{ "id": "https://example.com/ids/aas/1170_1160_3052_6568/test/aas", "assetInformation": { "assetKind": "Type", "globalAssetId": "https://example.com/ids/F/5350_5407_2522_6562", "specificAssetIds": [], "defaultThumbnail": { "path": "https://example.com/share/img/10080308_DE.jpg", "contentType": "image/svg\u002Bxml" } }, "submodels": [ { "type": "ModelReference", "keys": [ { "type": "Submodel", "value": "https://mm-software.com/submodel/1170_1160_3052_6568/Nameplate" } ] }, { "type": "ModelReference", "keys": [ { "type": "Submodel", "value": "https://mm-software.com/submodel/1170_1160_3052_6568/ContactInformation" } ] }, { "type": "ModelReference", "keys": [ { "type": "Submodel", "value": "https://mm-software.com/submodel/1170_1160_3052_6568/Reliability" } ] } ], "modelType": "AssetAdministrationShell" }
-
-
Method:
GET -
Route:
/shells/{aasIdentifier}/asset-information -
Route parameters:
-
aasIdentifier(string, required) – Identifier of the target Asset Administration Shell.
-
- Request body: None
-
Responses:
-
200 OK– Returns only the assetInformation section of the AAS.{ "assetKind": "Type", "globalAssetId": "https://example.com/ids/F/5350_5407_2522_6562", "specificAssetIds": [], "defaultThumbnail": { "path": "https://example.com/share/img/10080308_DE.jpg", "contentType": "image/svg\u002Bxml" } }
-
- Template shells must be defined in the template repository with:
- Proper references to their template submodels.
- Correct semantic IDs for cross-linking.
- DataEngine then uses these to build a full runtime AAS by combining:
- Populated submodels that were filled using Plugin data.
When a client (for example an AAS Viewer) calls GET /shells/{shellIdentifier}, DataEngine does not return a stored shell. Instead it
constructs the shell on the fly based on configuration, templates and Plugin metadata:
-
Extract Asset Reference
DataEngine applies configuredAasIdExtractionRulesto the incomingshellIdentifier(pattern, separator, index) to derive an internal asset reference. -
Resolve Shell Template
Using configured shell template mapping rules (for example a single"*"pattern mapping to one templateId), DataEngine resolves which shell template to use. That template lives in the AAS Template Repository and typically only contains submodel references (idShort + semanticId), not values. -
Fetch Template & Asset Metadata
DataEngine:
- Calls the Template Repository to fetch the shell template by
templateId. - Calls the Plugin service (for example
GET /metadata/assets/{shellIdentifier}) to retrieve assetInformation metadata for that shell.
-
Assemble Shell
DataEngine merges template + asset information into a completeAssetAdministrationShellJSON and returns it on/shells/{shellIdentifier}.
This allows you to define lightweight, reusable shell templates (with just submodel names/semanticIds) in the template repository, while all runtime-specific data (asset information and submodel contents) comes from the Plugin.
DataEngine typically uses endpoints:
-
GET /shells/{templateAasId}– to get the template shell. -
GET /shells/{templateAasId}/submodels– to discover attached template submodels.
These are configured via AasEnvironment in DataEngine.
M&M Software
- Architecture
- Submodel Repository
- Submodel Registry
- Aas Registry
- Aas Repository
- Plugin
- Multi-Plugin
- Supported SubmodelElement
-
Bug Reports: Template Bug Item
-
Feature Requests : Feature Request