BaSyx sub models are objects with properties and operations. They are parts of Asset Administration Shells (AAS), but may be deployed on different physical locations. Sub models and Asset Administration Shells are bidirectionally linked; Asset Administration Shells refer to "their" sub models, and sub models refer to their Asset Administration Shell. BaSyx submodel providers enable access to sub models. A sub model provider needs to implement the submodel provider API that is described on this wiki page. The sub model provider API enables access to properties and operations of BaSyx submodel providers. The BaSys sub model proider API provides a facade to numerous data sources. The BaSyx common components package implements sub model providers that read properties from SQL data bases, via XQuery, and from configuration files. Furthermore, the BaSyx SDK enables creation of additional sub model provider types that provide e.g. live data from devices or integrate new data sources into a production environment.
The BaSyx sub model provider API is defined as following:
GET
|
/aas
|
Description
- Returns the Asset Administration Shell that this sub model belongs to
Response codes
- 200: Returns JSON-serialized list of Returns the request Asset Administration Shell
- 400: Bad Request
- 502: Bad Gateway
|
GET
|
/aas/submodels
|
Description
- Retrieves all SubModels from the Asset Administration Shell that the sub model belongs to
Response codes
- 200: Returns a list of found SubModels
- 404: No sub models found
- 502: Bad Gateway
|
POST
|
/aas/submodels
|
Description
- Adds a new SubModel to an existing Asset Administration Shell
Parameter
- (body): JSON serialized submodel description for Asset Administration Shell
Response codes
- 201: SubModel created successfully
- 400: Bad Request
- 502: Bad Gateway
|
GET
|
/aas/submodels/{subModelId}
|
Description
- Retrieves a specific SubModel structure from a specific Asset Administration Shell
Parameter
- subModelId: Unique ID of the requested sub model
Response codes
- 200: Returns the requested SubModel
- 404: No SubModel found
- 502: Bad Gateway
|
DELETE
|
/aas/submodels/{subModelId}
|
Description
- Deletes a specific SubModel from a specific Asset Administration Shell
Parameter
- subModelId: Unique ID of the sub model to be deleted
Response codes
- 204: SubModel deleted successfully
- 400: Bad Request
- 502: Bad Gateway
|
GET
|
/aas/submodels/{subModelId}/properties
|
Description
- Retrieves all properties from the addressed sub model
Parameter
- subModelId: Unique ID of the addressed sub model
Response codes
- 200: Returns property list
- 404: No properties found
- 502: Bad Gateway
|
POST
|
/aas/submodels/{subModelId}/properties
|
Description
- Adds a new property to the sub model
Parameter
- subModelId: Unique ID of the addressed sub model
- (body): The property description object
Response codes
- 201: Property created successfully
- 400: Bad Request
- 502: Bad Gateway
|
GET
|
/aas/submodels/{subModelId}/operations
|
Description
- Retrieves all operations from the addressed sub model
Parameter
- subModelId: Unique ID of the addressed sub model
Response codes
- 200: Returns property list
- 404: No operations found
- 502: Bad Gateway
|
POST
|
/aas/submodels/{subModelId}/properties
|
Description
- Adds a new operation to the sub model
Parameter
- subModelId: Unique ID of the addressed sub model
- (body): The operation description object
Response codes
- 201: Operation created successfully
- 400: Bad Request
- 502: Bad Gateway
|
GET
|
/aas/submodels/{subModelId}/properties/{propertyId}
|
Description
- Retrieves a specific property from a sub model
Parameter
- subModelId: Unique ID of the addressed sub model
- propertyId: (qualified) name of the addressed property
Response codes
- 200: Returns property list
- 404: No property found
- 502: Bad Gateway
|
PUT
|
/aas/submodels/{subModelId}/properties/{propertyId}
|
Description
- Sets the value of a sub model property
Parameter
- subModelId: Unique ID of the addressed sub model
- propertyId: (qualified) name of the addressed property
Response codes
- 204: Property value changed successfully
- 404: No Property found
- 502: Bad Gateway
|
DELETE
|
/aas/submodels/{subModelId}/properties/{propertyId}
|
Description
- Deletes a sub model property
Parameter
- subModelId: Unique ID of the addressed sub model
- propertyId: (qualified) name of the addressed property
Response codes
- 204: Property deleted successfully
- 400: Bad Request
- 502: Bad Gateway
|
GET
|
/aas/submodels/{subModelId}/properties/{operationId}
|
Description
- Retrieves a specific operation descriptor from a sub model
Parameter
- subModelId: Unique ID of the addressed sub model
- operationId: (qualified) name of the addressed operation
Response codes
- 200: Returns requested operation descriptor
- 404: No operationfound
- 502: Bad Gateway
|
POST
|
/aas/submodels/{subModelId}/properties/{operationId}
|
Description
- Invokes a sub model operation with the specified list of parameter
Parameter
- subModelId: Unique ID of the addressed sub model
- operationId: (qualified) name of the addressed operation
Response codes
- 204: Operation invoked successfully
- 400: Bad Request
- 502: Bad Gateway
|
DELETE
|
/aas/submodels/{subModelId}/properties/{propertyId}
|
Description
- Deletes a sub model operation
Parameter
- subModelId: Unique ID of the addressed sub model
- operationId: (qualified) name of the addressed operation
Response codes
- 204: Operation deleted successfully
- 400: Bad Request
- 502: Bad Gateway
|