Submodel Templates

Submodel Templates are an abstraction over Submodels sharing common features among multiple Shells.

Purpose

There are two main advantages in using Submodel Templates.

  1. Scalability: field observations show that many Shells will have near-identical Submodels in common. Reducing those Submodels to their common features implies smaller network and persistence loads for the Digital Twin Registry.

  2. Maintainability: individuals in charge of creating and maintaining Submodels can leverage the Submodel Templates feature to drastically reduce the number of Submodels in their care.

Managing Submodel Templates

Submodel Templates and Submodel endpoint templates have their own REST resource that offers the corresponding CRUD operations to create, retrieve, replace, patch or delete a Submodel Template:

Currently, the patch REST Operations available for Submodel Templates and Endpoint Templates are considering handing of the lists of sub-elements given as patch Request body in a fashion of replacing the existing lists with the new ones. This is a limitation that will be addressed in future versions of the specification by extending the capability with options for users to allow them to specify how shall the application handle these lists: as a "replace" operation, as an "add to existing list" operation or, as a "remove from existing lists" operation.