loader image

AAS Submodel

AAS Submodel An AAS submodel is a self-contained part of an Asset Administration Shell that describes one aspect of an asset, such as its nameplate, technical data or carbon footprint, in a standardized structure. IDTA submodel templates define the content of each submodel so that every vendor fills it the same way.

Context

An Asset Admin­is­tra­tion Shell on its own is only a frame. The infor­ma­tion lives in its submodels. Each AAS submodel covers one topic, and an asset can have as many submodels as its use cases require: a sensor may only need a digital name­plate and tech­nical data, while a machine adds docu­men­ta­tion, main­te­nance, energy and soft­ware infor­ma­tion.

Essen­tials
  • What it is: a self-contained module of an Asset Admin­is­tra­tion Shell that describes one aspect of an asset
  • Place in the meta­model: between the shell, which iden­ti­fies the asset, and the submodel elements, which hold the values
  • Templates: stan­dard­ized and published free of charge by the IDTA, for example Digital Name­plate, Tech­nical Data and Carbon Foot­print
  • Seman­tics: every submodel and element can carry a semantic ID, usually from ECLASS or the IEC 61360 Common Data Dictio­nary
  • Typical uses: iden­ti­fi­ca­tion, handover docu­men­ta­tion, product carbon foot­print and the Digital Product Pass­port

What is an AAS submodel, and how does it fit into the meta­model?

The meta­model of the Asset Admin­is­tra­tion Shell defines three levels: the shell, which iden­ti­fies the asset, the submodels, which struc­ture the infor­ma­tion, and the submodel elements, which hold the actual values. A submodel has its own glob­ally unique iden­ti­fier, a short name (idShort), a semantic ID that points to its defi­n­i­tion and a kind that marks it as a template or an instance. Because submodels are inde­pen­dent objects, they can be stored on different servers, main­tained by different parties and refer­enced from several shells.

Submodel elements

Submodel elements are the building blocks inside a submodel. The most impor­tant types are:

  • Prop­erty: a single value with a data type, for example a rated voltage
  • Multi­Lan­guage­Prop­erty: a text in several languages, for example a product desig­na­tion
  • Range: a minimum and maximum value
  • File and Blob: docu­ments or binary content, for example a manual or a certifi­cate
  • Refer­enceEle­ment and Rela­tion­shipEle­ment: links to other elements or assets
  • Submod­elEle­ment­Col­lec­tion and Submod­elEle­mentList: groups of elements
  • Oper­a­tion: a func­tion that can be called through the API
  • Entity: a sub-asset, used for example in bills of mate­rial
  • BasicEven­tEle­ment: an event that can be published

Every element can carry a semantic ID, usually from ECLASS or the IEC 61360 Common Data Dictio­nary, plus a descrip­tion and meta­data. The semantic ID is what makes the data machine-under­stand­able: two vendors may name a prop­erty differ­ently, but if both point to the same semantic ID, soft­ware knows it means the same thing.

Submodel templates from the IDTA

A submodel template defines which elements a submodel of a given type contains, with their semantic IDs, data types and cardi­nal­i­ties. The Indus­trial Digital Twin Asso­ci­a­tion (IDTA) develops these templates with industry experts and publishes them free of charge, together with a spec­i­fi­ca­tion docu­ment and a JSON or AASX template file. Each template has a version, and templates go through a review process before publi­ca­tion.

Widely used templates include Digital Name­plate, Tech­nical Data, Contact Infor­ma­tion, Handover Docu­men­ta­tion, Carbon Foot­print, Time Series Data, Hier­ar­chical Struc­tures for bills of mate­rial, Soft­ware Name­plate and Asset Inter­faces Descrip­tion. Templates for new topics such as the Digital Product Pass­port and digital quality docu­ments are being devel­oped in IDTA working groups.

How submodels are accessed and exchanged

Submodels can be exchanged as files or through services. In an AASX package, the shell, its submodels and attached files are bundled into one file, seri­al­ized as JSON or XML. On a server, the AAS API defines submodel repos­i­tory and submodel registry services: a client looks up a submodel by its iden­ti­fier in the registry, finds the endpoint and reads or updates elements through REST. Service profiles describe which oper­a­tions a server supports, from read-only access to full editing.

Submodels in prac­tice: OI4 exam­ples

  • The Product Change Noti­fi­ca­tion demon­strator uses a PCN submodel to publish compo­nent changes with part number, clas­si­fi­ca­tion, impact and effec­tive date.
  • For auto­matic onboarding, zenon reads the Asset Inter­faces Descrip­tion and Asset Inter­faces Mapping Config­u­ra­tion submodels and connects Modbus, HTTP and MQTT devices without manual setup. The Time Series Data submodel delivers measure­ment values for trend curves.
  • In the DPP proof of concept, bicycle compo­nents carry Name­plate, Carbon Foot­print, Tech­nical Data and Handover Docu­men­ta­tion submodels.
  • The Proac­tive AAS project published a submodel proposal for rule-based behavior that links executable rules to AAS elements.

How to create a submodel

  1. Check whether an IDTA submodel template exists for your use case. Reuse it instead of designing your own.
  2. Down­load the template and fill it with your data, for example in the AASX Package Explorer.
  3. Keep the semantic IDs, and add ECLASS or IEC 61360 refer­ences for custom prop­er­ties.
  4. Vali­date the result and publish it as an AASX file or on an AAS server.

Frequently asked ques­tions

What is the differ­ence between a submodel and a submodel template?

A submodel template defines the struc­ture and meaning of a submodel type. A submodel instance follows that template and contains the concrete values for one asset.

Where can I find AAS submodel templates?

The IDTA publishes all released submodel templates on its website and in its public repos­i­tory, including spec­i­fi­ca­tion docu­ments and template files.

Can I define my own submodel?

Yes, the meta­model allows custom submodels. For data you exchange with part­ners, stan­dard­ized templates are the better choice, because they work without bilat­eral agree­ments.