Version 1 (modified by gordonrachar, 15 years ago)

--

How Templates Work

Status of this document: Final Review

This document is open for feedback, please post questions and comments in the forum at the bottom of this page. You will need a login to post in the forum.


Contents

  1. Abstract
  2. ISO 15926 Part 7
    1. Metaphor: Templates Make it Easier to Describe Walking the Dog
    2. What a Template Looks Like on the Outside
    3. References
  3. Next
    1. Acknowledgements

Abstract

Part 7 Templates provide the precise definition of individual terms without involving the user in the precise definitions. This allows users to implement Part 2 without having to learn the very specialized language of Part 2.

Here are some other attempts at a definition of Part 7 templates:

  • A template is a pattern for stating facts.
  • The ISO 15926-7 Templates are small "implementation models" based on the Part 2 data model.
  • A template is like a lego block. You can put lego blocks together in a great many ways to build anything you like.

ISO 15926 Part 7

Previously we have compared ISO 15926 Templates to engineering data sheet templates, but on a much smaller, more atomic, scale. The comparison is apt.

When engineers start a plant project, one of the first things we do is make templates of each kind of data sheet we expect to use to ensure a common look and feel across the project. For instance, all data sheets for level transmitters will look the same, and have the same values in the same place. The reason a common look and feel is important is because, traditionally, human beings are the ones reading the data sheets. Humans rely on visual clues to determine meaning, and we get used to, essentially, looking at certain (x,y) coordinates for particular values. (For instance, "Maximum Allowable Working Pressure" for a control valve might be something like "1/3 of the way up the page near the right-hand side.")

But in the full ISO 15926 world, machines are the ones reading the data sheets. To a machine, the visual format means nothing--it is more interested in the precise definition of the terms. And there is the rub: To be interoperable based on ISO 15926-2, information has to be modeled rigorously to remove all ambiguity. You cannot implement ISO 15926 partly, you must go all the way. But modeling information to the necessary degree of rigor is beyond what most design engineers will have time to do in a busy project.

Part 7 Templates, then, enable people who are not trained information modelers to achieve the high semantic precision of Part 2 without having to actually deal with Part 2. In other words, Part 7 encapsulates Part 2.

Using a Part 7 Template is much easier because we only have to be concerned about the few bits of information we are interested in. The template contains all the necessary connection to Part 2, but leaves it "Under the Hood" where we don't have to deal with it.

Metaphor: Templates Make it Easier to Describe Walking the Dog

Let's say a married couple named Bill and Joan take their dog Willy out for a walk after getting home from work. Figure 1 shows one way to diagram this.

Error: Macro Image(WalkingTheDog.JPG, 650px) failed
Attachment 'wiki:ISO15926Primer_HowItWorks_Templates: WalkingTheDog.JPG' does not exist.

Fig 1: Walking The Dog

This shows that there is the relationship of 'marriage' between two physical objects that are classified as persons and identified as 'man' and 'woman'. There is an indirect relationship between the 'man', and a physical object classified as an organism and identified as 'dog'.

If you've never seen this kind of notation before it will probably look very complex. But the reality is that the diagram is not nearly complex enough to capture everything an information modeler would need to know. For example:

  • Details about the 'walking' activity
    • The period_in_time in which they did the walking
    • The location in which they did the walking
  • Is the marriage happy?
  • Are they holding hands?
  • What is the means of the indirect_connection? (A leash?)
    • What is the composition of the leash?
  • What is the breed of dog?
  • etc.

Friends of Bill and Joan will be able to answer all of these questions because they know the context. But our reason for modeling the information is that Bill and Joan's friends are not the intended audience, machines are. We want computer programs to be able to understand the information as well as humans do.

For instance, what is the time of day? Friends will know that Bill and Joan are lab technicians who work the afternoon shift at the local hospital. If they just got home from work it's probably 1:00 in the morning. Walking the dog at that time of day might normally be dangerous given the part of town they live in, but Willy is a large Rottweiler. Friends would understand this implicitly, but if you want a machine to understand it, you have to embed all the context into the information.

Similarly, when modeling plant information, there are a great many people who work with plant objects all day, every day:

  • Engineers
  • Buyers
  • Suppliers
  • Installation contractors
  • Maintenance technicians
  • Operators
  • etc.

These people all have a great deal of knowledge about the plant objects because they know the context. However very few of them will have to motivation or patience to learn information modeling. If everyone involved with plant objects had to learn information modeling, ISO 15926 would never get off the ground.

Fortunately, we have Part 7, templates. Templates allow users to implement the full ISO 15926 Part 2 (15926-2) without having to know Part 2.

What a Template Looks Like on the Outside

Error: Macro Image(Part7_01.JPG, 500px) failed
Attachment 'wiki:ISO15926Primer_HowItWorks_Templates: Part7_01.JPG' does not exist.

Figure 2: Template

A template is basically a regular pattern of information, like rows and columns in a spreadsheet. The column headers in the spreadsheet are the "roles" of the template. Each row of the spreadsheet is a template instance. Each cell in the row is a value of a the role (the column heading). A template definition is the generic spreadsheet itself - it defines the name of the template, and the roles and what types of information are valid in those roles.

References

There are no public repositories of templates for you to look at, but here are a few websites that talk about them some more:

POSC-Caesar Template Definitions

Next

Internally, the development of ISO 15926 has been subdivided into several subprojects. These subprojects are known by a "Matrix" number. The most important are "123", information exchange using the dictionary, and "8", information exchange using the full ISO 15926 specification.

Both Matrix 123 and 8 were demonstrated at the May 2009 FIATECH conference in Las Vegas, Nevada. The source code for iRING, the name given to the software that enabled Matrix 8, was published in early June 2009.

Acknowledgements

Thanks to Hans Teijgeler for the example of a married couple walking the dog.


Discussion

You have no rights to see this discussion.

Home
About PCA
Reference Data Services
Projects
Workgroups