Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

BaSyx / Documentation / API / Submodel

< BaSyx ‎ | Documentation ‎ | API
Revision as of 13:19, 20 November 2018 by Thomas.kuhn.iese.fraunhofer.de (Talk | contribs) (Created page with "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 mode...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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


BaSyx project links: Project BaSyx main wiki page | What is BaSyx? | BaSyx Developer Documentation

Back to the top