24.10.2012 Views

An Introduction to ISO 15926 November 2011 - iRINGToday

An Introduction to ISO 15926 November 2011 - iRINGToday

An Introduction to ISO 15926 November 2011 - iRINGToday

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ELEMENT 8 WORKFORCE & TRAINING<br />

<strong>An</strong> <strong>Introduction</strong> <strong>to</strong><br />

<strong>ISO</strong> <strong>15926</strong><br />

<strong>November</strong> <strong>2011</strong>


<strong>An</strong> <strong>Introduction</strong> <strong>to</strong><br />

<strong>ISO</strong> <strong>15926</strong><br />

<strong>November</strong> <strong>2011</strong>


ACKNOWLEDGMENTS<br />

Fiatech has produced this book at the request of and for the benefit of its members, and in<br />

cooperation with the POSC Caesar Association. We wish <strong>to</strong> acknowledge the contributions of<br />

those individuals whose efforts and input have significantly influenced this publication.<br />

Notably, this book was produced by a project team who voluntarily carried out the objective<br />

<strong>to</strong> provide an introduc<strong>to</strong>ry document for the Capi<strong>to</strong>l Projects Industry. This team consisted of:<br />

Manoj Dharwadkar, Direc<strong>to</strong>r, Product Management, Bentley Systems; Glen Worrall, Solutions<br />

Architect, Bentley Systems; Onno Paap, Data Integration Manager, Fluor; Faith Junghans, President,<br />

Faithful Engineering; Chris Schwander, Consulting Engineer, DuPont; and Alan Johns<strong>to</strong>n,<br />

President, MIMOSA.<br />

In addition, Ian Glendinning, Glenco, President, GlencoIS; Hans Teijgeler, Fluor (retired); and<br />

Matthew West, Information Junction; provided considerable technical expertise and content<br />

during the writing process.<br />

I wish <strong>to</strong> acknowledge the special efforts of Gordon Rachar, WorleyParsons who served as a<br />

consultant <strong>to</strong> the project and was the primary author of this publication. Additionally, Daril<br />

Bentley provided copyediting services and Dallas Peters, Dallas Peters Design, assisted in<br />

graphic design production.<br />

Among the staff, Fiatech Project Manager, Sharon Bickford, contributed significantly <strong>to</strong> the<br />

development of this publication and her efforts are appreciated.<br />

Publication of this report is made possible through the contributions by Fiatech members.<br />

Raymond E. Topping, PE<br />

Direc<strong>to</strong>r, Fiatech


PREFACE<br />

Fiatech (www.fiatech.org) is an industry-led consortium, housed at The University of Texas at<br />

Austin that provides global leadership in identifying and accelerating the development, demonstration<br />

and deployment of emerging technologies and innovative practices <strong>to</strong> deliver the<br />

highest business value throughout the life cycle of all types of capital projects.<br />

Fiatech is member-driven, comprised of approximately 85 companies and partner organizations<br />

that include owners and opera<strong>to</strong>rs from the industrial, power, and retail markets; leading<br />

providers of engineering, design, and construction services; software and equipment suppliers<br />

and technology providers, research institutes and universities. Fiatech is a clearinghouse for<br />

innovative ideas where members can quickly learn about new processes, methods, and materials;<br />

but it also collectively funds and executes development, demonstration and deployment<br />

projects. Project teams are formed <strong>to</strong> identify and accelerate the adoption of technologies<br />

and systems; demonstration projects are conducted <strong>to</strong> validate and perfect new approaches<br />

or methods; and teams are formed <strong>to</strong> aid and facilitate the deployment of those breakthrough<br />

initiatives that have been identified.<br />

This publication was developed at the request of Fiatech members and in cooperation with<br />

the POSC Caesar Association, for the benefit of the entire capital projects industry.


TABLE OF CONTENTS<br />

INTRODUCTION 1<br />

<strong>Introduction</strong> <strong>to</strong> <strong>ISO</strong> <strong>15926</strong> 1<br />

<strong>ISO</strong> <strong>15926</strong> Is Like a Babel Fish 3<br />

About This Book 6<br />

Why We Need <strong>ISO</strong> <strong>15926</strong> 8<br />

The His<strong>to</strong>ry of <strong>ISO</strong> <strong>15926</strong> 8<br />

How Does <strong>ISO</strong> <strong>15926</strong> Work? 8<br />

Current Events in the World of <strong>ISO</strong> <strong>15926</strong> 9<br />

Getting Started with <strong>ISO</strong> <strong>15926</strong> 10<br />

Appendices 11<br />

CHAPTER 1: WHY WE NEED <strong>ISO</strong> <strong>15926</strong> 12<br />

The Role of Context in Information Exchange 13<br />

The Value of the <strong>ISO</strong> <strong>15926</strong> Dictionary 18<br />

A Confederation of Applications 22<br />

Public Extensible Dictionary 27<br />

<strong>An</strong> Example Project 29<br />

How <strong>ISO</strong> <strong>15926</strong> Makes Life Easier in the Near Term 31<br />

How <strong>ISO</strong> <strong>15926</strong> Makes Life Easier in the Long Term 36<br />

CHAPTER 2: HISTORY OF <strong>ISO</strong> <strong>15926</strong> 40<br />

How We Use the Internet <strong>to</strong> Find Information 41<br />

How We Know and Understand Things 42<br />

Open Ways <strong>to</strong> S<strong>to</strong>re and Exchange Data 44<br />

Markup Languages 46<br />

Evolution of Product Information Standards 48<br />

Summary 67<br />

CHAPTER 3: HOW DOES <strong>ISO</strong> <strong>15926</strong> WORK? 70<br />

Integration Versus Interoperability 70<br />

The Parts of <strong>ISO</strong> <strong>15926</strong> Are Like the Parts of Human Speech 74<br />

Putting It All Together 91<br />

Levels of Compliance with <strong>ISO</strong> <strong>15926</strong> Versus Ambiguity 93<br />

Wouldn’t It Be Better if We Agreed on Common Definitions? 95<br />

Why Don’t We Use Industry Standard Definitions? 97<br />

Would It Help If I Told You How I Was Using the Data? 99<br />

If We Use the Semantic Web, Couldn’t We Au<strong>to</strong>mate More of This? 101<br />

Shouldn’t We Add Query, Workflow, and Security <strong>to</strong> the Semantic Web? 103<br />

CHAPTER 4: CURRENT EVENTS IN THE WORLD OF <strong>ISO</strong> <strong>15926</strong> 105<br />

Using <strong>ISO</strong> <strong>15926</strong> in Production 106<br />

Development of Enabling Infrastructure 110<br />

Continued Development of Standards 113


CHAPTER 5: GETTING STARTED WITH <strong>ISO</strong> <strong>15926</strong> 116<br />

Key Preparation 117<br />

Implementing <strong>ISO</strong> <strong>15926</strong> 118<br />

Join Fiatech or the POSC Caesar Association 123<br />

APPENDIX A: THE PARTS OF <strong>ISO</strong> <strong>15926</strong> 124<br />

<strong>ISO</strong> <strong>15926</strong> 124<br />

APPENDIX B: COMPLIANCE WITH <strong>ISO</strong> <strong>15926</strong> 128<br />

Semantic Precision 129<br />

Representation Technology 129<br />

Referencing Technology 130<br />

Interface Technology 131<br />

Industrial Standardization 131<br />

Subject Matter Scope 132<br />

Metadata Scope 132<br />

Functional Capability 133<br />

APPENDIX C: EXAMPLES OF DATABASE MAPPING 134<br />

Example Set 1: Let’s Just Exchange Raw Data and Figure It Out Together 134<br />

Example Set 2: Wouldn’t It Be Better <strong>to</strong> Agree on Common Definitions? 141<br />

Example Set 3: Why Don’t We Use Industry Standard Definitions? 147<br />

Example Set 4: Would It Help if I Told You How I Was Using the data? 151<br />

EMCA 156<br />

Using the RDS/WIP 158<br />

APPENDIX D: OTHER RESOURCES 160<br />

Information Modeling Resources 160<br />

Origin of <strong>ISO</strong> <strong>15926</strong> 161<br />

Organizations Responsible for <strong>ISO</strong> <strong>15926</strong> 161<br />

User Groups 162<br />

Other Organizations 163<br />

RDS Browsers 164<br />

Business Interface Definition Guides 164<br />

GLOSSARY OF CONCEPTS 167<br />

Artificial Intelligence and the Semantic Web: Difference Between 167<br />

First-order Logic, Semantics, and Reference Data 167<br />

On<strong>to</strong>logy and Taxonomy: Difference Between 169<br />

Integration and Interoperability: Difference Between 170<br />

Strong Coupling, Loose Coupling, and Encapsulation 171<br />

Abstraction 172<br />

Semantic Web Technology 173


INTRODUCTION<br />

<strong>Introduction</strong> <strong>to</strong> <strong>ISO</strong> <strong>15926</strong><br />

If you are new <strong>to</strong> the concept of information interoperability, you will be forgiven for thinking<br />

that <strong>ISO</strong> <strong>15926</strong> is a new phenomenon. In fact, the search for easy ways <strong>to</strong> exchange and reuse<br />

engineering information stretches back <strong>to</strong> the mid 1970s—led by increasingly frustrated end<br />

users who resented the inability <strong>to</strong> transfer their information from one computer-aided design<br />

(CAD) system <strong>to</strong> another.<br />

This bit of his<strong>to</strong>ry is especially poignant for your humble author, who at that time was just<br />

starting his career as a piping designer. Whereas large users—heavily represented by the<br />

U.S. military and aerospace organizations—were just starting <strong>to</strong> confront compatibility issues<br />

among competing CAD systems, your author had just enrolled in technical school <strong>to</strong> learn how<br />

<strong>to</strong> draft with a pencil. A few years later—while the U.S. Air Force was hosting a conference that<br />

led <strong>to</strong> the CAD drawing exchange standard known as IGES (which we introduce in Chapter<br />

2)—the author’s idea of high technology was drafting on Mylar with (gasp!) plastic lead!<br />

In this introduction <strong>to</strong> <strong>ISO</strong> <strong>15926</strong>, we will look at the need for information interoperability,<br />

some of the things that have been done <strong>to</strong> address interoperability issues, and some of the<br />

things we should be doing instead. We will take a brief his<strong>to</strong>rical look at the forebears of <strong>ISO</strong><br />

<strong>15926</strong>, look at the different parts that make up the standard <strong>to</strong>day, and end with some of the<br />

things you can do <strong>to</strong> get started implementing the standard.<br />

The obvious question is: Why do we need <strong>ISO</strong> <strong>15926</strong>? The short answer is: So that we can<br />

exchange and reuse complex plant and project information more easily and more cheaply.<br />

A slightly longer answer is: To mitigate the current high costs of rekeying and reformatting<br />

information <strong>to</strong> move it from one proprietary system <strong>to</strong> another. For example, take the task of<br />

designing, specifying, and purchasing a process instrument for a plant modification. Imagine<br />

how many times information has <strong>to</strong> be rekeyed after the instrument is basically designed, until<br />

it is installed and commissioned in the target plant.<br />

• After design, enter the information in<strong>to</strong> the project’s engineering design system (which<br />

may be a database or spreadsheet).<br />

• For quotation, a procurement officer assembles several sets of data sheets and sends a set<br />

<strong>to</strong> each bidder.<br />

• Each bidder will have a sales engineer read the data sheets and enter some of the data<br />

values in<strong>to</strong> proprietary software <strong>to</strong> make a selection, and then compose a quotation and<br />

return it <strong>to</strong> the engineering, procurement, and construction (EPC) contrac<strong>to</strong>r.<br />

• During the design of an instrument, the engineer will usually specify only those properties<br />

necessary for operation under process conditions. However, there are many other properties<br />

that must be known—which are dependent on the manufacturer. After vendor has been<br />

chosen, the design engineer has <strong>to</strong> enter this information manually in<strong>to</strong> the engineering<br />

design system from the vendor’s quotation.<br />

• Data sheet turnover <strong>to</strong> the client will likely be something like an Excel file for each data sheet.<br />

• After receiving a load of boxes filled with CDs from the EPC contrac<strong>to</strong>r, the owner will review<br />

each data sheet. Critical data values will be rekeyed in<strong>to</strong> an asset management system.<br />

This can take months.<br />

INTRODUCTION<br />

1


The situation is improving. A few years ago engineers would have faxed the data sheets <strong>to</strong> the<br />

vendors, who would manually add their information and fax them back. Now they E-mail editable<br />

electronic files back and forth. <strong>An</strong>d more recently, some owner-opera<strong>to</strong>rs are trying <strong>to</strong><br />

streamline the final handover from an EPC contrac<strong>to</strong>r by specifying data requirements. However,<br />

configuration costs and the lead time required speak <strong>to</strong> the complexity of the issue.<br />

What we need is a way for each participant’s software <strong>to</strong> be able <strong>to</strong> communicate complex<br />

information <strong>to</strong> the other participants without having <strong>to</strong> know in advance things such as database<br />

structure or format. If you have ever read The Hitchhiker’s Guide <strong>to</strong> the Galaxy, by<br />

Douglas Adams, you will know exactly what we need—we need a Babel fish! In the book, if you<br />

wanted <strong>to</strong> listen <strong>to</strong> Vogon poetry spoken in the original dialect you would use a Babel fish.<br />

The Babel fish would listen <strong>to</strong> the Vogon speaking, and then rearrange the syntax and translate<br />

all of the words on the fly. <strong>ISO</strong> <strong>15926</strong> acts like a Babel fish by acting as an interpreter<br />

between two otherwise incompatible systems. Let’s compare the process of specifying and<br />

purchasing an instrument in the previous example <strong>to</strong> doing the same thing with <strong>to</strong>ols that<br />

support <strong>ISO</strong> <strong>15926</strong> pro<strong>to</strong>cols. The initial data entry is the same.<br />

• After design, enter the information in<strong>to</strong> the project’s engineering design system (which<br />

may be a database or spreadsheet).<br />

However, thereafter <strong>to</strong>ols written <strong>to</strong> support the <strong>ISO</strong> <strong>15926</strong> standard extract the relevant information<br />

au<strong>to</strong>matically.<br />

• For quotation, a procurement officer will expose the Request for Quotation on his company’s<br />

public (or secured) <strong>ISO</strong> <strong>15926</strong> interface and then send a link <strong>to</strong> the bidders.<br />

• By connecting <strong>to</strong> the EPC contrac<strong>to</strong>r’s <strong>ISO</strong> <strong>15926</strong> interface, each vendor will pull in the relevant<br />

information for each instrument. At this point, the vendor has a choice. He can have a<br />

human sales engineer read the information and manually make decisions in the same manner<br />

we use <strong>to</strong>day. However, because it is in <strong>ISO</strong> <strong>15926</strong> format the instrument information<br />

will be rich enough that analysis, decisions, and composition of a preliminary quotation will<br />

be able <strong>to</strong> be done by a computer program. In this case, the sales engineer will only have<br />

<strong>to</strong> review the quotation before submitting the bid <strong>to</strong> the EPC contrac<strong>to</strong>r.<br />

• After selecting the winning bidder, the engineer will point his engineering design system <strong>to</strong><br />

the vendor’s <strong>ISO</strong> <strong>15926</strong> interface and pull in vendor-supplied information.<br />

• Data turnover <strong>to</strong> the client will simply require exposing the plant information database on<br />

the EPC contrac<strong>to</strong>r’s <strong>ISO</strong> <strong>15926</strong> interface.<br />

INTRODUCTION<br />

2


• The owner will open the link <strong>to</strong> the engineer’s interface and import the information.<br />

You can see that if we use <strong>to</strong>ols that support <strong>ISO</strong> <strong>15926</strong> pro<strong>to</strong>cols we are removing many opportunities<br />

for human error. Thus, in addition <strong>to</strong> being able <strong>to</strong> transfer information faster by<br />

removing the labor-intensive tasks the entire process will be more reliable. (At the same time,<br />

the routine parts of the sales engineer’s job are removed leaving more time for more innovative<br />

tasks and talking <strong>to</strong> cus<strong>to</strong>mers.)<br />

One of the reasons <strong>ISO</strong> <strong>15926</strong> will make it easier <strong>to</strong> share information is that it is worldwide. If<br />

everyone uses a common standard, a number of things happen.<br />

• We can exchange information without having <strong>to</strong> know anything about one another’s data<br />

s<strong>to</strong>rage configuration.<br />

• Information can be transferred directly from machine <strong>to</strong> machine without having <strong>to</strong> be<br />

rekeyed.<br />

• The information can be transferred with high fidelity. We will not need human beings <strong>to</strong><br />

review every data value <strong>to</strong> make sure nothing is lost or added.<br />

Everyone will still have their own data s<strong>to</strong>res (perhaps in a proprietary format, perhaps not)<br />

but will employ a “Babel fish” (an <strong>ISO</strong> <strong>15926</strong> interface) when we exchange information with<br />

others. This will enable a number of interesting scenarios.<br />

• A consortium of EPC contrac<strong>to</strong>rs will be able <strong>to</strong> collaborate on designing a plant, each<br />

using its chosen engineering design system with proprietary work processes. They will be<br />

able <strong>to</strong> share information without having <strong>to</strong> know anything about one another’s data s<strong>to</strong>rage<br />

format beforehand.<br />

• During design, vendor and EPC contrac<strong>to</strong>r software will be able <strong>to</strong> connect <strong>to</strong> each other—<br />

and thus passing information back and forth will be much easier.<br />

• Information turnover from EPC contrac<strong>to</strong>r <strong>to</strong> owner will be a non-issue. Owners will be able<br />

<strong>to</strong> receive the plant data by connecting <strong>to</strong> the EPC contrac<strong>to</strong>r’s “Babel fish” (the <strong>ISO</strong> <strong>15926</strong><br />

interface) and then s<strong>to</strong>re it in their own format.<br />

• After information turnover, any of the owner’s computer systems will be able <strong>to</strong> use the<br />

information. For instance, a plant operations system will be able <strong>to</strong> access the pieces of<br />

information it needed. A plant maintenance system will be able <strong>to</strong> access just the pieces it<br />

needs. Each application will take the pieces it needs and ignore the rest.<br />

To help you imagine what it will be like when <strong>ISO</strong> <strong>15926</strong> is mature, let’s look at three metaphors.<br />

<strong>ISO</strong> <strong>15926</strong> Is Like a Babel Fish<br />

We have already mentioned The Hitchhiker’s Guide <strong>to</strong> the Galaxy. In it, Arthur Dent hitches a<br />

ride on a passing Vogon spaceship just moments before the spaceship blows Earth <strong>to</strong> smithereens<br />

<strong>to</strong> make way for an interstellar bypass. When he is discovered by a Vogon, Arthur is<br />

given a “Babel fish” <strong>to</strong> put in his ear. The Babel fish enables Arthur <strong>to</strong> understand what the<br />

Vogon is saying. From the book:<br />

The Babel fish forms a symbiotic relationship with the person who carries it in<br />

his ear. The Babel fish feeds on the brain wave energy from around its host. It<br />

INTRODUCTION<br />

3


absorbs the unconscious mental frequencies from this energy, more or less, as<br />

food. Its excrement is a so-called telepathic matrix of conscious thought frequencies<br />

combined with the nerve signals from the speech centers of the brain<br />

which supplied them, which is picked up by the mind of the host. Basically, then,<br />

if you stick a Babel fish in your ear, you can instantly understand anything said<br />

<strong>to</strong> you in any language.<br />

Bringing this metaphor in<strong>to</strong> the field of plant design, <strong>ISO</strong> <strong>15926</strong> is similar <strong>to</strong> a Babel fish in that<br />

it translates the descriptions of plant objects from one company’s database <strong>to</strong> that of another.<br />

The important thing <strong>to</strong> note here is that the meaning of all the terms is maintained. You do not<br />

have <strong>to</strong> rely on the context of the information <strong>to</strong> know what individual terms mean.<br />

The metaphor of the Babel fish is a pretty good one, but there is a slight difference. The Babel<br />

fish translates thoughts directly from Vogon in<strong>to</strong> English in one operation. <strong>ISO</strong> <strong>15926</strong> will do<br />

this in two steps using a middle, neutral layer. If you used <strong>ISO</strong> <strong>15926</strong> <strong>to</strong> translate Vogon <strong>to</strong><br />

English, it would first translate Vogon in<strong>to</strong> intermediate standard descriptions and then from<br />

these standard descriptions in<strong>to</strong> English.<br />

Using a middle layer of standard descriptions is an important step we will examine in more<br />

detail, but briefly the middle layer is what makes it all work. Each organization’s “Babel fish”<br />

(which we will call an <strong>ISO</strong> <strong>15926</strong> interface from now on) only has <strong>to</strong> understand these standard<br />

descriptions, not the descriptions in the proprietary operations of every business partner.<br />

<strong>ISO</strong> <strong>15926</strong> Is Like HTML<br />

In case you don’t know what Hypertext Markup Language (HTML) is, you can rest assured that<br />

you are a part of a very large majority. HTML is the common language of the World Wide Web.<br />

Every web page you have seen is written with some variant of it. If everyone involved in plant<br />

design, construction, and operations were <strong>to</strong> use <strong>ISO</strong> <strong>15926</strong> <strong>to</strong> exchange information about<br />

plant objects, we would have an equivalent <strong>to</strong> the HTML experience—but between machines.<br />

For instance, if you want <strong>to</strong> look at the web page of a pump manufacturer you don’t need <strong>to</strong><br />

know anything beyond the web site address of the company. When your browser connects <strong>to</strong><br />

the web site, it assumes that what it finds will be encoded in HTML. Of course, it will be—if the<br />

manufacturer wants <strong>to</strong> get any business through the web page—because HTML is the standard<br />

format of the World Wide Web. In addition, it does not matter which browser you use.<br />

Internet Explorer, Firefox, Safari, Opera, and Netscape are all written <strong>to</strong> understand HTML.<br />

Imagine the hassle if you first had <strong>to</strong> contact the pump manufacturer and ask for the encoding<br />

format, and then instruct your IT folks <strong>to</strong> write a transla<strong>to</strong>r program, before you could access<br />

the web site? Of course, you would not do it. <strong>An</strong>d of course the pump manufacturer would not<br />

make a web page like this in the first place because no one else would do it either.<br />

This metaphor does a good job of describing what the average user will have <strong>to</strong> know about<br />

<strong>ISO</strong> <strong>15926</strong> as well. In the same way that most people who use the World Wide Web do not<br />

need <strong>to</strong> know about HTML, most users of <strong>ISO</strong> <strong>15926</strong> will not have <strong>to</strong> know about it <strong>to</strong> exchange<br />

information. When <strong>ISO</strong> <strong>15926</strong> is mature, it will simply be built in<strong>to</strong> the software we will<br />

all use. Engineers will be able <strong>to</strong> exchange information much more easily than they do now,<br />

and very few of them will need <strong>to</strong> know that the standard exists.<br />

On the other hand, many web sites <strong>to</strong>day are actually written in HTML. This metaphor implies<br />

INTRODUCTION<br />

4


that a large proportion of plant information will actually be s<strong>to</strong>red in an <strong>ISO</strong> <strong>15926</strong>-compliant<br />

data structure. Although this is certainly possible, it will probably not be the case. Most<br />

companies will maintain their plant information in the proprietary format they currently use.<br />

Instead, they will write a public interface <strong>to</strong> render the information in <strong>ISO</strong> <strong>15926</strong> format when a<br />

business partner asks for it.<br />

In this regard, <strong>ISO</strong> <strong>15926</strong> is more like the case <strong>to</strong>day whereby a database is exposed <strong>to</strong> the<br />

World Wide Web. When a user queries the database (via her web browser), a program dynamically<br />

searches the database and renders the results in HTML “on the fly.”<br />

There is another similarity that may appeal <strong>to</strong> your geeky side. HTML and <strong>ISO</strong> <strong>15926</strong> are standards<br />

that were developed along similar trajec<strong>to</strong>ries. Although the underlying infrastructure<br />

that enabled the Web started <strong>to</strong> form in the last quarter of the twentieth century, most of us<br />

only discovered it 20 years ago. At first there was some controversy as we speculated about<br />

its possibilities. Some of the ideas caught on and some didn’t, but over time “surfing the web”<br />

just became part of our lives. Now many of our young people cannot imagine life without it.<br />

Similarly, many people are just now finding out about <strong>ISO</strong> <strong>15926</strong>—even though the standards that<br />

led <strong>to</strong> it first started <strong>to</strong> appear in the mid twentieth century. As with any new technology, there is<br />

some controversy and speculation on its future. However, the demand for the interoperability of<br />

information is strong and over time <strong>ISO</strong> <strong>15926</strong> will work its way in<strong>to</strong> the way we do business.<br />

<strong>ISO</strong> <strong>15926</strong> Is Like English on Your Cell Phone<br />

If you and I were not close <strong>to</strong>gether but needed <strong>to</strong> talk about something, we might decide <strong>to</strong><br />

use our cellular telephones. There is a great deal of complexity hidden from the view of the<br />

casual user. One of us could be in a digital roaming area while the other is in an analog area.<br />

One, or both, might be in a vehicle traveling at high speed down a highway—moving from one<br />

cellular area <strong>to</strong> another very quickly. We could be on different continents. All this is handled<br />

au<strong>to</strong>matically by the software and circuitry that makes up the cellular telephone network.<br />

None of this would do either of us any good, however, if you spoke Mandarin and I spoke<br />

Can<strong>to</strong>nese. Mandarin and Can<strong>to</strong>nese are dialects within the same language family, but are far<br />

enough apart that it is difficult for native speakers of one <strong>to</strong> understand native speakers of<br />

the other. Thus, <strong>to</strong> communicate with cell phones we would have <strong>to</strong> agree <strong>to</strong> speak the same<br />

language. In that China has one of the highest populations of English speakers of any country<br />

in the world, it is quite possible that we both speak English.<br />

To talk <strong>to</strong> you using English, I would first translate the words and sentence structure from<br />

Can<strong>to</strong>nese <strong>to</strong> English. When you heard me speak, you would translate the words and sentence<br />

structure from English <strong>to</strong> Mandarin and (hopefully) understand what I said.<br />

INTRODUCTION<br />

5


Hello<br />

Use a mental dictionary <strong>to</strong><br />

translate Can<strong>to</strong>nese <strong>to</strong><br />

English<br />

Hello<br />

Use a<br />

mental<br />

dictionary<br />

<strong>to</strong> translate<br />

English <strong>to</strong><br />

Mandarin<br />

In this metaphor, <strong>ISO</strong> <strong>15926</strong> takes the place of English. <strong>ISO</strong> <strong>15926</strong> is a common “language” for<br />

exchanging information about capital projects. It would not matter how either of us s<strong>to</strong>red our<br />

plant information, at the interface we would “translate” it <strong>to</strong> and from <strong>ISO</strong> <strong>15926</strong>.<br />

This is quite a good metaphor in that each of us would continue <strong>to</strong> think and work in our<br />

native language (me, Can<strong>to</strong>nese; you, Mandarin) but would encode/decode the message <strong>to</strong><br />

the common language of English more or less on the fly. Similarly, organizations that use <strong>ISO</strong><br />

<strong>15926</strong> <strong>to</strong> communicate with each other can continue <strong>to</strong> use proprietary systems internally.<br />

This is a good metaphor in another way as well. The complexity of managing the call is hidden<br />

from cell phone users. You and I can contact each other by simply calling each other’s cell<br />

phone number. You don’t have <strong>to</strong> call a different number if I am away from my office. I don’t<br />

have <strong>to</strong> use a different pro<strong>to</strong>col if you have a digital phone or an analog phone. You don’t<br />

have <strong>to</strong> know if I am at home or at ball game. The cellular network figures out where we are<br />

and directs our calls through the closest transmission <strong>to</strong>wer. Similarly, by using <strong>ISO</strong> <strong>15926</strong> we<br />

will all be spared the detail of matching our own information systems <strong>to</strong> those of our business<br />

partners.<br />

A major difference is in what people will have <strong>to</strong> know about <strong>ISO</strong> <strong>15926</strong> in order <strong>to</strong> use it. This<br />

metaphor implies that users will have <strong>to</strong> know <strong>ISO</strong> <strong>15926</strong> almost as well as they know their<br />

native <strong>to</strong>ngue. In fact, most people will not even have <strong>to</strong> know how <strong>to</strong> spell <strong>ISO</strong> <strong>15926</strong>—it will<br />

simply be built in<strong>to</strong> whatever computer system they are using. To extend the cell phone metaphor,<br />

it will be as if an intelligent English transla<strong>to</strong>r is built in<strong>to</strong> both cell phones. I would speak<br />

my native Can<strong>to</strong>nese in<strong>to</strong> my phone and you would hear your native Mandarin in yours.<br />

About This Book<br />

This book is intended for those who know a great deal about capital project work but not a lot<br />

about the software by which projects get done, those who know a lot about the software but<br />

not a lot about capital project work, and the poor folks in the middle who are just trying <strong>to</strong><br />

make a living using software. This book is intended <strong>to</strong> be the first book you read after hearing<br />

about <strong>ISO</strong> <strong>15926</strong>.<br />

INTRODUCTION<br />

6


Although it describes some complex technology and includes many three- and four-letter<br />

acronyms, the explanations are functional (“How does this help data exchange?”) rather than<br />

procedural (“First press this but<strong>to</strong>n, then that one…”) If you have a background in any part of<br />

engineering projects, you will have a knowing, wry smile when we talk about our past and existing<br />

ways of dealing with data exchange. But even if you do not have such a background you<br />

will still be able <strong>to</strong> follow the discussion.<br />

Managers<br />

Managers; engineering managers, construction managers, and plant managers generally know<br />

a great deal about engineering, construction, and plant operations; but typically not a great<br />

deal about the computer systems that make their operations run. As such, they may view<br />

the claims of ardent proponents of <strong>ISO</strong> <strong>15926</strong> with a certain amount of suspicion. This introduction<br />

<strong>to</strong> <strong>ISO</strong> <strong>15926</strong> reviews the practical issues with information exchange <strong>to</strong>day (<strong>to</strong> show<br />

where money is being wasted), describes the theoretical and practical work that has been<br />

devoted <strong>to</strong> the development of <strong>ISO</strong> <strong>15926</strong> (<strong>to</strong> show that it is viable), and shows how <strong>ISO</strong> <strong>15926</strong><br />

will make everyday tasks easier (<strong>to</strong> show where the opportunities lie).<br />

Computer Professionals<br />

Depending on their area of expertise, computer professionals may already have heard about<br />

information exchange and the Semantic Web. What they may not be aware of, however, is the<br />

business context of the capital projects industry where their computer systems are used. This<br />

book describes several situations project personnel encounter in real-world scenarios, shows<br />

traditional solutions, and contrasts them with the way <strong>ISO</strong> <strong>15926</strong> would be used <strong>to</strong> make their<br />

life easier.<br />

Casual Users<br />

Because of the way it can be implemented in software, when <strong>ISO</strong> <strong>15926</strong> is mature many users<br />

may not know it exists. But in the transition there might be something like an “<strong>ISO</strong> <strong>15926</strong>”<br />

but<strong>to</strong>n <strong>to</strong> push. This book will show what happens under the hood when it is pushed. As well,<br />

users will see the growing opportunity for discipline professionals <strong>to</strong> get involved and will encounter<br />

a few ideas for doing so.<br />

How This Book Is Organized<br />

This book is divided in<strong>to</strong> five main chapters and several appendices.<br />

• Why We Need <strong>ISO</strong> <strong>15926</strong><br />

• The His<strong>to</strong>ry of <strong>ISO</strong> <strong>15926</strong><br />

• How Does <strong>ISO</strong> <strong>15926</strong> Work?<br />

• Current Events in the World of <strong>ISO</strong> <strong>15926</strong><br />

• Getting Started with <strong>ISO</strong> <strong>15926</strong><br />

• Appendices<br />

• Glossary<br />

INTRODUCTION<br />

7


Why We Need <strong>ISO</strong> <strong>15926</strong><br />

Traditional ways of exchanging and reusing information all involve some variant of having<br />

someone read one document and then decide which parts <strong>to</strong> transcribe <strong>to</strong> a different document.<br />

This is true whether we are moving a single value from one data sheet <strong>to</strong> another or<br />

mapping entire databases <strong>to</strong>gether. Even with modern computer technology, we still rely on<br />

highly skilled people <strong>to</strong> interpret information and <strong>to</strong> discern which data values are important.<br />

For this we rely on a surprising amount of context. For instance, when we look at a data sheet<br />

we rely on visual cues and our experience. When we map databases <strong>to</strong>gether, we deal with<br />

attribute names that are usually inadequate in themselves <strong>to</strong> make fine distinctions between<br />

similar terms. To understand what our data means, we need more information than is contained<br />

in the data itself.<br />

This affects us whenever we attempt <strong>to</strong> exchange information. <strong>An</strong> obvious large information<br />

exchange is the handover phase of a project. Even though a fully electronic handover is quite<br />

possible <strong>to</strong>day, the documents that are handed over are often still formatted for humans.<br />

Currently, when we hand over information we still have <strong>to</strong> think about how it is <strong>to</strong> be accomplished.<br />

This adds friction, making many exchanges uneconomic. When <strong>ISO</strong> <strong>15926</strong> is mature,<br />

the mechanics of information exchange will fade in<strong>to</strong> the background—allowing more exchanges<br />

<strong>to</strong> take place economically.<br />

The His<strong>to</strong>ry of <strong>ISO</strong> <strong>15926</strong><br />

The reason information exchange, as envisioned by <strong>ISO</strong> <strong>15926</strong>, is possible now is because of<br />

the convergences of four areas of study. The study of how we know things, on<strong>to</strong>logy, gives us<br />

techniques for embedding meaning in<strong>to</strong> data. The Semantic Web gives us the <strong>to</strong>ols <strong>to</strong> do so.<br />

Open ways of encoding data make it practical <strong>to</strong> do so. But the most important is the evolution<br />

of product information.<br />

With the advent of CAD software in the late 1970s, we have continually played the role of<br />

Oliver Twist: “Please sir! Can I have more?” At first, all we wanted was <strong>to</strong> be able <strong>to</strong> exchange<br />

CAD drawings without having <strong>to</strong> redraw them and got CAD exchange standards such as the<br />

Initial Graphics Exchange Standard (IGES). Then we wanted the product information that is<br />

behind the drawings in many manufacturing systems and got a standard called STEP, which<br />

we will become very familiar with in the coming chapters. Later, as we tried <strong>to</strong> apply the principles<br />

of STEP <strong>to</strong> long-life process plants STEP itself evolved in<strong>to</strong> <strong>ISO</strong> <strong>15926</strong>.<br />

The core of <strong>ISO</strong> <strong>15926</strong>, the data model (called Part 2), and the dictionary (called Part 4) have<br />

been developed in the heat of battle on several large, world-class projects. Dictionary-level information<br />

exchange is now routine. We are poised for an even greater increase in productivity<br />

with the development of techniques for embedding meaning in<strong>to</strong> our information exchanges.<br />

How Does <strong>ISO</strong> <strong>15926</strong> Work?<br />

“Your computer can talk <strong>to</strong> my computer and neither of us has <strong>to</strong> know anything about each<br />

other’s systems beforehand” sounds somewhat magical. Readers are excused for being somewhat<br />

skeptical. But when you consider what actually needs <strong>to</strong> be exchanged the claim of <strong>ISO</strong><br />

<strong>15926</strong> becomes more believable. The engineers, fabrica<strong>to</strong>rs, construc<strong>to</strong>rs, and plant opera<strong>to</strong>rs<br />

INTRODUCTION<br />

8


who need <strong>to</strong> exchange information all work with the same physical objects—just in different<br />

ways. Each job function needs different information about the same object.<br />

For instance, engineers need <strong>to</strong> know the size envelope and functional performance; fabrica<strong>to</strong>rs<br />

need <strong>to</strong> know the material and fabrication methods; construc<strong>to</strong>rs need <strong>to</strong> know the mass,<br />

envelope, and delivery; and opera<strong>to</strong>rs need <strong>to</strong> know how <strong>to</strong> maintain it and where the spare<br />

parts are. There is some overlap, but because the computer system each uses is optimized for<br />

particular job functions it is not surprising that the computer systems cannot understand each<br />

other even if they actually contain the same information. What <strong>ISO</strong> <strong>15926</strong> does is <strong>to</strong> capture a<br />

view of everyone’s data so that each can pull out what they need.<br />

Imagine the situation of two people, each with their own native language, <strong>to</strong>gether learning a<br />

new foreign language. They will first learn the names of objects they are familiar with, essentially<br />

building a new dictionary. Then they will learn <strong>to</strong> master a new way of expressing ideas,<br />

which is learning new rules of grammar. While learning the new language, they will practice<br />

writing it on some type of media (such as a whiteboard, paper, or, for the sake of argument,<br />

a s<strong>to</strong>ne sculpture). Eventually, if they master the new language well enough and others seek<br />

them out they may need a way <strong>to</strong> regulate access.<br />

The parts of <strong>ISO</strong> <strong>15926</strong> are like the parts of human speech. Part 2 is the data model equivalent<br />

<strong>to</strong> the rules of grammar, and Part 4 is the reference library, equivalent <strong>to</strong> the dictionary. When<br />

any two people use the same rules of grammar and use the same dictionary, they can communicate<br />

freely. Similarly, when two machines encode an information exchange using Parts 2 and<br />

4 they can communicate freely. This is the core of <strong>ISO</strong> <strong>15926</strong>. Part 7 contains what are called<br />

templates, and is like a phrase book that allows new users <strong>to</strong> construct a meaningful sentence<br />

a bit sooner. Part 8 is like the writing media, and Part 9 is like a web site or the postal service.<br />

Current Events in the World of <strong>ISO</strong> <strong>15926</strong><br />

<strong>ISO</strong> <strong>15926</strong> is being used around the world more every year. Parts of <strong>ISO</strong> <strong>15926</strong> are being used<br />

in real projects, development of infrastructure <strong>to</strong> support <strong>ISO</strong> <strong>15926</strong> information exchange is<br />

ongoing, the standards themselves are continuing <strong>to</strong> be developed, and educational materials<br />

are being created.<br />

Plant Operations<br />

The Norwegian Continental Shelf is one of the major oil-producing regions in the world. The<br />

harsh environment has led <strong>to</strong> a strong need <strong>to</strong> au<strong>to</strong>mate information exchanges <strong>to</strong> and from offshore<br />

facilities. Integrated Operations in the High North (IOHN) is a multi-year initiative <strong>to</strong> implement<br />

this, combining the efforts of all opera<strong>to</strong>rs in the area. <strong>ISO</strong> <strong>15926</strong> is part of the data layer.<br />

The safe start-up, operation, and maintenance of an operating plant is often limited by a lack<br />

of early information about plant equipment and controls. A large bitumen upgrader, planned<br />

for startup in Canada in 2015, is part of a pilot project <strong>to</strong> develop strategies <strong>to</strong> improve information<br />

handover. The Operations and Maintenance SIG (O&M SIG) of Fiatech and the POSC<br />

Caesar Association (PCA) are reviewing all relevant information standards, including <strong>ISO</strong><br />

<strong>15926</strong>, and will use them <strong>to</strong> develop best work practices for information creation and handover.<br />

INTRODUCTION<br />

9


Development of Enabling Infrastructure<br />

One aspect of information exchanges, as envisioned by <strong>ISO</strong> <strong>15926</strong>, is that the definitions of<br />

terminology be publicly accessible in real time during the exchange. This will allow the participants<br />

<strong>to</strong> validate terms, which will remove ambiguity and reduce costs. Until now this has not<br />

been possible for production work due <strong>to</strong> lack of facilities. The Joint Operational Reference<br />

Data (JORD) project is developing the infrastructure and funding <strong>to</strong> bring a public reference<br />

data service (RDS) in<strong>to</strong> operation. It builds on several years of experience in operating an RDS<br />

that supported standards development work.<br />

We have used dictionary-level information exchange for years using <strong>ISO</strong> <strong>15926</strong> Part 4. This<br />

works well in high-value situations that can afford the brute-force approach of understanding<br />

equivalent information objects on each side of the transaction and mapping them <strong>to</strong>gether.<br />

But with the pace of business increasing we need <strong>to</strong> be able <strong>to</strong> exchange information easier<br />

without having <strong>to</strong> do so much preparation. To do this we will have <strong>to</strong> use the full specification<br />

of <strong>ISO</strong> <strong>15926</strong>. The iRING user group is developing <strong>to</strong>ols, available free of charge with an<br />

open-source license, <strong>to</strong> implement <strong>ISO</strong> <strong>15926</strong> parts 7, 8, and 9. The <strong>to</strong>ols will more or less clip<br />

on <strong>to</strong> the side of commercial software <strong>to</strong> allow information exchange between any similarly<br />

equipped software.<br />

Continued Development of Standards<br />

The Geometry Special Interest Group (Geometry SIG) of Fiatech and PCA is developing a<br />

reference library for the geometrical shapes used in 3D modeling software. Current <strong>to</strong>ols for<br />

exchanging graphics strip out all of the meaning. (This means we can exchange the surfaces<br />

of plant objects but not their identity.) The geometrical reference library will be issued as <strong>ISO</strong><br />

<strong>15926</strong> Part 3, which will allow us <strong>to</strong> exchange graphics as easily as we exchange other data.<br />

One barrier <strong>to</strong> the wide use of <strong>ISO</strong> <strong>15926</strong> is that best practices for using Part 7 templates are<br />

not yet common knowledge. The Instrument Special Interest Group (Instrument SIG) of Fiatech<br />

and PCA is creating recommended templates for describing industrial instrumentation.<br />

Because the management of instrumentation is crucial for the safe and profitable control of a<br />

plant, the Instrument SIG is working closely with the O&M SIG.<br />

Many information standards exist <strong>to</strong>day for various niches in heavy industry. Two such standards<br />

have recently been harmonized with <strong>ISO</strong> <strong>15926</strong>. Under the guidance of Fiatech’s Engineered<br />

Equipment Life Cycle Application Tools project (EELCAT), what is known as the AEX XML<br />

schema (developed by another Fiatech project, Au<strong>to</strong>mated Equipment Information Exchange)<br />

and the Hydraulic Institute’s Standard HI 50.7-2010 for Electronic Data Exchange for Pumping<br />

Equipment have been brought <strong>to</strong>gether. HI 50.7 is a dictionary of data fields from many wellknown<br />

standards along with the AEX schema. The EELCAT project has recently examined the<br />

two standards and has demonstrated how they can be further harmonized with <strong>ISO</strong> <strong>15926</strong>.<br />

Getting Started with <strong>ISO</strong> <strong>15926</strong><br />

With any new technology, there is uncertainty about what can be realistically accomplished.<br />

Implementing <strong>ISO</strong> <strong>15926</strong> is easily within reach of most organizations, probably without having<br />

<strong>to</strong> hire additional staff. At the introduc<strong>to</strong>ry level, implementing <strong>ISO</strong> <strong>15926</strong> is similar <strong>to</strong> traditional<br />

methods of exporting information from one application and importing it in<strong>to</strong> another.<br />

INTRODUCTION<br />

10


Open-source and commercial <strong>to</strong>ols exist <strong>to</strong> assist in both dictionary mapping at the introduc<strong>to</strong>ry<br />

level and the more advanced use of <strong>ISO</strong> <strong>15926</strong> Parts 7, 8, and 9.<br />

Appendices<br />

The preceding fulfills the promise of an introduction <strong>to</strong> <strong>ISO</strong> <strong>15926</strong>. For those who wish <strong>to</strong><br />

know a bit more, we have included several appendices:<br />

• Appendix A: The Parts of <strong>ISO</strong> <strong>15926</strong><br />

• Appendix B: Compliance with <strong>ISO</strong> <strong>15926</strong><br />

• Appendix C: Examples of Database Mapping<br />

• Appendix D: Other Resources<br />

• Glossary of Concepts: Contains extended explanations of key concepts, including<br />

key terminology<br />

INTRODUCTION<br />

11


CHAPTER 1:<br />

WHY WE NEED <strong>ISO</strong> <strong>15926</strong><br />

It is difficult <strong>to</strong> overestimate the value of being able <strong>to</strong> exchange information with anyone<br />

without fear of transcription error, while maintaining the precise meanings of all terms, even<br />

though you know nothing at all about your partner’s internal work processes and methods of<br />

data s<strong>to</strong>rage. When information is transferred correctly, the quality and reliability of your end<br />

product increases. When you know for sure that information will be transferred correctly, you<br />

can move faster because you do not have <strong>to</strong> check for transcription errors.<br />

A significant part of designing, building, and operating capital assets involves transferring and<br />

accessing information about those assets. In its oft-cited 2004 report Cost <strong>An</strong>alysis of Inadequate<br />

Interoperability in the U.S. Capital Facilities Industry, the National Institute of Standards<br />

and Technology (NIST) reported claims of some companies that 40 percent of engineering<br />

time was spent finding and verifying information. Overall, the study showed that the lack of<br />

interoperability among computer-aided design (CAD), engineering, and other software systems<br />

costs the American capital projects industry more than $15 billion every year. 1<br />

<strong>ISO</strong> <strong>15926</strong> makes exchanging information between applications easier in two ways. First, when<br />

your information exchanges go beyond manually rekeying data or using point-<strong>to</strong>-point cus<strong>to</strong>m<br />

mapping (which we discuss shortly) you need <strong>to</strong> create some type of data dictionary containing<br />

definitions of all objects in your facility—along with their attributes. If your organization is<br />

sufficiently large, this requires a significant effort. Instead of developing your own dictionary,<br />

<strong>ISO</strong> <strong>15926</strong> offers a dictionary 2 that you can use free of charge. Because the <strong>ISO</strong> <strong>15926</strong> dictionary<br />

has been developed by a great number of people from many industries in many parts of<br />

the world, there is a high probability that the definitions you need are already there.<br />

Second, when we exchange information <strong>to</strong>day we need people <strong>to</strong> manage the transactions<br />

because we mistakenly assume a consistently applied background of rules and jargon of the<br />

trade. We call these background rules “context,” and without context we are lost. We need <strong>to</strong><br />

be able <strong>to</strong> apply these rules consistently in order <strong>to</strong> correctly match terminology in a universe<br />

of very similar terms.<br />

If we use the full specification of <strong>ISO</strong> <strong>15926</strong>, we can make information exchanges easier by<br />

essentially building the context of the information in<strong>to</strong> the information itself. When we model<br />

the information, we can capture the precise meaning of each term and embed it with the<br />

term. This makes it easier for machines <strong>to</strong> talk directly <strong>to</strong> each other because implied meanings<br />

that participants are “just expected <strong>to</strong> know” are eliminated (or at least minimized).<br />

These two issues are intertwined. To fully understand the value of simply being able <strong>to</strong> use an<br />

existing data dictionary, instead of having <strong>to</strong> develop one from scratch, we will first discuss<br />

the sources of information exchange costs. This will leads <strong>to</strong> a discussion of “context” and<br />

1. The report is available online. Search for “Cost <strong>An</strong>alysis of Inadequate Interoperability in the U.S.<br />

Capital Facilities Industry.”<br />

2. Truth in advertising: Data exchange in the manner envisioned by <strong>ISO</strong> <strong>15926</strong> requires more than just<br />

a dictionary. We are simply starting with a description of how the dictionary component works as a<br />

way of easing in<strong>to</strong> the <strong>to</strong>pic.<br />

CHAPTER 1<br />

12


what it means in information exchanges.<br />

After understanding the role of context, we will return <strong>to</strong> the way we manage information<br />

exchange <strong>to</strong>day. We will discus the way small, ad-hoc manual exchanges can develop in<strong>to</strong><br />

organization-wide networks of linked applications. The value of the simple existence of <strong>ISO</strong><br />

<strong>15926</strong> will be apparent when we discuss the issues of managing this organization-wide network.<br />

We conclude with some examples of information flows <strong>to</strong>day and show how <strong>ISO</strong> <strong>15926</strong><br />

will make them easier.<br />

The Role of Context in Information Exchange<br />

Information exchange <strong>to</strong>day requires the skills of experienced people because we rely <strong>to</strong> a<br />

great degree on the context in which we find information <strong>to</strong> understand the precise meaning<br />

of the information 3 . Figure 1.1 shows someone with a bright idea. To achieve some business<br />

result, he has <strong>to</strong> pass the information <strong>to</strong> someone else. If he just sends the information without<br />

context, he is just throwing it all in a bag and hoping the person on the other end can figure it<br />

out.<br />

Fig. 1.1 Putting information in a bag.<br />

When we encode information using the full specification of <strong>ISO</strong> <strong>15926</strong> (including all of the<br />

components we will discuss later), we include enough context that other <strong>ISO</strong> <strong>15926</strong>–enabled<br />

<strong>to</strong>ols will clearly understand what we mean (Figure 1.2). We no longer have <strong>to</strong> know anything<br />

about the partners with whom we exchange information.<br />

3. The “information in a bag” diagrams are courtesy of Robin Benjamins.<br />

CHAPTER 1<br />

13


Fig 1.2 Putting information in an <strong>ISO</strong> <strong>15926</strong> bag.<br />

When your humble author started his career in plant design, computers were not commonly<br />

used by designers and engineers. Drafting was done by pencil on paper. Specifications were<br />

written with a typewriter. When information had <strong>to</strong> be transferred from one document <strong>to</strong><br />

another, the only way <strong>to</strong> do it was for a human <strong>to</strong> read the original document, find the value <strong>to</strong><br />

be transferred, and then write it by hand on the target document. If the target document was<br />

something like a specification, it was usually given <strong>to</strong> a secretary for typing.<br />

Transferring data <strong>to</strong> the owner at the end of the project was cumbersome but conceptually<br />

simple: you would take all of the specifications and drawings, sort them in<strong>to</strong> some logical order,<br />

perhaps bind them in<strong>to</strong> books, and move them <strong>to</strong> the new location. Data turnover <strong>to</strong> the client<br />

at the end of a large project was similar <strong>to</strong> the last scene of the movie Raiders of the Lost Ark. In<br />

that scene a forklift carried a wooden box down a long aisle of identical wooden boxes and put<br />

it on one of the piles, something like that depicted in Figure 1.3. In the real world, it sometimes<br />

<strong>to</strong>ok years for the owner <strong>to</strong> review all of the boxes and categorize the binders of information.<br />

Fig 1.3 Data handover the old way.<br />

CHAPTER 1<br />

14


No one really liked this (as in “I really liked that piece of chocolate cake, may I have another!”),<br />

but that was just the way it was. Everyone just built such manual tasks in<strong>to</strong> their plans. Things<br />

started <strong>to</strong> change when computers made their way in<strong>to</strong> the design office. Binders of data<br />

sheets gave way <strong>to</strong> spreadsheets burned on<strong>to</strong> CDs and then DVDs, graphite pencils gave way<br />

<strong>to</strong> electronic pencils (i.e., CAD), and rolls of Mylar drawings gave way <strong>to</strong> CAD files burned<br />

on<strong>to</strong> more DVDs.<br />

These days, when the owner receives the material it is physically easier <strong>to</strong> sort through boxes<br />

filled with DVDs than <strong>to</strong> sort through boxes filled with paper but the documents still have <strong>to</strong><br />

be reviewed individually. On a moderately large project, it can still take a crew of people many<br />

months <strong>to</strong> index it all and bring it in<strong>to</strong> the owner’s system—and until a document has been<br />

received by the document management system it is essentially invisible.<br />

There have been improvements, but things have not changed much conceptually. In our work<br />

processes for plant design or plant operations, a large proportion of an engineer’s activities<br />

still involve finding information and manually transferring it from one document <strong>to</strong> another.<br />

For instance, after the engineer chooses, say, an instrument from a manufacturer’s catalog<br />

the only practical way <strong>to</strong> record the information about the instrument is <strong>to</strong> read the manufacturer’s<br />

data, interpret it <strong>to</strong> decide which of the data values <strong>to</strong> transcribe, and then figure out<br />

where <strong>to</strong> put the data values in the engineering design system.<br />

Some of the operations are simple transcription, such as transferring a model number from<br />

one spot <strong>to</strong> another. However, some involve calculation—such as changing from one unit of<br />

measurement <strong>to</strong> another. Other operations involve interpretation ranging from ignoring the<br />

data value al<strong>to</strong>gether <strong>to</strong> decisions involving judgment, such as orientation or handedness. The<br />

work is done on a computer, but often the only real difference is that engineers do the typing<br />

themselves instead of giving it <strong>to</strong> their secretaries.<br />

To reiterate, in most cases <strong>to</strong>day information exchange still requires the skills of experienced<br />

people because we rely on the context in which we find information <strong>to</strong> understand the precise<br />

meaning of the information. Earlier we defined “context” as “the rules and jargon of our<br />

trade.” Design engineers learn these rules and jargon by a combination of education and experience.<br />

For an example of how we rely on context, suppose that you have <strong>to</strong> transfer information<br />

from one data sheet <strong>to</strong> another and you see this:<br />

1034<br />

This means nothing. So, you “back up” and look for more context.<br />

Pressure 1034<br />

Okay, so you know a bit more—but still nothing usable. So, you back up again.<br />

Pressure: 1034<br />

Pressure Units: kPa<br />

Now you expect other values <strong>to</strong> be in SI units, but you still really do not know what is going<br />

on. So, you back up some more.<br />

CHAPTER 1<br />

15


Seal Flush<br />

Pressure: 1034<br />

Pressure Units: kPa<br />

You still have questions, so you continue <strong>to</strong> back up.<br />

Tag No: P-101<br />

Service: Chemical Injection <strong>to</strong> D-101<br />

Seal Flush<br />

Pressure: 1034<br />

Pressure Units: kPa<br />

Now you are getting a clearer picture. When you “back all the way up” and read the entire<br />

data sheet you can finally put the initial value, 1034, in<strong>to</strong> context.<br />

Centrifugal Pump Data Sheet<br />

Client: ABC Chemical Company<br />

Tag No: P-101<br />

Service: Chemical Injection <strong>to</strong> D-101<br />

Seal Flush<br />

Pressure: 1034<br />

Pressure Units: kPa<br />

Even with such a trivial example, without context we are lost. Experienced engineers may<br />

exclaim at this point “But this is the way design is done. You have <strong>to</strong> consider the entire data<br />

sheet <strong>to</strong> understand a particular term!” That is the point: If we want <strong>to</strong> use machines <strong>to</strong> transfer<br />

information <strong>to</strong> other machines, we want the information <strong>to</strong> be self-describing.<br />

CHAPTER 1<br />

16


The Data Sheet Problem<br />

Consider a more realistic example of selecting and specifying a centrifugal pump. After selecting<br />

the proper make and model, the mechanical engineer has the pleasant task of figuring out<br />

which data values <strong>to</strong> transfer from the manufacturer’s data sheet <strong>to</strong> the owner’s data sheet.<br />

Figure 1.4 shows a small portion of both data sheets.<br />

Different Name<br />

CONDITIONS OF SERVICE, EACH PUMP<br />

Normal Flow Rated Flow Disch. Press. kPag<br />

Temperature C<br />

Suct. Press. Max. kPag Rated kPag<br />

Specific Gravity<br />

Differential Pressure kPag<br />

Vapor Pressure kPag<br />

Differential Head m<br />

Viscosity<br />

NPSH Available m<br />

Corr./Erosion Caused By<br />

Corrosion Allowence mm<br />

Cold Start Temp. C @Sp. Gr. & Viscosity<br />

CONSTRUCTION<br />

Nozzles<br />

Suction<br />

Discharge<br />

Size Rating Facings Location<br />

Convert <strong>to</strong> Imperial<br />

Convert <strong>to</strong> Metric<br />

Different Name<br />

Same Definition<br />

Same Definition<br />

OPERATING CONDITIONS<br />

Rated Max. Normal Min.<br />

Capacity (gpm)<br />

Suction (psig)<br />

Discharge (psig)<br />

Diff. Press. (psig)<br />

Diff. Head (ft)<br />

Power (hp)<br />

@ Minimum S. G.<br />

Rated Max. Normal Min.<br />

Op. Time (hr/yr)<br />

NPSH Avail. (ft)<br />

System Design<br />

Stand Alone<br />

Series Operation with<br />

Parallel Operation<br />

Service Pressure Min/Max<br />

Service<br />

(psig) .<br />

Continuous<br />

System Control Method<br />

Starts per Day<br />

Speed Flow Level Temp.<br />

Pressure Pipe Friction Resistance Only<br />

Same Definition<br />

Different Definition<br />

Different Definition<br />

Different Definition<br />

Fig 1.4 Comparison of two data sheets.<br />

The most notable difference is that one data sheet expects metric units, whereas the other<br />

expects Imperial units. But beyond that the data sheets are organized differently: the data are<br />

grouped differently and the groups are arranged differently. These two excerpts only have<br />

eight data spots in common. However, looking closer we can see that of the eight spots only<br />

three are obviously identical:<br />

Discharge Pressure<br />

Rated Suction Pressure<br />

Differential Pressure<br />

CHAPTER 1<br />

17


The rest require some interpretation:<br />

Metric Data Sheet Imperial Data Sheet Comments<br />

Normal Flow Capacity: Normal Probably the same<br />

Rated Flow Capacity: Rated Probably the same<br />

Max. kPag Suction: Max. No data entry spot<br />

Differential Head Diff. Head: Rated Possibly the same<br />

NPSH Available NPSH Avail.: Rated Possibly the same<br />

Most mechanical engineers with a little experience will have no trouble figuring everything out<br />

because they have the rest of the project documents, and perhaps have experience with the<br />

pump manufacturer. Again, that is the point. We need humans <strong>to</strong> guide even what seem on<br />

the surface simple transcription tasks because our work practices depend <strong>to</strong> a great degree<br />

on context. However, when machines start talking directly <strong>to</strong> other machines the problem of<br />

implied meaning based on context becomes a serious barrier.<br />

The reason information exchange works these days is because we exchange entire sets of data<br />

(for instance, a complete data sheet) in which the context is preserved. The disadvantage,<br />

however, is precisely that: we have <strong>to</strong> exchange entire sets of data and we must have humans<br />

interpret them item by item. What we really want is <strong>to</strong> be able <strong>to</strong> let machines exchange information<br />

directly without having <strong>to</strong> rely on context <strong>to</strong> retain the correct meaning. What we really<br />

need is a “cut-and-paste” <strong>to</strong>ol for plant information. We want <strong>to</strong> be able <strong>to</strong> just “cut it from that<br />

database over there” and “paste it <strong>to</strong> this database over here.” However, it’s not that simple.<br />

The first and most obvious reason we cannot use a simple cut-and-paste <strong>to</strong>ol is that the data<br />

values we want <strong>to</strong> transfer seldom map <strong>to</strong> the same (x,y) coordinates on any two data sheets.<br />

In order <strong>to</strong> know which data values <strong>to</strong> transfer, we have <strong>to</strong> first know enough about the data<br />

sheets and underlying databases <strong>to</strong> know which values are required, which values can be ignored,<br />

and whether or not something is missing.<br />

The second reason is, as we have seen in this example, we cannot rely on the name of the attributes.<br />

Even when attributes in two databases have the same name, we cannot be sure there<br />

are no subtle differences in their meaning. We need a human expert <strong>to</strong> confirm that the attributes<br />

match. These actions are trivial if you have the right context. We have many thousands<br />

of design engineers doing this all day, every day, and generally they are good at it. However,<br />

we rely so much on context <strong>to</strong> convey meaning that we cannot trust machines <strong>to</strong> make the<br />

right decisions on their own.<br />

Finally, this is all carried out in the context of the same written language. What would happen<br />

if the project were engineered in English but the client wanted all of his data sheets turned<br />

over in Russian?<br />

The Value of the <strong>ISO</strong> <strong>15926</strong> Dictionary<br />

When we want <strong>to</strong> exchange information between two software applications, the traditional<br />

way is <strong>to</strong> map the respective databases <strong>to</strong>gether. We preserve the context by manually examining<br />

the terms in each database <strong>to</strong> determine which are equivalent. Directly mapping two<br />

applications <strong>to</strong>gether is often the easiest short-term solution.<br />

CHAPTER 1<br />

18


Let’s say you are an engineer working for a construction company planning the installation<br />

of some piping spools. Part of your job is <strong>to</strong> plan the hydrostatic testing of all piping systems<br />

before commissioning the plant. So, along with a great deal of other information you need <strong>to</strong><br />

know the design temperatures and pressures of all lines in the project. Fortunately, the design<br />

engineer has given you a “line list”—a list of all line numbers and their critical attributes.<br />

Your first job, then, is <strong>to</strong> simply get the design engineer’s line list in<strong>to</strong> a form you are used <strong>to</strong><br />

dealing with; that is, your company’s construction management software. You might decide <strong>to</strong><br />

bite the bullet and just rekey the information manually. However, this gets old quickly and after<br />

a few dozen lines you will be wondering why you cannot just download the data from the engineer’s<br />

design software in<strong>to</strong> your construction software au<strong>to</strong>matically. After all, the design engineer<br />

did not (in this day and age) have a secretary type the line list on<strong>to</strong> a piece of paper with<br />

a typewriter and fax it <strong>to</strong> you. It almost certainly exists in an electronic database somewhere.<br />

It is in the design engineer’s best interest <strong>to</strong> make sure the construction contrac<strong>to</strong>r (you) has<br />

the correct information. It is easy <strong>to</strong> imagine that your IT folks and their IT folks get <strong>to</strong>gether<br />

<strong>to</strong> give you a connection over the Internet <strong>to</strong> just “suck in the data.” In addition, because the<br />

“lexical scope” of a line list is only a few terms it is easy <strong>to</strong> imagine that the data will “go right<br />

in.” (I mean, computers are pretty intelligent these days, aren’t they?)<br />

Artificial intelligence is the study of how <strong>to</strong> make real computers<br />

act like the ones in the movies. 4<br />

In a perfect world, everyone developing an application for some part of plant design would<br />

use the same column names and ensure that the meanings of the content of the columns were<br />

the same. (In database jargon, the “schemas” would be the same.) Figure 1.5 shows what this<br />

would look like.<br />

Engineering Application<br />

Line Table<br />

tag_no dia len temp press ifc<br />

tag_no dia len temp press ifc<br />

Line Table<br />

Construction Application<br />

Fig 1.5 A perfect world.<br />

4. Port 2000 Newsletter: The Information Technology Newsletter for Port Washing<strong>to</strong>n Educa<strong>to</strong>rs,<br />

December 1996.<br />

CHAPTER 1<br />

19


Of course, in the real world things seldom work out so nicely. Even in the rather small scope of<br />

a line list (where there the lexical scope is only a dozen or so terms) there is usually ambiguity.<br />

For instance, in Figure 1.6 two columns have names that do not match. One of them, tag_no<br />

in the engineering application, is most probably equivalent <strong>to</strong> the id column in the construction<br />

application. But what about the column cl in the construction application? For that matter,<br />

what does temp really mean? Could it mean “Temporary”? It is possible. It is not unheard<br />

of <strong>to</strong> have temporary lines erected for commissioning, which are then removed after a plant<br />

has been put in production. In addition, if you are being a bit paranoid (and if you have <strong>to</strong> sign<br />

off on the actual hydrostatic test pressure you better be at least a bit paranoid) what do you<br />

make of press? It almost certainly means “pressure,” but what type of pressure?<br />

• Operating pressure?<br />

• Maximum allowable working pressure?<br />

• Design pressure?<br />

Engineering Application<br />

Line Table<br />

tag_no dia len temp press ifc<br />

?<br />

?<br />

id dia cl temp press ifc<br />

Line Table<br />

?<br />

?<br />

Construction Application<br />

Fig 1.6 Real-life situation.<br />

If you have <strong>to</strong> specify the hydrostatic test pressure, you have <strong>to</strong> know for sure. The reality is<br />

that we are inferring everything, based on context. The only solution is <strong>to</strong> start digging. Fortunately,<br />

the lexical scope of a line list is only a couple dozen terms. To determine if temp<br />

means “temperature” or “temporary” you will have <strong>to</strong> look at a few rows of data. If the data<br />

values are y/n, or 0/1, it points <strong>to</strong> “temporary.” However, if the data values are numbers in<br />

the range of, say, –50 <strong>to</strong> 1,500 it probably means “temperature.” The column name press<br />

will take a bit longer.<br />

You will have <strong>to</strong> look for clues in other documents and use your engineering judgment <strong>to</strong><br />

determine which type of pressure it is. You may have <strong>to</strong> contact the design engineer. What<br />

looked fairly simple just a while ago is looking a bit more complex.<br />

CHAPTER 1<br />

20


There is always an easy solution <strong>to</strong> every human problem—<br />

neat, plausible, and wrong. 5<br />

If you only have <strong>to</strong> import the data once, one option is <strong>to</strong> simply copy the information column<br />

by column. However, if you have <strong>to</strong> import information from the engineering application several<br />

times you will want <strong>to</strong> have someone configure a cus<strong>to</strong>m mapping application.<br />

In Figure 1.7, someone has examined the data coming from the engineering application and<br />

determined which columns matched those of your construction application. In software development<br />

jargon, they have “mapped the databases <strong>to</strong>gether.” The red box represents software<br />

that uses the map <strong>to</strong> transfer information from the design application <strong>to</strong> the construction<br />

application. (<strong>An</strong> interesting side note is that you may not have <strong>to</strong> actually transfer very much.<br />

For instance, if you knew that both applications expect pipe sizes based on ASME B36.10M<br />

you would only have <strong>to</strong> transfer numerical digits—such as 6 or 12.)<br />

Cus<strong>to</strong>m Map<br />

Engineering Application<br />

Line Table<br />

tag_no dia len temp press ifc<br />

tag_no dia len temp press ifc<br />

id dia cl temp press ifc<br />

id dia cl temp press ifc<br />

Line Table<br />

Construction Application<br />

Fig 1.7 A cus<strong>to</strong>m solution.<br />

So far in this simple example, writing the mapping software would be relatively easy. But the<br />

real world is usually a bit more complex. One common problem, from the point of view of a<br />

lonely construction engineer on a remote project a long way from help, is that the data is often<br />

mangled across many fields.<br />

Take, for example, a “simple” line number such as what might be represented by the column<br />

tag_no. As a construction engineer, you are likely <strong>to</strong> look at a line number as “a label representing<br />

the name of this run of pipe, from here <strong>to</strong> there.” You expect the line number <strong>to</strong> be<br />

one string of text, something like:<br />

Line Number<br />

150-HCL-250-1C200-35<br />

However, the design engineer needs <strong>to</strong> be able <strong>to</strong> sort and filter on the pieces. Her idea of a<br />

line number probably looks more like this:<br />

5. H. L. Mencken, 1917 (Variously attributed <strong>to</strong> Albert Einstein, Wins<strong>to</strong>n Churchill and others.)<br />

CHAPTER 1<br />

21


Cus<strong>to</strong>m Map<br />

Line Number<br />

Area Fluid Code Nom Dia Service Class Insulation Thk<br />

150 HCL 250 1C200 35<br />

In fact, it may not even be that nice. It could be something like this:<br />

Area WBS<br />

Service<br />

Class<br />

Nom Dia Fluid<br />

Code<br />

Testing Insulation Thk<br />

150 7395-132 1C200 250 HCL 3 35<br />

Many engineering procurement and construction (EPC) contrac<strong>to</strong>rs have proprietary work<br />

processes for plant design supported with cus<strong>to</strong>m software. It is quite possible that the database<br />

the design engineer used <strong>to</strong> create your line list has the columns in a different order, and<br />

with other columns mixed in. The line list sent <strong>to</strong> you could have been created with reportwriting<br />

software that had been configured <strong>to</strong> select just the right columns and put them in<br />

just the correct order just for your project. This added complication may not reveal itself until<br />

you get “under the hood” and look at the database dump.<br />

If you are the one transferring information from one application <strong>to</strong> another, it is up <strong>to</strong> you <strong>to</strong><br />

figure out all the pieces and <strong>to</strong> put Humpty Dumpty back <strong>to</strong>gether for your construction application.<br />

It is a good thing that the lexical scope of a line list is only a few dozen terms!<br />

A Confederation of Applications<br />

If linking the first two applications <strong>to</strong>gether works out well, you may be tempted <strong>to</strong> link in another<br />

one. Figure 1.8 shows how the engineering application might be mapped <strong>to</strong> a procurement<br />

application with a second cus<strong>to</strong>m database map.<br />

Engineering Application<br />

Line Table<br />

tag_no dia len temp press ifc<br />

tag_no dia len temp press ifc<br />

id dia cl temp press ifc<br />

id dia cl temp press ifc<br />

Line Table<br />

Construction Application<br />

Cus<strong>to</strong>m Map<br />

tag_no dia len temp press ifc<br />

tag dia cl ifc<br />

tag dia len code price ifc<br />

Line Table<br />

Procurement Application<br />

Fig 1.8 A confederation of applications.<br />

This is the beginning of what might be called a “confederation of applications” whereby many<br />

applications get information from each other, with cus<strong>to</strong>m-built database maps between each<br />

CHAPTER 1<br />

22


pair of applications. Conceivably, you could link all of the construction applications for your<br />

project <strong>to</strong>gether in this manner <strong>to</strong> form an enterprise-wide solution (Figure 1.9).<br />

Fig 1.9 <strong>An</strong> enterprise-wide solution.<br />

If you managed <strong>to</strong> do all of this before your construction project was finished, you would have<br />

at least a short period of relative bliss. Instead of having <strong>to</strong> manually export a list from one application,<br />

massage it a bit, perhaps do a unit conversion or two, and then import it in<strong>to</strong> another<br />

application all you have <strong>to</strong> do is push a but<strong>to</strong>n. The advantage, in terms of lower labor costs<br />

and higher reliability, is obvious. In addition, if mapping databases <strong>to</strong>gether point <strong>to</strong> point on a<br />

project is good why not connect all applications in your company <strong>to</strong>gether the same way?<br />

Of course, many organizations do this. Although there may not be a theoretical limit <strong>to</strong> the<br />

number of applications that can be connected in this way, there is a practical limit. Every piece<br />

of software you link <strong>to</strong>gether is subject <strong>to</strong> change. For the most part, this is good. As hardware<br />

becomes more powerful, we can make software do more things. However, the natural<br />

cost of this is that eventually the database structure of an application will change.<br />

If you use point-<strong>to</strong>-point maps <strong>to</strong> link databases directly <strong>to</strong>gether, the link will break when<br />

either of the databases changes. If you have many applications daisy-chained <strong>to</strong>gether, they<br />

may all go down like a row of dominos. The practical reality of this approach is short lifetimes,<br />

high maintenance, and having <strong>to</strong> relearn an application’s data structure whenever something<br />

goes wrong. How do we deal with this? As it turns out, collectively, we have tried a number of<br />

options.<br />

The first approach is some variation of “If it ain’t broke, don’t fix it!” Here an organization<br />

deliberately s<strong>to</strong>ps upgrading software even when new versions are released. The immediate<br />

CHAPTER 1<br />

23


enefit is stability of information exchanges. Personnel can get on with whatever their business<br />

is without having <strong>to</strong> continually relearn old skills. Instead of having <strong>to</strong> spend all of their<br />

time fixing mapping problems, the IT group can do more value-added work.<br />

Done right, this can work well for quite a while. However, the longer an organization resists<br />

change the more work processes will become entrenched—tied ever stronger <strong>to</strong> old software<br />

and aging engineers. Change becomes unthinkable because of the knock-on effects that will<br />

ripple through the organization. Eventually support from the software vendors s<strong>to</strong>ps and the<br />

pool of trained users shrinks. The trick here is <strong>to</strong> know when <strong>to</strong> tightly adhere <strong>to</strong> this principle<br />

and when <strong>to</strong> let go.<br />

“You’ve got <strong>to</strong> know when <strong>to</strong> hold ’em, know when <strong>to</strong> fold<br />

’em…” 6<br />

A second approach <strong>to</strong> managing a large confederation of applications linked with cus<strong>to</strong>m<br />

point-<strong>to</strong>-point maps is <strong>to</strong> live with the maintenance and try <strong>to</strong> make it as organized and efficient<br />

as possible. Under this approach, as applications in the confederation evolve and the<br />

maps break someone will be there <strong>to</strong> fix the important ones.<br />

We might even argue that this is a good thing because it is a natural way <strong>to</strong> cull applications<br />

that are no longer useful. There may be some truth <strong>to</strong> that, but we must also acknowledge<br />

that the pace of innovation and change is speeding up. Business success, in some measure,<br />

goes <strong>to</strong> those organizations that make good decisions quickly. Good decisions require good<br />

information, and good information choked by inefficient information transfer is bad information.<br />

As with the first approach, we have developed good ways <strong>to</strong> handle maintenance. There is an<br />

entire business segment devoted entirely <strong>to</strong> what we call middleware <strong>to</strong> make creating and<br />

maintaining cus<strong>to</strong>m point-<strong>to</strong>-point maps easier and more reliable. Still, there will come a time<br />

when maintenance is a large cost.<br />

There is another solution, but it is a bit more work up front. Instead of making individual point<strong>to</strong>-point<br />

maps, an organization could make a dictionary of terms for all of the applications it<br />

uses. Under this approach, we study all of the software the organization uses and decide on<br />

the meaning of every term. Then when we link two applications we do not map them directly<br />

<strong>to</strong>gether but map each <strong>to</strong> the standard dictionary, as indicated in Figure 1.10.<br />

6. A line from The Gambler, a song by popular Country and Western singer Kenny Rogers.<br />

CHAPTER 1<br />

24


Map <strong>to</strong> Common Dictionary<br />

Map from Common Dictionary<br />

Engineering Application<br />

Line Table<br />

tag_no dia len temp press ifc<br />

tag_no dia len temp press ifc<br />

szTag dDia dLen dTemp dPress dateIFC<br />

szTag dDia dLen dTemp dPress dateIFC<br />

id dia cl temp press ifc<br />

id dia cl temp press ifc<br />

Line Table<br />

Construction Application<br />

Fig 1.10 A common dictionary of database definitions.<br />

In this example, someone has created a common dictionary containing the meaning of the<br />

attributes of the line list. Using the dictionary, the developer of the engineering application<br />

has determined the appropriate definitions that apply <strong>to</strong> the columns in his database. Without<br />

having <strong>to</strong> change the engineering application in any way, he builds an export function that<br />

extracts the appropriate data values and labels them with names from the common dictionary<br />

instead of what the engineering application called them.<br />

Engineering App Dictionary ID Description Units<br />

tag_no szTag Tag Number of a plant object<br />

dia dDia Nominal Diameter per ASME/ANSI B36.10<br />

len dLen Pressure Class per ASME/ANSI B16.10<br />

temp dTemp Normal Operating Temperature degF<br />

press dPress Normal Operating Pressure psig<br />

ifc dateIFC Issued for Construction Date yyyymmdd<br />

Similarly, the developer of the construction application uses the same dictionary and determines<br />

the appropriate definitions that apply <strong>to</strong> the columns in her database.<br />

Construction App Dictionary ID Description Units<br />

id szTag Tag Number of a plant object<br />

dia dDia Nominal Diameter per ASME/ANSI B36.10<br />

cl dLen Pressure Class per ASME/ANSI B16.10<br />

CHAPTER 1<br />

25


temp dTemp Normal Operating Temperature degF<br />

press dPress Normal Operating Pressure psig<br />

ifc dateIFC Issued for Construction Date yyyymmdd<br />

Again, without having <strong>to</strong> change the construction application in any way she builds an import<br />

function that expects <strong>to</strong> receive attributes with names from the common dictionary and maps<br />

them <strong>to</strong> the attribute names in the construction application. There are several advantages <strong>to</strong><br />

using a common dictionary that are important <strong>to</strong> note.<br />

• The developer of the engineering application does not have <strong>to</strong> know anything at all about<br />

the construction application. Indeed, he does not even have <strong>to</strong> know it exists.<br />

• The developer of the construction application does not have <strong>to</strong> know anything at all about<br />

the engineering application—beyond, of course, knowing that it is the source of certain<br />

input data.<br />

• Both of the developers are now free <strong>to</strong> modify their respective applications in any manner,<br />

including massive changes <strong>to</strong> their data structure—as long as the output and input are<br />

mapped <strong>to</strong> the same common dictionary.<br />

• Both developers know the precise meaning of the input/output from each other’s application<br />

because they know the precise meaning of the dictionary term they are mapped <strong>to</strong>.<br />

We call this “semantic precision.”<br />

Of course, there is a cost <strong>to</strong> developing a common dictionary. Someone has <strong>to</strong> herd the cats<br />

<strong>to</strong>gether <strong>to</strong> decide on the meaning of each term and what <strong>to</strong> call them. This is not trivial.<br />

Many people, each with different interests and agendas, have <strong>to</strong> look at the applications in<br />

question—possibly having <strong>to</strong> make fine distinctions between very similar attributes, as well as<br />

build in some allowance for growth.<br />

In short, there is a great deal of initial work in making a common dictionary but in a large<br />

organization it is recouped whenever a new application joins the confederation. For instance,<br />

when a procurement officer needs information from the engineering application <strong>to</strong> use in a<br />

procurement application instead of examining the content of the engineering application’s<br />

database all a software developer has <strong>to</strong> do is consult the dictionary and determine the values<br />

he wants <strong>to</strong> use.<br />

Procurement App Dictionary ID Description Units<br />

tag szTag Tag Number of a plant object<br />

dia dDia<br />

Nominal Diameter per ASME/ANSI<br />

B36.10<br />

len dLen Pressure Class per ASME/ANSI B16.10<br />

ifc dateIFC Issued for Construction Date yyyymmdd<br />

The fact that the engineering application is exposing other data attributes is not of interest.<br />

The procurement application (Figure 1.11) will simply choose the four data items it needs and<br />

use them. Creating the common dictionary made the first mapping exercise take a bit longer,<br />

but the benefits are clear.<br />

• The second (and third, and fourth) mapping exercise is almost free. When the developer<br />

of the procurement application wanted <strong>to</strong> import line list information from the engineering<br />

CHAPTER 1<br />

26


application, he simply used the appropriate definitions from the common dictionary. The<br />

developer of the engineering application might not have even known this was happening.<br />

• If the common dictionary is maintained, it is robust. If a new application in the confederation<br />

needs another type of pressure, for instance, the keepers of the dictionary can simply<br />

add it <strong>to</strong> the standard. The new applications will use the new definition, but none of the<br />

existing maps between existing applications will break.<br />

Map from Common Dictionary<br />

szTag dDia dLen dateIFC<br />

tag dia len ifc<br />

tag dia len code price ifc<br />

Line Table<br />

Procurement Application<br />

Fig 1.11 A reuse scenario.<br />

Again, there is a cost. As an organization grows in size and adds more members <strong>to</strong> its confederation<br />

of applications, managing the common dictionary will require significant time. In a<br />

large organization, this can be a full-time job.<br />

Regardless of the size of the organization that creates the common dictionary, eventually its<br />

sphere of interest will intersect the sphere of interest of another organization. For example, if<br />

two organizations—each having its own common dictionary—decide <strong>to</strong> merge, which of the<br />

two dictionaries do they keep? Or do they make a third <strong>to</strong> map between them?<br />

Likewise, if two such organizations want <strong>to</strong> collaborate on a joint venture they will have <strong>to</strong><br />

harmonize their dictionaries. Today, there is no practical alternative <strong>to</strong> each organization maintaining<br />

its own dictionary—duplicating the efforts of all of its peers. It would be nice if there<br />

were a way for everyone <strong>to</strong> combine efforts so that all organizations use the same dictionary,<br />

at least for nonproprietary information. As it turns out, this is exactly what <strong>ISO</strong> <strong>15926</strong> offers<br />

with its specification for a reference data library (RDL). The following is a high-level view of<br />

how it will work.<br />

Public Extensible Dictionary<br />

Figure 1.12 shows the same engineering application and construction application where somebody<br />

decides that they need <strong>to</strong> include a new attribute, Widget Color, in the line list.<br />

(Widget Color may have been in the engineering application all along, or it could have<br />

been added <strong>to</strong> support a particular project for which Widget Color was important.) Note<br />

that the developer of the engineering application has decided <strong>to</strong> use the attribute name<br />

wcolor <strong>to</strong> describe the color of the widgets, whereas the developer of the construction<br />

application wants <strong>to</strong> use the attribute name color. This is okay because they both intend <strong>to</strong><br />

use a database map for the information exchange and therefore do not need <strong>to</strong> use the same<br />

attribute name.<br />

CHAPTER 1<br />

27


Map <strong>to</strong> Common Dictionary<br />

Map from Common Dictionary<br />

Engineering Application<br />

Line Table<br />

tag_no dia len temp press ifc wcolor<br />

tag_no dia len temp press ifc wcolor<br />

szTag dDia dLen dTemp dPress dateIFC oColor1<br />

szTag dDia dLen dTemp dPress dateIFC oColor1<br />

id dia cl temp press ifc color<br />

id dia cl temp press ifc color<br />

Line Table<br />

Construction Application<br />

New Definition<br />

New Definition<br />

Industry<br />

Reference<br />

Data<br />

Fig 1.12 Public extensible dictionary.<br />

What each developer does, independent of the other, is consult the public dictionary <strong>to</strong> see<br />

whether or not there is an attribute (or “class,” as it is properly known) that describes the<br />

color of widgets. In the previous example, there is such an attribute: ColorW. Each developer—again,<br />

independent of the other—creates their map. The engineering application maps<br />

wcolor <strong>to</strong> ColorW, and the construction application maps ColorW <strong>to</strong> color.<br />

Note that neither developer had any constraints on what they named the attribute internally,<br />

nor had <strong>to</strong> consult the other <strong>to</strong> configure their own half of the database map. Indeed, the two<br />

developers could have been on different continents—each speaking a different language.<br />

Thus, we are now back <strong>to</strong> the first benefit of <strong>ISO</strong> <strong>15926</strong>; that it has a publicly available data<br />

dictionary. 7 The simple fact that the data dictionary exists means that an organization does<br />

not have <strong>to</strong> develop one of its own. The <strong>ISO</strong> <strong>15926</strong> dictionary can be used for any purpose<br />

without royalty payment.<br />

However, what if in the previous example the public dictionary did not have a term for the<br />

color of widgets? Even if the dictionary were 100-percent up <strong>to</strong> date when it was first published,<br />

new technology would undoubtedly require new terminology. So, another requirement<br />

for the <strong>ISO</strong> <strong>15926</strong> data dictionary is that it be able <strong>to</strong> handle change.<br />

To handle change, the developers of <strong>ISO</strong> <strong>15926</strong> envision a library that will allow anyone (perhaps<br />

with the requirement of a bit of training first) <strong>to</strong> add new terms. A pilot project, called<br />

the RDS/WIP (Reference Data Service/Work in Progress), is in operation—sufficient <strong>to</strong> handle<br />

research needs. One of the current development efforts of <strong>ISO</strong> <strong>15926</strong> is <strong>to</strong> create an industrialscale<br />

reference data library.<br />

With a fully functioning, publically available RDS we will enable organic growth. Each organi-<br />

7. Truth in advertising: <strong>ISO</strong> <strong>15926</strong> does not intend <strong>to</strong> have a complete data dictionary for all of “life, the<br />

universe, and everything.” It contains an “initial” dictionary and specifies how <strong>to</strong> extend it.<br />

CHAPTER 1<br />

28


zation will use it <strong>to</strong> further their own private interests, but the result will be an expanded RDS<br />

for everyone <strong>to</strong> use.<br />

<strong>An</strong> Example Project<br />

Everyone can see the value of having all participants in a project able <strong>to</strong> exchange information<br />

with one another directly from database <strong>to</strong> database. On a typical fast-tracked project,<br />

however, there is no time for participants <strong>to</strong> map their software applications <strong>to</strong> each other’s<br />

databases once the project starts. On the other hand, there is no incentive <strong>to</strong> do so before<br />

contracts are awarded either.<br />

About the only situation in which the partners in a data exchange are known well enough<br />

ahead of time, and in which the volume of information justifies a cus<strong>to</strong>m data mapping project,<br />

is between an EPC contrac<strong>to</strong>r designing a capital asset and the owner. Some owners realize<br />

that the handover of asset information is a bottleneck <strong>to</strong> efficient startup and are increasingly<br />

specifying information standards and transfer pro<strong>to</strong>cols in advance as a condition of<br />

contract award. But one only needs <strong>to</strong> look at recent examples of this type of thing <strong>to</strong> verify<br />

that such an exercise is expensive and time consuming.<br />

However, if all participants in plant design, construction, and operation map their databases<br />

and configure their software <strong>to</strong> comply with an industry standard the time constraint is removed.<br />

They no longer have <strong>to</strong> design and implement database mapping within the window<br />

of opportunity of one project.<br />

• Vendors are able <strong>to</strong> bid on more projects.<br />

• EPC contrac<strong>to</strong>rs are able <strong>to</strong> entertain more bidders.<br />

• Owners can mandate more stringent standards for information turnover without limiting<br />

the field of participants.<br />

Many Project Participants<br />

All project participants benefit from mapping their software applications <strong>to</strong> be able <strong>to</strong> talk <strong>to</strong><br />

one another. However, the sheer number of pairs of participants makes doing so prohibitive.<br />

The owner has it the worst because one way or another it will have <strong>to</strong> pay for all mapping<br />

exercises on its project. Even if all information an owner receives is funneled through one EPC,<br />

all participants will embed the costs of database mapping in their prices.<br />

Figure 1.13 is a diagram showing what might be a moderately large project. There are two engineers,<br />

three construction contrac<strong>to</strong>rs, and one owner. The owner has two preferred suppliers<br />

it wants everyone <strong>to</strong> deal with. There are five suppliers between the two engineers, and five<br />

suppliers between the three construction contrac<strong>to</strong>rs.<br />

CHAPTER 1<br />

29


V<br />

02<br />

45<br />

V<br />

03<br />

44<br />

V<br />

04<br />

V<br />

05<br />

43<br />

V<br />

01<br />

27<br />

28<br />

26<br />

12<br />

11<br />

25<br />

24<br />

10<br />

8<br />

9<br />

EPC 2<br />

13<br />

EPC 1<br />

19<br />

20<br />

22 14 21 33<br />

2<br />

15<br />

23<br />

17<br />

1<br />

V<br />

10<br />

18<br />

16<br />

3<br />

V<br />

11<br />

4<br />

Owner<br />

38<br />

37<br />

42<br />

32<br />

41<br />

6<br />

7<br />

5<br />

Const<br />

1<br />

Const<br />

2<br />

Const<br />

3<br />

29<br />

34<br />

35<br />

36<br />

39<br />

40<br />

30<br />

31<br />

V<br />

20<br />

V<br />

21<br />

V<br />

22<br />

V<br />

30<br />

V<br />

31<br />

Fig 1.13 One owner, two engineers, and three construc<strong>to</strong>rs.<br />

Overall, there are 18 players with 45 different connections between them. Remember that<br />

each colored line in Figure 1.13 represents a separate mapping project involving hundreds or,<br />

in the case of the EPC contrac<strong>to</strong>r-<strong>to</strong>-owner transfer, thousands of data-point maps. Of course,<br />

no one would ever do this.<br />

Even if the owner were willing <strong>to</strong> pay for all cus<strong>to</strong>m database maps (either explicitly or built<br />

in<strong>to</strong> the prices), the speed with which the maps would have <strong>to</strong> be created would be prohibitive.<br />

Once an owner signs an agreement <strong>to</strong> begin detailed engineering, there is no time <strong>to</strong><br />

spare. The requirement that all bidders agree <strong>to</strong> a database mapping exercise before submitting<br />

bids delays a project significantly.<br />

Wouldn’t it be nice if the whole world would agree on a common manner of describing plant<br />

objects and a common set of definitions? Then we could just tell each other “Have your<br />

machine talk <strong>to</strong> my machine.” If all participants map their databases <strong>to</strong> a common standard,<br />

everyone only has <strong>to</strong> map their applications once—ever.<br />

We Need a Babel Fish<br />

To reuse a metaphor, we need a Babel fish (Figure 1.14) <strong>to</strong> translate information from one company<br />

<strong>to</strong> another. Fortunately, <strong>ISO</strong> <strong>15926</strong> acts very much like a Babel fish.<br />

• Each company creates its own <strong>ISO</strong> <strong>15926</strong> interface and makes it available <strong>to</strong> its business<br />

partners.<br />

• Each company maps its own database (or at any rate, those portions of its database it<br />

wishes <strong>to</strong> publish <strong>to</strong> the project participants) <strong>to</strong> the <strong>ISO</strong> <strong>15926</strong> standard, and opens it <strong>to</strong> its<br />

partners.<br />

• Each company creates an application that can access the interfaces of its business partners.<br />

CHAPTER 1<br />

30


EPC 1<br />

F F<br />

Const<br />

3<br />

Fig 1.14 Everyone needs a Babel fish.<br />

After that, the only question you have <strong>to</strong> ask of a supplier (or engineer, or construction contrac<strong>to</strong>r)<br />

is “What is the URL of your interface?” Figure 1.15 shows how project data exchanges<br />

might be configured using <strong>ISO</strong> <strong>15926</strong>. The small yellow circles are <strong>ISO</strong> <strong>15926</strong> interfaces that<br />

can range from e-mailing a neutral file <strong>to</strong> a specially programmed interface on the Internet,<br />

which we will talk about in Chapter 3.<br />

The individual data exchanges have been replaced by an “<strong>ISO</strong> <strong>15926</strong> cloud” <strong>to</strong> show that<br />

within the cloud information can go anywhere. We have added two new entities, called “data<br />

brokers,” which project participants can hire <strong>to</strong> perform <strong>ISO</strong> <strong>15926</strong> data exchange—in much<br />

the same way some organizations <strong>to</strong>day hire an outside organization <strong>to</strong> manage their Internet<br />

web pages.<br />

V<br />

02<br />

V<br />

03<br />

V<br />

05<br />

V<br />

04<br />

Data<br />

Broker<br />

1<br />

V<br />

01<br />

EPC 1<br />

EPC 2<br />

V<br />

10<br />

<strong>ISO</strong> <strong>15926</strong><br />

V<br />

11<br />

Owner<br />

How <strong>ISO</strong> <strong>15926</strong> Makes Life Easier in the Near Term<br />

Const<br />

1<br />

Const<br />

3<br />

Const<br />

2<br />

Data<br />

Broker<br />

2<br />

V<br />

22<br />

V<br />

30<br />

V<br />

31<br />

V<br />

20<br />

V<br />

21<br />

Fig 1.15 The same project using <strong>ISO</strong> <strong>15926</strong> interfaces.<br />

<strong>ISO</strong> <strong>15926</strong> standardizes the representation of project information across organizational<br />

boundaries. This means that information can move faster and more reliably with fewer transcription<br />

errors. Organizations are able <strong>to</strong> keep their proprietary systems while exchanging information<br />

with business partners in a manner their business partners can understand. Because<br />

CHAPTER 1<br />

31


information has a standard representation, some exchanges can be au<strong>to</strong>mated. The following<br />

examples show how <strong>ISO</strong> <strong>15926</strong> works in realistic project situations.<br />

Project Design<br />

To mitigate the time delay between receiving project documents from an EPC contrac<strong>to</strong>r and<br />

getting the relevant information entered in<strong>to</strong> its document control systems and operations<br />

and its maintenance systems, an owner may wish <strong>to</strong> specify in advance the precise nature of<br />

the data handover. Unless the EPC contrac<strong>to</strong>r has worked for the owner previously, there will<br />

be a delay while the EPC configures its engineering systems <strong>to</strong> comply with data handover<br />

requests—and the costs of doing so will be borne by the owner either explicitly or embedded<br />

in<strong>to</strong> the fees.<br />

When <strong>ISO</strong> <strong>15926</strong> is mature, this will all change. As soon as the owner determines that the EPC<br />

contrac<strong>to</strong>r can hand over the project data following the <strong>ISO</strong> <strong>15926</strong> pro<strong>to</strong>cols, no one will have<br />

<strong>to</strong> give data handover any more thought. Project participants will be able <strong>to</strong> simply get on<br />

with design. In addition <strong>to</strong> not having <strong>to</strong> spend time negotiating handover up front, any information<br />

exchanges during the project design (Figure 1.16)—such as between EPC contrac<strong>to</strong>rs<br />

and vendors, between the EPC contrac<strong>to</strong>rs themselves, and <strong>to</strong> the owner—will be easier.<br />

Procurement<br />

EPC 1<br />

EPC 2<br />

V<br />

10<br />

<strong>ISO</strong> <strong>15926</strong><br />

V<br />

11<br />

Owner<br />

Fig 1.16 Information exchanges during design.<br />

On a large capital project, an equipment supplier bidding on the project will receive a great<br />

deal of information with the initial inquiry—which can consist of many books of specifications<br />

and many partially filled-in data sheets. All bidders will have <strong>to</strong> read everything carefully and<br />

make enough enquiries <strong>to</strong> verify that all parties agree on the terminology. The successful bid-<br />

CHAPTER 1<br />

32


der will have <strong>to</strong> fill in the remaining parts of the data sheets and return them along with many<br />

books full of installation and maintenance instructions. <strong>ISO</strong> <strong>15926</strong> makes procurement (Figure<br />

1.17) more efficient in two ways.<br />

• Because <strong>ISO</strong> <strong>15926</strong> standardizes the description of plant objects, data sheets are more reliable—which<br />

means that there is much less need <strong>to</strong> verify terminology.<br />

• There is a potential for au<strong>to</strong>mating repetitive tasks because the meaning of equipment attributes<br />

is accurately conveyed with the attributes themselves.<br />

V<br />

02<br />

V<br />

03<br />

V<br />

05<br />

V<br />

04<br />

Data<br />

Broker<br />

1<br />

Construction<br />

V<br />

01<br />

EPC 1<br />

EPC 2<br />

V<br />

10<br />

<strong>ISO</strong> <strong>15926</strong><br />

V<br />

11<br />

Fig 1.17 Information exchanges during procurement.<br />

Construction contrac<strong>to</strong>rs are starting <strong>to</strong> use sophisticated construction planning systems that<br />

rival engineering systems in size and complexity. Currently, importing information from an engineering<br />

system is a potential bottleneck. With <strong>ISO</strong> <strong>15926</strong> (Figure 1.18), this is no longer an issue.<br />

• Construction planning can start earlier, and can be kept up <strong>to</strong> date more easily.<br />

• There is the potential <strong>to</strong> integrate construction planning with engineering.<br />

CHAPTER 1<br />

33


Handover<br />

EPC 1<br />

EPC 2<br />

<strong>ISO</strong> <strong>15926</strong><br />

Const<br />

1<br />

Const<br />

3<br />

Const<br />

2<br />

Data<br />

Broker<br />

2<br />

Fig 1.18 Information exchanges during construction.<br />

At the end of a large capital project, there might be many tens of thousands of documents<br />

for the EPC contrac<strong>to</strong>r <strong>to</strong> turn over <strong>to</strong> the owner (Figure 1.19). The EPC contrac<strong>to</strong>r in turn will<br />

have received many of these documents from a number of suppliers and subcontrac<strong>to</strong>rs, each<br />

in the form most convenient for the authoring organization. Usually, <strong>to</strong> be of any use <strong>to</strong> the<br />

owner every document has <strong>to</strong> be read by a real person, entered in<strong>to</strong> the owner’s document<br />

control system, and manually linked <strong>to</strong> the plant object in the owner’s facility operations and<br />

maintenance software. This can take many months and cost millions of dollars. Obviously,<br />

owners want <strong>to</strong> reduce the cost and have the information ready <strong>to</strong> use for startup.<br />

EPC 1<br />

EPC 2<br />

<strong>ISO</strong> <strong>15926</strong><br />

Owner<br />

Const<br />

1<br />

Const<br />

3<br />

Const<br />

2<br />

Fig 1.19 Information exchanges during handover.<br />

V<br />

22<br />

V<br />

30<br />

V<br />

31<br />

V<br />

20<br />

V<br />

21<br />

CHAPTER 1<br />

34


Some owners these days make turnover in a specific form a project requirement. This moves<br />

the effort <strong>to</strong> comply with specific requirements forward in time but does not make the job<br />

itself any easier. Using <strong>ISO</strong> <strong>15926</strong>, the information can be rendered in a standard form—eliminating<br />

most of the issues we have <strong>to</strong>day.<br />

• Information exchange is easier because the exchange format is built in<strong>to</strong> the computer<br />

systems of all parties.<br />

• Handover information is cross-referenced directly against assets, eliminating most of the<br />

manual work of relating information <strong>to</strong> specific plant objects.<br />

• The time a project is most vulnerable is during commissioning. Because the data is in a<br />

standard form, it is much more easily made available for startup.<br />

Plant Operations and Maintenance<br />

When information is turned over <strong>to</strong> the owner already indexed <strong>to</strong> the relevant equipment, it is<br />

easier for maintenance personnel <strong>to</strong> locate. When information is easier <strong>to</strong> locate, it is easier <strong>to</strong><br />

keep it up <strong>to</strong> date during plant modifications (Figure 1.20).<br />

• Hands-on maintenance time is maximized because less time has <strong>to</strong> be spent finding information.<br />

• Worker safety is improved because it is easier <strong>to</strong> make sure critical information, such as<br />

equipment hazards and hazardous substances, is in the proper place.<br />

• It is easier <strong>to</strong> manage information over time as computer hardware and software changes.<br />

Currently, documents in an old system may be very difficult <strong>to</strong> find and use. With <strong>ISO</strong><br />

<strong>15926</strong>, however, all information can be s<strong>to</strong>red in a standard form so that loading information<br />

in<strong>to</strong> a new system is much easier.<br />

CHAPTER 1<br />

35


V<br />

02<br />

V<br />

03<br />

V<br />

05<br />

V<br />

04<br />

Data<br />

Broker<br />

1<br />

V<br />

01<br />

EPC 1<br />

EPC 2<br />

V<br />

10<br />

<strong>ISO</strong> <strong>15926</strong><br />

V<br />

11<br />

Owner<br />

Const<br />

1<br />

Const<br />

3<br />

Const<br />

2<br />

Data<br />

Broker<br />

2<br />

Fig 1.20 Information exchanges during operations and maintenance.<br />

How <strong>ISO</strong> <strong>15926</strong> Makes Life Easier in the Long Term<br />

The preceding examples highlight existing information exchanges and show how they are<br />

made easier using <strong>ISO</strong> <strong>15926</strong>. In the three examples following, we are speculating based on<br />

what will be possible when <strong>ISO</strong> <strong>15926</strong> becomes widely adopted.<br />

Using Specialized Designs<br />

Figure 1.21 shows a project previously designed by one of the EPC contrac<strong>to</strong>rs, as well as a<br />

specialist the EPC contrac<strong>to</strong>r works with. <strong>ISO</strong> <strong>15926</strong> will make it much easier <strong>to</strong> reuse previous<br />

work and <strong>to</strong> integrate the work of specialists. Currently, we try <strong>to</strong> do the smart thing and reuse<br />

work we have previously done. But there are practical barriers that often get in our way. For<br />

instance, a design may have been done with a different engineering design system or perhaps<br />

with an older version of a design system than that currently used. We salvage as much as possible,<br />

but often large parts must be redone.<br />

V<br />

22<br />

V<br />

30<br />

V<br />

31<br />

V<br />

20<br />

V<br />

21<br />

CHAPTER 1<br />

36


Previous project information<br />

s<strong>to</strong>red as <strong>ISO</strong> <strong>15926</strong><br />

EPC 2<br />

<strong>ISO</strong> <strong>15926</strong><br />

Specialist<br />

Communication <strong>to</strong><br />

Specialist supplier using<br />

<strong>ISO</strong> <strong>15926</strong><br />

Fig 1.21 Integration of information with an engineering subcontrac<strong>to</strong>r.<br />

In addition, it will be easier <strong>to</strong> integrate information from the designers of major systems. On a<br />

large capital project, it is typical that the design of major systems be given entirely <strong>to</strong> organizations<br />

that specialize in those systems. For instance, after an EPC contrac<strong>to</strong>r determines the<br />

performance characteristics of a power boiler the design and fabrication are typically given <strong>to</strong><br />

a company that specializes in power boilers.<br />

The power boiler may have a great many instruments and other devices that have <strong>to</strong> be integrated<br />

in<strong>to</strong> the owner’s plant maintenance and operating systems. Currently, the best way <strong>to</strong><br />

handle this is similar <strong>to</strong> the overall data handover issue we have just discussed. Basically, either<br />

the EPC contrac<strong>to</strong>r or the eventual owner will have <strong>to</strong> receive all of the documentation about<br />

the equipment and manually enter it. As with other information exchanges, use of <strong>ISO</strong> <strong>15926</strong><br />

will make these situations much easier <strong>to</strong> deal with.<br />

• Designs from an older project will be more easily reused on a new project.<br />

• Designs from joint venture partners will be more easily integrated.<br />

• Design from a specialized designer will be more easily used on all projects that use that<br />

particular design.<br />

• Licensed process design will be sold more easily <strong>to</strong> EPC contrac<strong>to</strong>rs.<br />

Application Development<br />

When software is developed (Figure 1.22), the developer must deal with the manner in which<br />

information is <strong>to</strong> be acquired (data in), how it is <strong>to</strong> be s<strong>to</strong>red, and how it is <strong>to</strong> be published<br />

(data out). <strong>ISO</strong> <strong>15926</strong> will make all of these issues much easier <strong>to</strong> deal with.<br />

CHAPTER 1<br />

37


• <strong>ISO</strong> <strong>15926</strong> is a single standard <strong>to</strong> support. The questions of how input is received and how<br />

output is <strong>to</strong> be made disappear.<br />

• <strong>ISO</strong> <strong>15926</strong> already exists. A new data model for data s<strong>to</strong>rage does not have <strong>to</strong> be developed<br />

from scratch.<br />

Software<br />

Developer<br />

Integration of RFID information<br />

<strong>ISO</strong> <strong>15926</strong><br />

Fig 1.22 Information exchanges for software development.<br />

RFID technology is getting less expensive over time and is showing up in new applications every<br />

day. It is easy <strong>to</strong> imagine a future in which almost all objects have an RFID tag. It is a small<br />

leap <strong>to</strong> imagine a manufacturer imbedding an “<strong>ISO</strong> <strong>15926</strong> identifier” in the tag that will au<strong>to</strong>matically<br />

link <strong>to</strong> all of the information about the component that had been publicized with <strong>ISO</strong><br />

<strong>15926</strong> pro<strong>to</strong>cols. This could include:<br />

• Material certificates and other information from the manufacturer<br />

• Inspection certificates<br />

• The purchasing information from the vendor that supplied it<br />

• The construction planning information from the construc<strong>to</strong>r that installed it<br />

• A sound recording of the pump made during commissioning<br />

• The specifications from the engineer that specified it<br />

• Warehouse information for spare parts along with the GPS location of them<br />

• Links <strong>to</strong> operations and maintenance data<br />

This is different from reading a product serial number from a nameplate and then manually<br />

searching on the manufacturer’s web site for product information. The <strong>ISO</strong> <strong>15926</strong> identifier will<br />

link directly <strong>to</strong> the product information without the user having <strong>to</strong> know the manufacturer’s<br />

name or be able <strong>to</strong> read a nameplate. This represents true integration of RFID information<br />

(Figure 1.23).<br />

CHAPTER 1<br />

38


V<br />

03<br />

EPC 1<br />

<strong>ISO</strong> <strong>15926</strong><br />

Owner<br />

Const<br />

2<br />

Fig 1.23 Integration of RFID information.<br />

CHAPTER 1<br />

39


CHAPTER 2:<br />

HISTORY OF <strong>ISO</strong> <strong>15926</strong><br />

The ability <strong>to</strong> exchange digital information between computer programs probably became<br />

an issue as soon as the second computer program was written. Software developers create<br />

their applications independently and make individual pragmatic decisions on how <strong>to</strong> represent<br />

data. As a result, users of the software can typically only open a data file by using the authoring<br />

application—not a competi<strong>to</strong>r’s application. In early computing, information exchange<br />

between computer programs could only be done the hard way: by reading the output of one<br />

application and manually rekeying the appropriate parts in<strong>to</strong> another.<br />

Over time, as software vendors responded <strong>to</strong> user’s needs, we have come <strong>to</strong> expect <strong>to</strong> be able<br />

<strong>to</strong> move information from one system <strong>to</strong> another without having <strong>to</strong> completely rekey it. But<br />

we still need <strong>to</strong> know a great deal about the computer systems and work processes involved if<br />

we want the meaning, or semantics, of our information <strong>to</strong> be preserved throughout the exchange.<br />

Today, at the beginning of the second decade of the twenty-first century we are on the verge<br />

of making the vision of open exchange of project information a reality. Although there have<br />

been many business drivers pushing this, it has only become possible via the hard work of<br />

many people and the convergence of the following four areas of study.<br />

• How we use the Internet <strong>to</strong> find information.<br />

• How we know and understand things.<br />

• Open means of s<strong>to</strong>ring and exchanging data.<br />

• The evolution of product information standards.<br />

Figure 2.1 shows how these areas of study relate <strong>to</strong> <strong>ISO</strong> <strong>15926</strong>.<br />

CHAPTER 2<br />

40


How we use the<br />

internet <strong>to</strong> find<br />

information<br />

The Semantic<br />

Web<br />

How we know and<br />

understand things<br />

On<strong>to</strong>logies<br />

On<strong>to</strong>logy<br />

Languages<br />

<strong>ISO</strong> <strong>15926</strong><br />

Open ways <strong>to</strong> s<strong>to</strong>re<br />

and exchange data<br />

Markup<br />

Languages<br />

How We Use the Internet <strong>to</strong> Find Information<br />

Evolution of<br />

product<br />

information<br />

standards<br />

Plant<br />

Information<br />

Exchange<br />

Fig. 2.1 <strong>ISO</strong> <strong>15926</strong> enablers.<br />

The amount of information available on the Internet is truly staggering. Unfortunately, the<br />

unstructured format and lack of validation of the majority of this information makes it difficult<br />

<strong>to</strong> use with confidence. Worse, much of what is potentially useful is s<strong>to</strong>red in unpredictable<br />

forms and in unpredictable locations. Therefore, because the information is not presented in a<br />

uniform manner understanding whether a given piece of information is worthwhile or not usually<br />

requires a human being <strong>to</strong> sift through it page by page.<br />

This is not what Tim Berners-Lee had in mind when he invented the World Wide Web in 1990.<br />

He envisioned much more than what we use <strong>to</strong>day, which he has called version 1.0. He envisioned<br />

a web environment in which people could ask their personal digital assistants questions<br />

such as “Is there a medical doc<strong>to</strong>r near here who specializes in geriatrics and has an<br />

open appointment before this coming Friday noon?”—and then go for coffee while the assistant<br />

locates a doc<strong>to</strong>r and makes an appointment. He called this the Semantic Web.<br />

Currently, the World Wide Web is built <strong>to</strong> link documents primarily for human consumption.<br />

Computers can process web pages for layout and visual format, but they have no way <strong>to</strong> process<br />

the semantics—<strong>to</strong> know what the pages mean. Thus, if you wanted <strong>to</strong> find a doc<strong>to</strong>r in the<br />

pervious example you might be able <strong>to</strong> use the World Wide Web <strong>to</strong> get a list of doc<strong>to</strong>rs, their<br />

specialties, and maps with which <strong>to</strong> judge the distance, but you would still have <strong>to</strong> call each<br />

CHAPTER 2<br />

41


doc<strong>to</strong>r’s office individually <strong>to</strong> find out if he or she is taking new patients and if there is a suitable<br />

open appointment. Using existing sources of information, you might get lucky and get an<br />

appointment with the first call, but it could easily take much longer.<br />

The Semantic Web is all about describing things in a manner that computers can understand,<br />

so that you can ask questions like the one in this example and let a digital assistant do the<br />

leg work. Using Semantic Web technology, data can be shared and reused across application,<br />

enterprise, and community boundaries.<br />

<strong>ISO</strong> <strong>15926</strong> has borrowed two technologies from the Semantic Web, OWL (Web On<strong>to</strong>logy<br />

Language) and RDF (Resource Description Framework). OWL is a language for creating on<strong>to</strong>logies,<br />

a concept we will discuss next. RDF is a way of s<strong>to</strong>ring information in declarations of<br />

truth using specific vocabularies, or on<strong>to</strong>logies, in a manner that makes the meaning machine<br />

readable.<br />

How We Know and Understand Things<br />

When we go beyond cus<strong>to</strong>m-built methods of exchanging information between two particular<br />

computer applications—when we try <strong>to</strong> design a way for any two computer applications <strong>to</strong><br />

exchange information without having <strong>to</strong> know anything at all about each other—we confront<br />

the question of how we represent knowledge. This is not just sophistry. When two people are<br />

having a conversation, they will naturally ask questions if they do not understand something<br />

or if they receive an unexpected response.<br />

But when software applications exchange information there is no opportunity <strong>to</strong> ask questions.<br />

The developers of these applications will make certain assumptions about the world,<br />

and therefore key terminology in the applications may differ. The solution is <strong>to</strong> embed the<br />

necessary context (that is, the understanding that humans bring) in<strong>to</strong> the data being exchanged.<br />

For this, we need <strong>to</strong> understand how we know things. The study of how we know<br />

things in philosophy and mathematics is called on<strong>to</strong>logy. We do not need an in-depth understanding<br />

of what on<strong>to</strong>logy is in order <strong>to</strong> understand <strong>ISO</strong> <strong>15926</strong>, but a brief, personal, example<br />

will be helpful.<br />

I, your humble author, ride a bicycle <strong>to</strong> work most days. (Among other things, it lets me indulge<br />

in the luxury of eating the fine Ukrainian food my wife cooks for me!) The distance <strong>to</strong><br />

work makes a nice workout but is beyond walking if the bicycle were <strong>to</strong> break down. Therefore,<br />

I have developed what you might call an On<strong>to</strong>logy of Things That Will Carry a Bicycle.<br />

Now, in Western Canada—which <strong>to</strong> most Europeans is but a few years out of the horse age—<br />

the pickup truck is king. In Western Canada, all “real men” have pickups. As you can see from<br />

Figure 2.2, there is ample room in a pickup truck <strong>to</strong> carry a bicycle. So, it is not difficult <strong>to</strong><br />

imagine that if my bicycle broke down on the way <strong>to</strong> work, I would try <strong>to</strong> think of everyone<br />

who owned a pickup truck that might have driven it <strong>to</strong> work that day.<br />

Fig. 2.2 Pickup truck.<br />

CHAPTER 2<br />

42


Suppose one such friend is Bill, who owes me a big favor. But when I talk <strong>to</strong> Bill he tells me he<br />

can’t help me. He tells me he is going camping that weekend, and <strong>to</strong> make a fast getaway he<br />

has already loaded his camper. How do I know this will be a problem? It is because I know that<br />

when you load a camper on<strong>to</strong> a pickup truck there is no room for a bicycle, as you can see in<br />

Figure 2.3. 1<br />

Fig. 2.3 Pickup truck with a camper loaded.<br />

But hold on! My father used <strong>to</strong> own a camper for his own pickup truck (he being a “real man”<br />

and all), and I have been inside it many times. On most campers there is a door at the back,<br />

and just inside the door is enough space for a bicycle. Alas, Bill tells me, he has already filled<br />

the available space with his other camping gear—leaving no room.<br />

So, with that conversation I start planning how <strong>to</strong> get home on public transit. Being a “real<br />

man” myself, I own a pickup truck and will have <strong>to</strong> drive it back <strong>to</strong> work <strong>to</strong> pick up my bicycle.<br />

But by coincidence a new engineer, who just emigrated from the Czech Republic, walks by<br />

and overhears my dilemma. He tells me that when he moved <strong>to</strong> Canada he brought with him<br />

his Felicia Fun. I can’t imagine what a Felicia Fun is, but judging by the expectant smile on his<br />

face I suspect it might be relevant so I ask him about it. Being new <strong>to</strong> Canada, he does not<br />

know how <strong>to</strong> describe it so he says it is like the F150 his friend has—but a bit smaller. Hooray!<br />

The Czech Republic has “real men” <strong>to</strong>o! I immediately accept his kind offer <strong>to</strong> drive me and<br />

my bicycle home after work. (Oh, and I owe him a really big favor. Perhaps I will invite him in<br />

for Ukrainian food!)<br />

How did I know that a Felicia Fun would carry my bicycle without ever having heard of it before?<br />

It is because of my On<strong>to</strong>logy of Things That Will Carry a Bicycle. In this on<strong>to</strong>logy is the<br />

general class “pickup truck,” and one instance of the class “pickup truck” is the F150—which is<br />

very common in North America. When my Czech friend said that his Felicia Fun is just like an<br />

F150 but a bit smaller he was essentially adding another instance of the class “pickup truck”<br />

<strong>to</strong> my on<strong>to</strong>logy—and because I knew that all pickup trucks can carry a bicycle I instantly drew<br />

the inference that a Felicia Fun can also do so. Figure 2.4 shows the relationship of things in<br />

my on<strong>to</strong>logy.<br />

1. For readers outside North America, a “camper” is like a holiday trailer without wheels. Instead of<br />

being <strong>to</strong>wed behind a vehicle, it is loaded on<strong>to</strong> the back of a pickup truck.<br />

CHAPTER 2<br />

43


On<strong>to</strong>logy of<br />

Things That<br />

Will Carry a<br />

Bicycle<br />

Pickup Truck<br />

Pickup Truck with a<br />

Camper that is not full<br />

of stuff<br />

F150<br />

Felicia Fun<br />

Fig. 2.4 On<strong>to</strong>logy of things that will carry a bicycle.<br />

Similarly, when we use a machine-readable on<strong>to</strong>logy <strong>to</strong> organize and s<strong>to</strong>re information we<br />

make it possible for machines <strong>to</strong> make inferences. If two applications use the same on<strong>to</strong>logy<br />

<strong>to</strong> s<strong>to</strong>re information it will be much easier for them <strong>to</strong> exchange information, and <strong>to</strong> preserve<br />

the meaning of the information during the exchange.<br />

There has been a great deal of study on the subject of on<strong>to</strong>logies in an effort <strong>to</strong> implement<br />

the vision of the Semantic Web. A number of <strong>to</strong>ols have been developed <strong>to</strong> make it easier <strong>to</strong><br />

create and share on<strong>to</strong>logies. One of the more important of these is OWL, which is being incorporated<br />

in<strong>to</strong> Part 8 of <strong>ISO</strong> <strong>15926</strong>.<br />

Open Ways <strong>to</strong> S<strong>to</strong>re and Exchange Data<br />

For machines <strong>to</strong> be able <strong>to</strong> understand what data means, we need <strong>to</strong> see how <strong>to</strong> s<strong>to</strong>re data in<br />

a way that retains its meaning without being dependent on proprietary software or short-lived<br />

hardware. Since the invention of writing at about 3000 B.C., people have used all manner of<br />

what we now call hard copy <strong>to</strong> record information. The Library of Alexandria, which burned<br />

down in 48 B.C., according <strong>to</strong> one account, 2 is an example of the best technology for managing<br />

information in hard-copy form and of a major limitation of doing so. With the advent of<br />

computer-managed s<strong>to</strong>rage in the mid twentieth century, information managers have had <strong>to</strong><br />

grapple with two problems.<br />

• Survival of information beyond the lifetime of proprietary hardware and software<br />

• Moving a large amount of information between proprietary systems<br />

A typical example of these types of questions is a help desk inquiry from the<br />

mid 1980s.<br />

2 Look up “Library of Alexandra” in Wikipedia.<br />

CHAPTER 2<br />

44


“I have data I want <strong>to</strong> keep for decades. Should I invest in a good card reader<br />

or should I transfer my data <strong>to</strong> these far more efficient but newfangled floppy<br />

disks?”<br />

Unfortunately, the best answer <strong>to</strong> this type of question has always been rather labor intensive.<br />

That is, the only reliable way <strong>to</strong> keep digital information for decades is <strong>to</strong> upgrade our s<strong>to</strong>rage<br />

media every few years <strong>to</strong> whatever is the latest and greatest at the time. For personal use,<br />

in the 1980s it would have been 5-1/2-inch floppy disks. By the 1990s, we would have had <strong>to</strong><br />

copy our archive <strong>to</strong> 3-1/2-inch floppies. Then, sometime around 2000 transfer them again <strong>to</strong><br />

CDs—and a bit later <strong>to</strong> DVDs, and more recently <strong>to</strong> BDs.<br />

Now, at the beginning of the second decade in the twenty-first century, flash drives are looking<br />

like they will be readable for quite awhile. But for how long will our personal computers<br />

have USB ports? At some point we will still have <strong>to</strong> load up our thumb drives and copy the<br />

data <strong>to</strong> some new media; perhaps a 3D holographic memory block.<br />

Unfortunately, even if we go through the exercise of transferring our archive every few years<br />

how are we going <strong>to</strong> open the files 25 years from now? In the lifetime of the author (who is so<br />

old he can remember when an entire family had <strong>to</strong> make do with a single telephone), the word<br />

processor of choice has gone from WordStar, <strong>to</strong> Word Perfect, <strong>to</strong> Microsoft Word—which<br />

comes in two “flavors,”” one for PCs running Windows and one for Macin<strong>to</strong>sh computers.<br />

The nice thing about Windows is that it does not just crash; it displays a little<br />

dialog box and lets you press OK first.<br />

Q. How do you make a Macin<strong>to</strong>sh go faster?<br />

A. Drop it from a higher window!<br />

Working with Word 2002, now, as this is being written, we can open the following word processor<br />

file formats.<br />

• Word 2.0<br />

• Word 5.1 for Mac<br />

• Word 6.0 (95)<br />

• Word Perfect 5.0<br />

• Works 2000<br />

Where is my beloved WordStar? In addition <strong>to</strong> copies of all my data files, do I have <strong>to</strong> keep<br />

copies of all my old authoring software? <strong>An</strong>d even if I do, what will I run it on? Do I also have<br />

<strong>to</strong> keep a working model of each vintage of personal computer? What if they break down?<br />

So now, if I actually want <strong>to</strong> be able <strong>to</strong> retrieve my personal archives for decades (perhaps I<br />

am thinking that after I become a famous author a publisher will give me a million dollars <strong>to</strong><br />

write my memoirs) I will have <strong>to</strong> open each of my archived files every couple of years and<br />

somehow transfer the content <strong>to</strong> whatever the new authoring software is. This will remove<br />

the problem of having <strong>to</strong> keep old hardware and software around, but will introduce two new<br />

problems.<br />

First, this solution will create an upper limit on how much information I can keep around. Be-<br />

CHAPTER 2<br />

45


cause it will take a certain amount of time <strong>to</strong> upgrade my archive each cycle, I will have less<br />

and less time each round <strong>to</strong> create new information. Eventually, I will just finish one upgrade<br />

when I will have <strong>to</strong> start over with new technology.<br />

Second, who’s <strong>to</strong> say there will always be a clear and easy upgrade path from one authoring<br />

software <strong>to</strong> the next? For example, what if I have a large number of files authored with obscure<br />

CAD software? What if none of the current set of dominant CAD developers wrote the<br />

appropriate conversions in<strong>to</strong> their offerings? Well, Figure 2.5 shows another option. 3<br />

Fig. 2.5 Long-term information s<strong>to</strong>rage using the Internet.<br />

If the problem of moving information between proprietary systems is daunting on a personal<br />

level, try <strong>to</strong> imagine what it is like for organizations that create large bodies of documentation.<br />

For instance, every model of commercial aircraft you see <strong>to</strong>day requires millions of pages of<br />

documentation that have <strong>to</strong> be revised and published on a regular basis. The combined documentation<br />

libraries of the aircraft industry are immense, yet every few years the dominant<br />

hardware and software changes.<br />

In the government and law we have a similar situation in that large bodies of text must be<br />

readable for decades. Because of this, the text must not be s<strong>to</strong>red in a proprietary format that<br />

may go out of fashion in a few years. This brings us <strong>to</strong> the <strong>to</strong>pic of markup languages and<br />

neutral files.<br />

Markup Languages<br />

The forebear of modern markup languages was developed in the late 1960s by a lawyer<br />

named Charles Goldfarb. He had just joined IBM <strong>to</strong> get some high tech experience and was<br />

assigned <strong>to</strong> a project <strong>to</strong> figure out how <strong>to</strong> merge case law research results <strong>to</strong>gether in<strong>to</strong> one<br />

document, compose it, and print it. At the time, there was no single system that would perform<br />

all three of these functions. Thus, when text was <strong>to</strong> be printed it had <strong>to</strong> be transferred<br />

from one proprietary system <strong>to</strong> another—all without loosing its fidelity, or meaning.<br />

With a team of two others, he developed what he called Generalized Markup Language (GML).<br />

GML was a set of macros that described the logical structure of the document, for instance,<br />

<strong>to</strong> declare some text <strong>to</strong> be a heading and other text <strong>to</strong> be a body paragraph. The use of GML<br />

3. This is taken from the online forum Slashdot.org<br />

CHAPTER 2<br />

46


markup tags freed document crea<strong>to</strong>rs from having <strong>to</strong> deal with the appearance of the documents<br />

so that they could concentrate on content.<br />

Since the development of GML, markup languages have become widely used in enabling computers<br />

<strong>to</strong> handle large bodies of text properly without human intervention. When encoded, or<br />

marked up with tags, the content of a body of text is separated from the format (appearance)<br />

of the text. This is an important concept in <strong>ISO</strong> <strong>15926</strong>, wherein the goal is <strong>to</strong> embed enough<br />

context in<strong>to</strong> the content that we do not need <strong>to</strong> see the format of the information <strong>to</strong> know<br />

what it means. So, for instance, we would not need <strong>to</strong> see an entire data sheet <strong>to</strong> know what a<br />

single data value means.<br />

Figure 2.6 shows the descendents of GML. GML is no longer used, but the other languages are.<br />

SGML (Standard Generalized Markup Language) is used for managing very large bodies of textual<br />

information. HTML (Hypertext Markup Language) is the language of the World Wide Web,<br />

which all web browsers can read. XML (Extensible Markup Language) has become a workhorse<br />

transport language for embedding meaning in<strong>to</strong> all manner of information exchange.<br />

GML<br />

SGML<br />

HTML XML<br />

Fig. 2.6 Development of XML.<br />

If you wish <strong>to</strong> continue in your studies of <strong>ISO</strong> <strong>15926</strong> beyond this introduction, an understanding<br />

of XML will be helpful. You will probably not write very much XML code yourself, but you<br />

will run in<strong>to</strong> quite a bit of it. It will be helpful <strong>to</strong> be able <strong>to</strong> recognize what you are looking at.<br />

There are a number of good learning resources on the Internet.<br />

Resource Description Framework (RDF) and Web On<strong>to</strong>logy Language (OWL) are two technologies<br />

developed for the Semantic Web that were adopted by the developers of <strong>ISO</strong> <strong>15926</strong>.<br />

Figure 2.7 shows their relationship <strong>to</strong> XML. Information in <strong>ISO</strong> <strong>15926</strong> is structured in an on<strong>to</strong>logy,<br />

starting with basic concepts all the way down <strong>to</strong> individual objects in a particular project.<br />

OWL and RDF are well suited <strong>to</strong> this type of structure. OWL and RDF are the basis of <strong>ISO</strong><br />

<strong>15926</strong> Parts 8 and 9, which we discuss in Chapter 3.<br />

CHAPTER 2<br />

47


XML<br />

RDF<br />

<strong>ISO</strong> 10303 Part 21 and EXPRESS<br />

Validated by<br />

Compares <strong>to</strong> Compares <strong>to</strong><br />

Validated by<br />

XML Schema<br />

OWL<br />

Fig. 2.7 XML, RDF, and OWL<br />

As you learn more about <strong>ISO</strong> <strong>15926</strong>, you may hear about “EXPRESS” and “Part 21 files” as a<br />

method of exchanging information. <strong>ISO</strong> 10303, a standard for information exchange, is the<br />

direct forebear of <strong>ISO</strong> <strong>15926</strong>—as we will discuss in the next section of this chapter. To manage<br />

the data models for the various parts of <strong>ISO</strong> 10303, the developers needed a standard modeling<br />

language <strong>to</strong> specify how the data models were <strong>to</strong> be created and used. They called their<br />

language EXPRESS and created <strong>ISO</strong> 10303-21, which standardizes the way <strong>to</strong> use EXPRESS<br />

for s<strong>to</strong>ring and exchanging product information.<br />

In recent years, EXPRESS has been replaced with OWL by some developers of <strong>ISO</strong> <strong>15926</strong>—but<br />

is still regarded as an efficient modeling format. Part 21 files are used for data exchange in<br />

airplane, au<strong>to</strong>mobile, and building manufacturing and construction.<br />

Evolution of Product Information Standards<br />

When we study the evolution of the exchange of product information, we can start pretty well<br />

at any arbitrary point in his<strong>to</strong>ry. We humans are nothing if not ingenious, always looking for<br />

ways of improving work processes.<br />

Laziness had been given a bad rap. Laziness is the reason we live indoors and<br />

eat three meals a day instead of living under a tree and chasing wild animals for<br />

our supper. Laziness gives us the incentive <strong>to</strong> invent things so we don’t have <strong>to</strong><br />

work as hard. What we should avoid is slothfulness. 4<br />

No matter how far back one looks <strong>to</strong> find an example of a product standard, there is always an<br />

earlier example. For instance, the National Institute of Science and Technology—in its publication<br />

STEP, The Grand Experience—starts before the Industrial Revolution with a description of<br />

what we would <strong>to</strong>day call a machinist, carefully measuring the pro<strong>to</strong>type of a part while making<br />

a duplicate. Then, at the beginning of the nineteenth century the idea of an engineering<br />

drawing was developed—which enabled workers <strong>to</strong> follow an objective standard, which in turn<br />

lead <strong>to</strong> the idea of interchangeable parts.<br />

The Wikipedia entry for computer numerical control (CNC) describes the first attempts <strong>to</strong><br />

4. The author’s English instruc<strong>to</strong>r at technical school in 1972.<br />

CHAPTER 2<br />

48


minimize the variability of parts by reducing a drawing of a part <strong>to</strong> a series of (x,y,z) <strong>to</strong>ol path<br />

movements and s<strong>to</strong>ring it on punched tape. The vision of <strong>ISO</strong> <strong>15926</strong> is that full life-cycle product<br />

information—which includes information about every object in a processing plant, manufacturing<br />

assembly line, airplane, ship, and highway interchange—can be s<strong>to</strong>red in a neutral<br />

form that any computer system can read and write <strong>to</strong>. We are close enough <strong>to</strong> achieving this<br />

vision that we can see it, but the progress <strong>to</strong>ward this goal has always been at the margins—<br />

with one development leading <strong>to</strong> the next.<br />

For our his<strong>to</strong>ry here, of the evolution of product information standards, we will start with the<br />

methods developed <strong>to</strong> exchange electronic drawings produced with computer-aided drafting<br />

(CAD) software. Shortly after the advent of CAD, a number of such standards sprang up<br />

around the world—and although we could use almost any of them as an example we will use<br />

the Initial Graphics Exchange Specification (IGES).<br />

From there, we will move <strong>to</strong> the Standard for the Exchange of Product Information (STEP)—<br />

which preserved the meaning of the drawing along with the graphical image. Finally, we will<br />

come <strong>to</strong> <strong>ISO</strong> <strong>15926</strong>—which uses a single generic data model instead of the many specific-purpose<br />

data models used in the STEP world (with the addition of the dimension of time). Along<br />

the way, we will introduce a number of organizations that have played key roles.<br />

The Initial Graphics Exchange Specification<br />

The first systems we would call CAD were written in the early 1960s in universities, with commercial<br />

systems appearing a few years later. The early commercial CAD systems were developed<br />

by large organizations, such as au<strong>to</strong>motive and aerospace companies <strong>to</strong> assist their engineers<br />

in complex calculations, and by computer manufacturers as <strong>to</strong>ols <strong>to</strong> increase hardware<br />

sales. By the 1970s, there were a number of competi<strong>to</strong>rs—all with proprietary file formats, with<br />

the resulting inability <strong>to</strong> share data across system boundaries.<br />

To take just the defense industry, at the time there were more than 3,500 third-party vendors<br />

in the U.S. Department of Defense (DoD) supply chain. Members of manufacturing supply<br />

chains each have unique requirements depending on their role, and the software they use<br />

differs accordingly. At that time, even within a single organization different manufacturing<br />

processes used different software that was not designed <strong>to</strong> communicate with the others. This<br />

meant that when drawings were sent along the supply chain information from them had <strong>to</strong> be<br />

reentered at every step.<br />

The frustration over closed systems came <strong>to</strong> a head during a meeting of the Society of Manufacturing<br />

Engineers in the fall of 1979. A large user of CAD software challenged the CAD vendors<br />

in attendance <strong>to</strong> develop a neutral exchange mechanism. From there, the his<strong>to</strong>rical accounts<br />

start <strong>to</strong> resemble the old folk tale of “s<strong>to</strong>ne soup.” At first, two vendors agreed <strong>to</strong> open<br />

certain portions of their database format—then two others. By the end of the conference, all<br />

of the players had agreed <strong>to</strong> contribute something—and what would eventually become the<br />

IGES was born. (<strong>An</strong>d it probably did not hurt that the U.S. Navy was about <strong>to</strong> award some<br />

large contracts and no one wanted <strong>to</strong> appear <strong>to</strong> be unresponsive.)<br />

Figure 2.8 shows the timeline of IGES. With the support of the National Bureau of Standards—<br />

now known as the National Institute of Science and Technology (NIST)—the DoD, and the user<br />

community, the first version of IGES was completed and published in 1980. Within a few years,<br />

IGES became the de fac<strong>to</strong> standard of information exchange within some segments of the<br />

manufacturing community.<br />

CHAPTER 2<br />

49


1980<br />

1990<br />

2000<br />

2010<br />

U.S.<br />

DoD<br />

CALS<br />

IGES 5.3<br />

<strong>ISO</strong><br />

TC184 SC4<br />

IGES<br />

Fig. 2.8 His<strong>to</strong>ry of IGES.<br />

In 1985, the DoD launched what is now the Continuous Acquisition and Life-cycle Support<br />

(CALS) 5 initiative <strong>to</strong> accelerate the use of digital information in the management of defense<br />

system technical data. IGES was one of the first standards it supported. By 1988, all manufacturing<br />

information for weapons systems for the DoD had <strong>to</strong> be turned over in electronic form<br />

in the IGES format. This meant that any vendor of engineering or manufacturing software that<br />

wanted <strong>to</strong> market its products anywhere along the military supply chain had <strong>to</strong> make sure its<br />

products could read and write <strong>to</strong> an IGES neutral file.<br />

With the use of IGES, it no longer mattered whether or not all the members of the DoD’s supply<br />

chain used the same software; as long as their software supported IGES, they could ex-<br />

5. The scope of CALS has changed over time and the meaning of the acronym has changed with it.<br />

In the beginning, it was Computer-Aided Logistic Support, then Computer Aided Acquisition and<br />

Logistic Support, and finally Continuous Acquisition and Life-Cycle Support <strong>to</strong> indicate that its scope<br />

was the entire life cycle of a product.<br />

CHAPTER 2<br />

50


change drawings with each other and with the DoD. This eliminated rekeying information from<br />

paper drawings, with the resulting reduction of human error. As well, if the drawings were<br />

s<strong>to</strong>red as IGES neutral files rather than in their native format they could be retrieved years<br />

later with different software.<br />

This is not <strong>to</strong> say that all users of IGES were enthusiastic supporters. Although there is genuine<br />

value in exchanging the graphical elements of a drawing in a way that does not depend on<br />

proprietary formats, in a manufacturing environment there is often more <strong>to</strong> a “drawing” than<br />

just the graphical elements. Interest and support from the manufacturing community shifted<br />

<strong>to</strong> what became known as STEP. The last official version of IGES is 5.3, published in 1996. <strong>An</strong><br />

update had been planned, version 6.0, but work s<strong>to</strong>pped within a couple of years. Nevertheless,<br />

IGES remained an American National Standard until late 2006—and many modern CAD<br />

systems still support it.<br />

Whereas the driver for IGES was the ability <strong>to</strong> exchange the graphical information about a<br />

product (i.e., the drawing), the driver for STEP was the ability <strong>to</strong> exchange the complete product<br />

model, unambiguously, independently of any computer system. A product model is the<br />

complete definition of a product, with all of its properties. For instance, if you were an engineer<br />

designing a machine part you would start with what the part was supposed <strong>to</strong> do; would<br />

make decisions on material, the production process (including whether or not <strong>to</strong> cast the part<br />

or machine it from s<strong>to</strong>ck), its surface finish and heat treating; and along the way would make<br />

a drawing showing the dimensional properties. If it were important <strong>to</strong> the part, you might also<br />

include packaging and shipping instructions. In short, the product model is all of the information<br />

about the product for its entire life cycle.<br />

By some reports, IGES did a reasonably good job of transferring images from drawings—but<br />

all other information was lost. For example, a circular object on a drawing was faithfully communicated<br />

by IGES as a circle—but thereafter, all it would ever be was just a circle. In the original<br />

CAD system, the object that appeared as a circle may in fact have been a through-hole, a<br />

blind hole, a spot face, or a simple circular mark on the face of a part.<br />

In the original system, the circular object may have in fact been able <strong>to</strong> drive production systems—such<br />

as a machine that would drill the hole (or whatever it was) in the physical part. But<br />

once the drawing of that part had been converted <strong>to</strong> the IGES format all of the knowledge of<br />

what the circular feature really represented was lost. [Of course, the drawing would still have<br />

the original notes describing the circular feature (text was transferred faithfully as well) but<br />

a human would have <strong>to</strong> read the notes and reenter the information in<strong>to</strong> the new system after<br />

the drawing was transferred.] What the industry needed was a neutral format that captured a<br />

richer information payload, reliably and without loss of design intent.<br />

The Origin of STEP<br />

The s<strong>to</strong>ry of STEP starts around 1984, with the first meeting of a committee of the International<br />

Organization for Standardization (<strong>ISO</strong>) and what is now NIST. <strong>ISO</strong> was founded in 1947<br />

and is based in Geneva, Switzerland. It is composed of some 160 member bodies who are<br />

agents of their respective countries, where the <strong>ISO</strong> standards often become law. Every nation<br />

on Earth is eligible for membership, and most have joined.<br />

The range of <strong>ISO</strong> standards covers almost every human endeavor. For instance, <strong>ISO</strong>-1 (Standard<br />

Reference Temperature for Geometrical Product Specification and Verification) defines<br />

the temperature (which happens <strong>to</strong> be 20º C) at which materials must be when taking mea-<br />

CHAPTER 2<br />

51


surements that will be used for comparison in different geographical locations.<br />

Individual standards are written and managed by representatives of the industry affected by<br />

the standard, not by <strong>ISO</strong> staff. The role of <strong>ISO</strong> is more <strong>to</strong> make sure that individual standards<br />

are developed with as wide and fair a representation as possible. The development of <strong>ISO</strong><br />

standards is organized by a hierarchy of committees and workgroups. The responsibility for<br />

standards related <strong>to</strong> the exchange of product information falls <strong>to</strong> a group with the cryptic<br />

moniker TC184/SC4, which stands for Technical Committee 184, Subcommittee 4. A partial<br />

hierarchy is shown in Figure 2.9. Work Group 3, Team 25, is responsible for <strong>ISO</strong> <strong>15926</strong>. The<br />

various parts of <strong>ISO</strong> 10303, the official name of STEP, fall under a range of SC4 workgroups<br />

and teams.<br />

<strong>ISO</strong> 10303<br />

International<br />

Organization for<br />

Standardization<br />

(<strong>ISO</strong>)<br />

Technical<br />

Committee<br />

184<br />

Subcommittee 4<br />

Work Group 3<br />

Team 25<br />

<strong>ISO</strong> <strong>15926</strong><br />

Au<strong>to</strong>mation Systems & Integration<br />

Industrial Data<br />

Product Models<br />

Oil, Gas, Process, Power<br />

Fig. 2.9 The relationship of <strong>ISO</strong> 10303 and <strong>ISO</strong> <strong>15926</strong> within <strong>ISO</strong>.<br />

The National Institute of Standards and Technology (NIST) started more than a hundred years<br />

ago, in 1901. Its name describes what NIST is all about: <strong>to</strong> promote U.S. industrial competitiveness<br />

by advancing measurement science, standards, and technology. IGES, STEP, and <strong>ISO</strong><br />

<strong>15926</strong> are all within its mandate—and NIST has had an influential role over the years in organizing<br />

their development.<br />

By the time of NIST’s first meeting with TC184/SC4 in 1984, there was interest in the United<br />

States for developing a new standard for product data that was similar in operation <strong>to</strong> IGES<br />

but that would not lose any product information. This new standard was <strong>to</strong> be called the<br />

Product Data Exchange Specification (PDES). It is important <strong>to</strong> note that this was not <strong>to</strong> be<br />

an enhancement of IGES but a complete redevelopment of the approach <strong>to</strong> information exchange.<br />

The marked departure from IGES was so important that the organization responsible<br />

for IGES changed its name from the IGES Organization <strong>to</strong> the IGES/PDES Organization (IPO),<br />

as shown in Figure 2.10.<br />

CHAPTER 2<br />

52


1980<br />

1990<br />

2000<br />

2010<br />

NIST<br />

IGES<br />

IGES<br />

IGES/PDES<br />

(IPO)<br />

<strong>ISO</strong><br />

TC184 SC4<br />

PDES<br />

STEP<br />

<strong>ISO</strong> 10303<br />

LEGEND<br />

Sponsoring organization<br />

Consortium<br />

Standard<br />

Fig. 2.10 The transition from IGES <strong>to</strong> STEP.<br />

Internationally, events were lining up in support of a new standard as well. Other CAD exchange<br />

standards besides IGES had been created by this time, most notably in the French and<br />

German manufacturing industry (with more or less the same limitations as IGES). In 1988, the<br />

IGES/PDES Organization submitted PDES <strong>to</strong> the international community—which eventually<br />

adopted it as the basis for STEP and published it as <strong>ISO</strong> 10303. 6<br />

At the very beginning, the participants realized that the complexity of product data demanded<br />

robust data modeling. This was a significant development. The data model for a computer<br />

system tells us what the data means. It is like the set of blueprints for a building. Many experienced<br />

carpenters can design a simple building in their heads and build it without any drawings,<br />

but a large and complex building requires a comprehensive set. The blueprints are first<br />

used for recording and communicating the design between all interested parties. Later, the<br />

builder uses them <strong>to</strong> organize work schedules and <strong>to</strong> purchase materials.<br />

During construction, the carpenters can use the blueprints <strong>to</strong> work independently of each<br />

6. We will use “STEP” and “<strong>ISO</strong> 10303” interchangeably.<br />

CHAPTER 2<br />

53


other—knowing their work will coordinate in the end <strong>to</strong> the finished building that was envisaged<br />

by the architect. <strong>An</strong>d if the design is particularly good the blueprints can be used elsewhere<br />

so that others do not have <strong>to</strong> redesign the same thing from scratch.<br />

In this metaphor, where the blueprints are like the data model the building is like the finished<br />

computer system—and what the users will do with the eventual building is like a process model.<br />

The process model drives the data model. The data model helps us visualize data structures<br />

before we build the system. Data model diagrams drawn on a few pages can represent a very<br />

large system that would be difficult <strong>to</strong> visualize by looking at many pages of computer code.<br />

The initial intent with STEP was <strong>to</strong> develop a single data model for a product that would<br />

become the master record containing everything that everyone who used the product would<br />

ever want <strong>to</strong> know. But by the time the standard was issued the real world proved <strong>to</strong> be <strong>to</strong>o<br />

complex for one standard. STEP was therefore divided in<strong>to</strong> several parts.<br />

Figure 2.11 shows the STEP standards that are of interest <strong>to</strong> the development of <strong>ISO</strong> <strong>15926</strong>.<br />

Each of them is shown at about the time it was first issued as an international standard, but<br />

they all went through many years of development. For an example of the time involved, we<br />

have shown in greater detail the development timeline of AP-221—arguably the most important<br />

of the STEP standards from the point of view of <strong>ISO</strong> <strong>15926</strong>.<br />

Today, STEP is in wide use in the aerospace, au<strong>to</strong>motive, electrical, and electronic industries.<br />

Each industry, and segment within each industry, has its own exchange standard—called an<br />

application pro<strong>to</strong>col (AP). Each industry that adopts STEP is encouraged <strong>to</strong> create its own AP.<br />

Today, there are many hundreds of parts <strong>to</strong> <strong>ISO</strong> 10303. Some were developed by the process<br />

industry, although none of these are in use <strong>to</strong>day. The most interesting <strong>to</strong> the his<strong>to</strong>ry of <strong>ISO</strong><br />

<strong>15926</strong> are outlined in the following.<br />

• Part 11. Description methods: The EXPRESS language reference manual EXPRESS is well<br />

suited <strong>to</strong> data modeling for product data.<br />

• Part 21. Implementation methods: Clear text encoding of the exchange structure<br />

This part describes how <strong>to</strong> encode information using EXPRESS. If your interest in <strong>ISO</strong> <strong>15926</strong><br />

goes “under the hood,” you will hear about “EXPRESS Part 21” files—which represent one<br />

method of transferring information between two users.<br />

• Part 42. Geometric and <strong>to</strong>pological representation<br />

This part addresses how <strong>to</strong> represent the physical shape of a product.<br />

• AP-203. Configuration controlled 3D designs of mechanical parts and assemblies<br />

• AP-214. Core data for au<strong>to</strong>motive mechanical design processes<br />

AP-203 and AP-214 are widely used in the manufacturing industry. AP-214 is a superset of<br />

AP-203.<br />

• AP-221. Functional data and their schematic representation for process plant<br />

This AP is primarily for schematic drawings such as process and instrumentation diagrams<br />

(P&IDs). Discussion during the development of this part led <strong>to</strong> the initiation of <strong>ISO</strong> <strong>15926</strong>.<br />

• AP 227. Plant spatial configuration<br />

This AP includes classes for the physical representation of piping, HVAC, cable tray, and<br />

mechanical systems.<br />

• AP 239. Product lifecycle support<br />

CHAPTER 2<br />

54


1980<br />

1990<br />

2000<br />

2010<br />

This AP is a mechanism for maintaining the information needed <strong>to</strong> support complex products<br />

and systems over their complete life cycle from conceptual design <strong>to</strong> decommissioning.<br />

Part 11<br />

Part 21<br />

Part 42<br />

AP-203<br />

AP-214<br />

AP-227<br />

AP-239<br />

<strong>ISO</strong><br />

TC184 SC4<br />

PDES<br />

STEP<br />

<strong>ISO</strong> 10303<br />

AP-221<br />

STEPlib<br />

<strong>An</strong>nex M<br />

LEGEND<br />

Sponsoring organization<br />

International standard<br />

Part of a standard<br />

1980<br />

1990<br />

2000<br />

2010<br />

Fig. 2.11 His<strong>to</strong>ry of STEP.<br />

In future diagrams we will show<br />

AP-221 appearing, as if by magic,<br />

around 1997. This hides a great deal<br />

of detail:<br />

• AP-221 started development in<br />

the early 1990s<br />

• Published as Committee Draft<br />

in 1997<br />

• Formally published as an International<br />

Standard in 2007<br />

• In between a number of consortia<br />

worked on it, as we shall see<br />

in the next few pages<br />

• From the beginning it separated<br />

reference data from the data<br />

model, something not done with<br />

the other STEP APs <strong>to</strong> that time<br />

• For the reference library it used<br />

an existing library known as<br />

STEPlib, adding <strong>to</strong> it and publishing<br />

it as part of the standard,<br />

<strong>An</strong>nex M.<br />

When you read this diagram, and<br />

others like it throughout this chapter,<br />

remember that although they appear<br />

at a particular time, all of the<br />

standards were developed over a<br />

similarly long timeline.<br />

Today, the use of STEP in the manufacturing industry is routine—but it <strong>to</strong>ok a few notable successes<br />

<strong>to</strong> make it so. The following are three examples.<br />

• Boeing, Pratt & Whitney, Rolls-Royce, and GE Aircraft Engines used STEP for the 777 and<br />

767-400 aircraft.<br />

• General Mo<strong>to</strong>rs uses STEP <strong>to</strong> coordinate designs among its various design centers when<br />

they do not use a common CAD system.<br />

• The European Space Agency evaluated the use of AP-203 and AP-214 <strong>to</strong> transfer information<br />

between prime contrac<strong>to</strong>rs and suppliers <strong>to</strong> the Agency’s programs. At the conclusion<br />

of the study, the two APs were proven <strong>to</strong> be mature enough <strong>to</strong> be used as a standard for<br />

CAD exchange in the European space industry.<br />

CHAPTER 2<br />

55


1980<br />

1990<br />

2000<br />

2010<br />

The Process Industries STEP Consortia<br />

With the perceived success of STEP in the manufacturing industry, the process industry<br />

started <strong>to</strong> pay attention in the early 1990s. This development is entwined with a number of<br />

organizations and consortia that sprang up around the world in the couple of decades after<br />

the formal adoption of IGES. Figure 2.12 shows the more prominent process industry consortia<br />

on an approximate timeline.<br />

Part 42<br />

<strong>ISO</strong><br />

TC184 SC4<br />

PDES<br />

STEP<br />

<strong>ISO</strong> 10303<br />

AP-227<br />

Japan<br />

STEP<br />

PlantSTEP<br />

AP-221<br />

European<br />

Union<br />

ProcessBase<br />

ESPRIT<br />

PIPPIN<br />

<strong>An</strong>nex M<br />

PIEBASE<br />

PIEBASE<br />

Activity Model<br />

USPI-NL<br />

LEGEND<br />

Sponsoring organization<br />

Consortium which no<br />

longer exists<br />

Consortium which still<br />

exists<br />

International standard<br />

Part of a standard<br />

PISTEP<br />

PISTEP<br />

Activity Model<br />

EPISTLE<br />

STEPlib<br />

POSC<br />

Caesar<br />

Assoc’n<br />

Fig. 2.12 His<strong>to</strong>ry of the process industries STEP consortia.<br />

It may appear that there is a 10-year gap between the first proposals for STEP and the formation<br />

of the first consortium. In reality, the period was very busy with many organizations<br />

devoted <strong>to</strong> the development of information exchange standards in general, and STEP and<br />

<strong>ISO</strong> <strong>15926</strong> in particular. Some of these organizations left very little trace of themselves on the<br />

World Wide Web, so their his<strong>to</strong>ry is inaccessible <strong>to</strong> this researcher—and some were simply absorbed<br />

in<strong>to</strong> the larger consortia. The consortia and standards are placed as close as possible<br />

<strong>to</strong> their actual times, but some license has been taken where dating information is ambiguous<br />

and where the overlapping of shapes would present a legibility problem.<br />

If the arrows between the consortia give the appearance of a complicated membership, the<br />

reality is even more so. We could almost have put two-headed arrows between every one of<br />

the consortia, and between each of these <strong>to</strong> each standard. In a book, we are limited <strong>to</strong> a serial<br />

description of events and 2D drawings, but the development of STEP—and the thinking<br />

that lead <strong>to</strong> <strong>ISO</strong> <strong>15926</strong>—was all happening at the same time.<br />

Many individual companies were members of more than one consortium, and some consortia<br />

1980<br />

1990<br />

2000<br />

2010<br />

CHAPTER 2<br />

56


were themselves made up of other consortia. The arrows between consortia and the international<br />

standards and parts roughly show the main sponsors—but, again, the reality is more<br />

complicated. Many of the people involved worked on behalf of more than one consortium and<br />

over time contributed <strong>to</strong> many parts of the international standards. 7<br />

Complicating the proper representation of responsibility is human memory—the people that<br />

were part of this while it was happening do not all remember things in the same way. What we<br />

will concentrate on, then, is what happened rather than who did it. We will start by introducing<br />

the main players.<br />

Development work was initially divided between the schematic representation of a process facility<br />

and its physical representation. AP-221 was initiated in Europe <strong>to</strong> develop the schematic<br />

(2D) representation, whereas AP-227 was initiated by an American consortium <strong>to</strong> develop the<br />

physical (3D) representation.<br />

ESPRIT<br />

A major theme of the many treaties leading <strong>to</strong> the formal creation of the European Union (EU)<br />

in 1993 was <strong>to</strong> develop a single market for its member states. It is not surprising, then, that the<br />

CEC—the executive body of the EU—was, and is, interested in efforts <strong>to</strong> standardize the flow<br />

of information between its manufacturers in order <strong>to</strong> make them more competitive.<br />

Perceiving that the competitive position of Europe’s information technology industry was<br />

loosing ground <strong>to</strong> those of the United States and Japan, the CEC established the European<br />

Strategic Programme for Research in Information Technologies (ESPRIT) in 1983. The purpose<br />

of ESPRIT was <strong>to</strong> fund research and technology development programs in cooperation with<br />

industry. By the early 1990s, a number of European organizations had made significant contributions<br />

<strong>to</strong> the development of STEP. The CEC sponsored its continued development with two<br />

ESPRIT projects: ProcessBASE and PIPPIN.<br />

ProcessBase<br />

ProcessBase started at the end of 1992 and ran for three years. The initial objective of ProcessBase<br />

was <strong>to</strong> develop a neutral format <strong>to</strong> be used for the exchange and management of<br />

process data used in all phases of a process plant—from design, through <strong>to</strong> construction,<br />

and eventually <strong>to</strong> operation. The approach used was <strong>to</strong> develop a data model for a process<br />

plant using the information modeling language EXPRESS, along with software <strong>to</strong> process the<br />

EXPRESS code. This approach introduced a high degree of au<strong>to</strong>mation <strong>to</strong> data exchange. The<br />

data model became part of AP-221.<br />

The culmination of ProcessBase was two pilot projects that demonstrated the exchange of<br />

plant information over the World Wide Web: one a chemical processing facility and the other<br />

a power station. According <strong>to</strong> the final report, this demonstration proved that bulk information<br />

exchange was practical and that information exchange based on a standard neutral form<br />

delivered the expected business benefits of reduced costs, higher information reliability by<br />

reducing opportunities for human error, and shorter cycle times.<br />

7. We are not saying that this happened, but from some reports it is not difficult <strong>to</strong> imagine two fellows<br />

meeting at yet another conference, fumbling in their pockets for the first minute or two, trying <strong>to</strong><br />

remember which business card they were representing that week.<br />

CHAPTER 2<br />

57


PIPPIN<br />

The Pilot Implementation of Process Plant Information Warehouse (PIPPIN) started at the beginning<br />

of 1996 and ran for two years. The purpose of PIPPIN was not so much <strong>to</strong> develop AP-<br />

221 but <strong>to</strong> build a data warehouse using AP-221 for the functional life-cycle data of a process<br />

plant and <strong>to</strong> use it in a real project. In this they were successful, as we shall explore in material<br />

following.<br />

PlantSTEP<br />

PlantSTEP, established about 1994, was a collaborative effort between NIST and a consortium<br />

of EPC contrac<strong>to</strong>rs, owners, and suppliers for the purpose of developing and supporting standards<br />

based on <strong>ISO</strong> 10303. Starting with just a few organizations, the consortium eventually<br />

included most high-end CAD systems, many EPC contrac<strong>to</strong>rs, many manufacturers, and many<br />

owner-opera<strong>to</strong>rs. The intention was that all parties involved in a large capital project could use<br />

their own <strong>to</strong>ols and work methods but still be able <strong>to</strong> share appropriate information seamlessly.<br />

Where the focus of ProcessBase was the schematic design of a plant (AP-221), the focus of<br />

PlantSTEP was the physical design (AP-227). Considerable effort was made by both organizations<br />

<strong>to</strong> ensure that AP-221 was compatible with AP-227.<br />

Japanese STEP Organizations<br />

The main mover of STEP and <strong>ISO</strong> <strong>15926</strong> activities in Japan is the Engineering Advancement<br />

Association of Japan (ENAA). ENAA played in influential role in developing <strong>ISO</strong> 10303 AP-<br />

227 with its participation in PIEBASE. In the early 1990s, the capital projects industry in Japan<br />

was having the same issues with information exchange everyone else in the world was having;<br />

namely, that the perceived lack of standards for information exchange was restricting commerce.<br />

Rather than developing its own standard, ENAA decided <strong>to</strong> follow international standards<br />

and was an early proponent of AP-221 and AP-227. Later, Japan funded the development<br />

of the second edition of AP-227.<br />

In the mid 1990s, Japanese industry and government was motivated by the U.S. and European<br />

CALS initiatives and did not want <strong>to</strong> be left behind. The Japanese commissioned a domestic<br />

pilot project, called the Nippon CALS Research Partnership (NCALS)—which ran for three<br />

years, with similar goals <strong>to</strong> the U.S. CALS initiative.<br />

ENAA became more involved with STEP with their own project, Plant CALS—representing<br />

EPC contrac<strong>to</strong>rs, equipment vendors, and owner-opera<strong>to</strong>rs. This project enabled the participants<br />

<strong>to</strong> better understand the various <strong>ISO</strong> 10303 application pro<strong>to</strong>cols and proposals on<br />

operation and maintenance APs and <strong>to</strong> experiment with SGML as a transport language. During<br />

this period, several Japanese organizations participated in the PIEBASE consortium—until<br />

PIEBASE disbanded in 2003.<br />

By the late 1990s, the interest of the Japanese consortia was turning from the individual application<br />

pro<strong>to</strong>cols of <strong>ISO</strong> 10303 <strong>to</strong> a data warehouse and e-commerce solution. Some notable<br />

work was done with STEPlib and the POSC/Caesar Association (PCA) reference data library<br />

(RDL) <strong>to</strong> provide s<strong>to</strong>rage and a search mechanism for engineering asset information, which<br />

was later expanded <strong>to</strong> include operations and maintenance information.<br />

CHAPTER 2<br />

58


The Japan Electric Measuring Instruments Manufacturers’ Association (JEMIMA) contributed<br />

<strong>to</strong> standardization by making practical use of <strong>ISO</strong> 13584 and is responsible for maintaining its<br />

reference dictionary, Part 501. At about the same time, the Japanese construction industry—<br />

with an endorsement from the Japanese government—used STEP AP-201, Explicit Draughting,<br />

as a base of 2D drawing exchange and as the archive standard for Japanese government projects.<br />

This standard uses conformance classes <strong>to</strong> inspect and validate the content of drawings<br />

and has become manda<strong>to</strong>ry for all large Japanese government projects since its introduction.<br />

Currently, ENAA has been a strong supporter of <strong>ISO</strong> TC 184/SC4 standardization and participates<br />

in T25 standardization activities as a liaison organization <strong>to</strong> the Japan Nuclear Cycle<br />

Development Institute (JNC). ENAA is also a member of SC4 RDA Maintenance Team and<br />

Validation Team and actively supports enhancing the quality of the Part 4 RDL.<br />

European Process Industries STEP Technical Liaison Executive<br />

EPISTLE was formed in 1993 <strong>to</strong> be a forum for all of the international projects and organizations<br />

working <strong>to</strong>ward standards-based exchange of engineering data using STEP. Figure 2.13<br />

shows EPISTLE as consisting of USPI-NL, the Process Industries STEP Consortium (PISTEP),<br />

and what is now the PCA. In the early years of EPISTLE, the membership consisted of a number<br />

of companies directly involved in plant design, equipment manufacture, and operations—<br />

but over time the individual companies withdrew, leaving only the three consortia as members.<br />

1990<br />

1995<br />

2000<br />

UPSI-NL<br />

UPSI-NL<br />

PISTEP<br />

EPISTLE<br />

Caesar<br />

Offshore<br />

Project<br />

POSC/<br />

Caesar<br />

Project<br />

POSC<br />

Caesar<br />

Assoc’n<br />

Petrotechnical<br />

Open Software<br />

Corporation<br />

Energistics<br />

Fig. 2.13 EPISTLE member consortia.<br />

It is important <strong>to</strong> remember that the individual consortia did not lose their identity while a<br />

member of EPISTLE. Therefore, many publications were made under one of the individual<br />

CHAPTER 2<br />

59


names. As a consortium, EPISTLE directly supported AP-221, published some general work on<br />

the methodology of developing data models, and managed the EPISTLE Core Model—which<br />

we will describe in the next section when we describe the development of <strong>ISO</strong> <strong>15926</strong>.<br />

USPI-NL<br />

In 1997, an informal group of plant owners and EPC contrac<strong>to</strong>rs operating for about four years<br />

under the name SPI-NL created the formal association USPI-NL (Uitgebreid Samenwerkingsverband<br />

ProcesIndustrie-Nederland) as the Dutch Process and Power Industry Association for<br />

the development and implementation of industry standards for plant life-cycle data. The new<br />

group included equipment suppliers, and was gradually joined by software vendors, consultancies,<br />

and universities.<br />

The mission of USPI-NL is “To develop, maintain and promote the use of international information<br />

standards and best practices for product and plant life cycle information”—with the aim<br />

of achieving the quality of information required for the delivery of products and installations<br />

that are safe, reliable, and environmentally friendly and <strong>to</strong> achieve a shorter project delivery<br />

time, lower costs, and support for innovation.<br />

USPI-NL’s s vision is that “Companies in the process industries shall be able <strong>to</strong> share and/or<br />

exchange electronically the information needed <strong>to</strong> design, build, operate and maintain process<br />

and power plants using internationally accepted standards.”<br />

Currently, USPI-NL is active in five roles: networking, setting direction, providing implementation<br />

templates and frames, acting as a knowledge center, and developing and maintaining<br />

international standards. USPI-NL supports <strong>ISO</strong> <strong>15926</strong> (with emphasis on Part 4 and its maintenance),<br />

Part 11, <strong>ISO</strong> 10303-221, and several others—including <strong>ISO</strong> 13584. It actively encourages<br />

Dutch industry <strong>to</strong> adopt international standards for electronic data exchange and s<strong>to</strong>rage.<br />

USPI-NL has taken a lead in road-mapping and maturity assessments of industry, assisting<br />

individual companies <strong>to</strong> assess where they are in the roadmap, how they compare <strong>to</strong> the others,<br />

and how the industry as a whole progresses through the roadmap. USPI-NL has a wide<br />

network of associations and companies it cooperates with on development and adoption of<br />

standards. It maintains special cooperation with PROLIST, Fiatech, and ENAA.<br />

Process Industries STEP Consortium<br />

PISTEP was founded in 1992 <strong>to</strong> increase the competitiveness of the UK process industry by<br />

improving engineering information management. Its founders saw that the current paperbased<br />

information-handling methods used during design, construction, operation, and eventual<br />

decommissioning was hampered by locking information in documents where it was difficult<br />

<strong>to</strong> find. PISTEP endorsed the use of international standards <strong>to</strong> s<strong>to</strong>re information so that<br />

it would be accessible across organizational and system boundaries and not be locked in<strong>to</strong><br />

proprietary systems. PISTEP promoted STEP—and when it was introduced, <strong>ISO</strong> <strong>15926</strong> as well.<br />

A major contribution in the mid 1990s was the Process Plant Engineering Activity Model,<br />

shown in Figure 2.14. This was intended as an overview of the main activities and data flows<br />

required for the design and operation of a process plant. The first page (shown in Figure 2.14)<br />

is a summary, with each process (represented by a rectangle) developed in more detail within<br />

the document. It was intended as a guide for those developing STEP APs, but it remains<br />

CHAPTER 2<br />

60


useful <strong>to</strong>day as a starting point for anyone seeking <strong>to</strong> model such activity. In 2000, PISTEP<br />

merged with the PCA—with PISTEP becoming the UK chapter.<br />

POSC Caesar Association<br />

Fig. 2.14 PISTEP activity model.<br />

The PCA was founded in 1997 <strong>to</strong> promote the development of openly available standards for<br />

the integration and interoperability of data, software, and related matters for e-engineering<br />

and e-commerce. PCA works in close collaboration with other standardization organizations<br />

in Europe, the United States, and Japan. PCA is the origina<strong>to</strong>r of <strong>ISO</strong> <strong>15926</strong> and is committed<br />

<strong>to</strong> its maintenance and enhancement.<br />

The Petrotechnical Open Software Corporation (POSC) is a nonprofit, vendor-neutral corporation<br />

based in Hous<strong>to</strong>n, Texas, that was founded in 1990 by five major oil companies with the<br />

aim of establishing open software standards <strong>to</strong> be used for sharing information through the<br />

asset life cycle. By 1998, it had grown <strong>to</strong> 130 members, including large and small suppliers,<br />

government agencies, universities and research centers, other standards organizations, and oil<br />

companies. This consortium works <strong>to</strong> share information among its members and <strong>to</strong> promote<br />

useful software modeling, data, and application integration standards. At the 2006 Standards<br />

CHAPTER 2<br />

61


Summit & Reception in Hous<strong>to</strong>n on 8 <strong>November</strong> 2006, POSC renamed itself Energistics.<br />

The Caesar Offshore Project was founded in 1993 by seven organizations active in the North<br />

Sea as a research and development project under the name of Caesar Offshore Program. The<br />

purpose of the project was <strong>to</strong> develop a product model for life-cycle information. The focus<br />

was on standardizing the technical data definitions for facilities and equipment associated<br />

with onshore and offshore oil and gas production facilities.<br />

In 1994, the Caesar Offshore Project was reorganized and defined as a project of POSC and<br />

changed its name <strong>to</strong> the POSC/Caesar Project, and then more recently <strong>to</strong> the POSC Caesar Association<br />

(PCA). The technical work of PCA was more and more related <strong>to</strong> the <strong>ISO</strong> STEP standard<br />

and influenced by similar work in European standardization organizations such as PISTEP<br />

in the UK and USPI-NL in the Netherlands through the EPISTLE consortium. PCA collaborates<br />

with many standards organizations around the world, including Energistics and Fiatech.<br />

Process Industry Executive for Achieving Business Advantage Using Standards for<br />

Data Exchange<br />

By the mid 1990s, there was such significant effort being expended on the development of<br />

STEP that there was real risk of duplication of effort. To coordinate the work globally, the Process<br />

Industry Executive for Achieving Business Advantage Using Standards for Data Exchange<br />

(PIEBASE) was chartered in the United States in the fall of 1996.<br />

The membership was essentially the members of EPISTLE, PlantSTEP, and POSC—with representatives<br />

of the Japanese STEP community and NIST. The intent was <strong>to</strong> develop a common<br />

vision and a coordinated roadmap for the development and use of international standards<br />

for information exchange, including many of the STEP APs and a number of other standards.<br />

Although PIEBASE did not author any standards directly, it did valuable work defining boundaries<br />

for APs (so that the APs did not overlap) and reviewed overall priorities <strong>to</strong> increase the<br />

return on investment being made by the participants.<br />

A significant publication was the PIEBASE Activity Model, which was a reworking of the<br />

PISTEP Activity Model. <strong>An</strong> activity model is a diagram showing the relationship of a set of<br />

inputs, outputs, and activities that constitute a process, and it is an important input <strong>to</strong> a data<br />

model. The PIEBASE Activity Model had the viewpoint of a process plant owner-opera<strong>to</strong>r that<br />

wanted <strong>to</strong> produce a product by building a process plant. The purpose of the activity model<br />

was <strong>to</strong> describe the activities related <strong>to</strong> the generation and use of information in the creation<br />

and operation of the process plant and <strong>to</strong> provide a context for more detailed activity models<br />

for individual APs. The PIEBASE Activity Model is contained in both AP-221 and AP-227. PIE-<br />

BASE wrapped up in 2002.<br />

STEP Issues<br />

STEP does well in manufacturing environments, but some deficiencies were exposed when it<br />

was used as the basis for s<strong>to</strong>ring life-cycle information for process plants. First, it sees information<br />

exchange as a problem <strong>to</strong> be solved by a series of exchanges—each with its own AP.<br />

It has been estimated that a typical process plant would require several hundred APs. Aside<br />

from the obvious problem of simply keeping track of them all, a major issue is that “things”<br />

that make up a modern process plant do not naturally come <strong>to</strong> us with their preferred AP<br />

stamped on their bot<strong>to</strong>ms.<br />

CHAPTER 2<br />

62


APs by their nature overlap with each other and it is therefore not always obvious which AP<br />

should be used. For instance, a particular control valve is part of a plant’s process design and<br />

thus the valve should show up on a P&ID, which implies that we should use AP-221. But the<br />

physical valve will be a product of some manufacturer that will want <strong>to</strong> use AP-203/214 during<br />

design and manufacturing. The valve will also show up in an engineer’s 3D model, which implies<br />

AP-227. Now we could come up with a scheme that uses AP-221 in some situations and<br />

AP-203/214 or AP-227 in others, but the best solution is a single standard that can be used <strong>to</strong><br />

represent the valve in all of its aspects.<br />

Second, maintaining information about plant objects requires the ability <strong>to</strong> handle change<br />

over time. This is possible with STEP, but it is cumbersome because one would have <strong>to</strong> keep<br />

updating the data model. During the pilot projects for the various STEP APs, which we have<br />

described previously, a detailed data model worked well—but one characteristic of pilot projects<br />

is their relatively short duration. Over a longer term, maintaining such a detailed data<br />

model in the face of the amount of change over the lifetime of a typical facility proved <strong>to</strong> be a<br />

large effort.<br />

The third reason is more technical. In the typical STEP work process, the manner of creating<br />

an AP involved navigating a number of levels of modeling. The process started with defining<br />

the activities and information flows the AP is intended <strong>to</strong> support. (This is the principal reason<br />

the PISTEP and PIEBASE Activity Models, discussed previously, were created.) Then it defines<br />

the requirements using a more or less generic data model called the Application Requirements<br />

Model (ARM), 8 refines it further <strong>to</strong> a more detailed data model, and then maps the requirements<br />

<strong>to</strong> a set of standard components that are interpreted in the AP. Are you confused<br />

yet? It worked good in theory, but in practice it was difficult <strong>to</strong> understand and proved <strong>to</strong> be<br />

quite cumbersome.<br />

Development of <strong>ISO</strong> <strong>15926</strong><br />

Perhaps the best way <strong>to</strong> describe the development of <strong>ISO</strong> <strong>15926</strong> is <strong>to</strong> describe the development<br />

of AP-221 in a bit more detail. Figure 2.15 shows some of what we have described before,<br />

with a new standard—the EPISTLE Core Model (ECM)—leading <strong>to</strong> <strong>ISO</strong> <strong>15926</strong> Part 2. In reality,<br />

AP-221 is closely entwined with the ECM.<br />

8. Remember this term. We will refer <strong>to</strong> it shortly.<br />

CHAPTER 2<br />

63


1980<br />

1990<br />

2000<br />

2010<br />

<strong>ISO</strong><br />

TC184 SC4<br />

<strong>ISO</strong> 10303<br />

AP-221<br />

European<br />

Union<br />

ProcessBase<br />

ESPRIT<br />

PIPPIN<br />

<strong>An</strong>nex M<br />

Japan<br />

STEP<br />

PIEBASE<br />

PIEBASE<br />

Activity Model<br />

Related <strong>to</strong><br />

USPI-NL<br />

STEPlib<br />

PISTEP<br />

PISTEP<br />

Activity Model<br />

EPISTLE<br />

RDL<br />

POSC<br />

Caesar<br />

Assoc’n<br />

LEGEND<br />

Sponsoring organization<br />

Consortium which no<br />

longer exists<br />

Consortium which still<br />

exists<br />

International standard<br />

Part of a standard<br />

EPISTLE Core<br />

Model<br />

B<br />

C/D<br />

E<br />

Snapshot Series<br />

Part 2<br />

Part 4<br />

<strong>ISO</strong><br />

TC184 SC4<br />

<strong>ISO</strong> <strong>15926</strong><br />

Fig. 2.15 Development of AP-221 and <strong>ISO</strong> <strong>15926</strong>.<br />

If you follow the relationships shown in the diagram, you will see that all of the consortia<br />

shown had a hand in developing some aspect of AP-221. We have previously described how<br />

the EU, through its ESPRIT program, launched ProcessBase—which initiated AP-221. When<br />

ProcessBase wound down in 1995, members of EPISTLE continued its development. PIEBASE,<br />

the executive body coordinating STEP activity, extended the PISTEP Activity Model in<strong>to</strong> the<br />

PIEBASE Activity Model—which was used in AP-221. The Japanese STEP consortia were involved<br />

through their participation in PIEBASE.<br />

When PIPPEN started in 1996, its purpose was <strong>to</strong> use AP-221 in a real project. It accomplished<br />

this through working closely with EPISTLE on the development of what came <strong>to</strong> be called the<br />

EPISTLE Core Model, and by using a version of the ECM in one of the Snapshot projects.<br />

The EPISTLE Core Model and the Snapshot Series<br />

<strong>An</strong> unfortunate casualty of legibility in Figure 2.15 is the way the ECM is shown as being separate<br />

from AP-221. In fact, the first version of AP-221 (published in 1997) was identical <strong>to</strong> the<br />

ECM. The ECM, which covered the information requirement for the life of the entire process<br />

plant, was a key deliverable of EPISTLE. It was called the ECM because it did not depend on<br />

any one system or use proprietary functions. Because of EPISTLE’s close association with the<br />

developers of AP-221, the ECM borrowed a significant part of its data model from AP-221.<br />

1980<br />

1990<br />

2000<br />

2010<br />

CHAPTER 2<br />

64


EPISTLE’s idea was that if you break data down in<strong>to</strong> its smallest pieces you have the best<br />

opportunity for reuse. (In technical language, it was highly normalized.) Thus, instead of the<br />

database tables having many columns they had only a few columns but were used in combination<br />

with each other.<br />

We have said that EPISTLE developed a reference library, which it called STEPlib, and which<br />

was used as the basis for <strong>An</strong>nex M of AP-221. At some point in the development of STEPlib,<br />

PCA decided <strong>to</strong> reserve its own work for just its own members—and for awhile STEPlib and<br />

the PCA RDL forked. Eventually, however, the two organizations combined them back in<strong>to</strong> one<br />

and the merged RDL eventually became Part 4.<br />

A significant part of the evolution of <strong>ISO</strong> <strong>15926</strong> is the Snapshot series. As the ECM, STEPlib,<br />

and the PCA RDL evolved, they were used on real world-scale projects over a period of a few<br />

years. As each of the projects was launched, PCA <strong>to</strong>ok the latest thought on data models and<br />

the latest version of its RDL and merged them in<strong>to</strong> a snapshot, starting at A and running <strong>to</strong> E.<br />

The lessons learned from each project were fed back for improvements in the next. The diagram<br />

implies a direct connection that may not have actually existed. However, because many<br />

of the same people worked in many capacities there would have been some crossover.<br />

There were some key differences between the Snapshot series and the ECM. The ECM was<br />

highly normalized and used multiple inheritance. Due <strong>to</strong> the perceived inability of the thencurrent<br />

technology <strong>to</strong> support this, the data models of the Snapshots were less normalized<br />

and did not support multiple inheritance.<br />

What the crea<strong>to</strong>rs of <strong>ISO</strong> <strong>15926</strong> did (in the jargon of professional data modelers) was <strong>to</strong> use<br />

the ARM of AP-221. Thus, the data model was much more generic—with much of the intelligence<br />

pushed in<strong>to</strong> the RDL. The <strong>ISO</strong> <strong>15926</strong> data model incorporates 201 entity types and<br />

reuses them many times <strong>to</strong> represent information about plant objects. Think of it this way: instead<br />

of defining the “perfect” data sheet for an instrument, <strong>ISO</strong> <strong>15926</strong> uses a generic pattern<br />

for each attribute of the instrument. The sum of the combined attributes is the representation<br />

of the entire instrument.<br />

When information is exchanged using the <strong>ISO</strong> <strong>15926</strong> pro<strong>to</strong>cols, the receiving system looks for<br />

patterns. This allows you <strong>to</strong> do what might be called “just-in-time modeling.” You model what<br />

you know now, and model later what you discover later. The model itself can evolve and recover<br />

from earlier errors. In this way, computer systems that use data sheets that appear <strong>to</strong> humans<br />

<strong>to</strong> be wildly different can still communicate without being <strong>to</strong>ld explicitly about each other.<br />

Because of the marked differences from the approach of the other STEP APs, the general<br />

consensus was that the best path forward was <strong>to</strong> create a new standard instead of work the<br />

new approach back in<strong>to</strong> STEP. By 2000, the EPISTLE Core Model had been formally approved<br />

as Part 2—whereas the combined STEPlib and PCA RDL became Part 4. Part 3 (for geometry),<br />

first published about the same time, is based on STEP Part 42. We will describe the most significant<br />

parts of <strong>ISO</strong> <strong>15926</strong> in Chapter 3. Figure 2.16 brings in the remaining parts of <strong>ISO</strong> <strong>15926</strong><br />

and shows a new player, Fiatech.<br />

CHAPTER 2<br />

65


1980<br />

1990<br />

2000<br />

2010<br />

Part 42<br />

<strong>ISO</strong><br />

TC184 SC4<br />

<strong>ISO</strong> 10303<br />

Fiatech<br />

AP-221<br />

European<br />

Union<br />

ProcessBase<br />

ESPRIT<br />

PIPPIN<br />

<strong>An</strong>nex M<br />

Basis For<br />

Japan<br />

STEP<br />

PIEBASE<br />

PIEBASE<br />

Activity Model<br />

Related <strong>to</strong><br />

USPI-NL<br />

STEPlib<br />

PISTEP<br />

PISTEP<br />

Activity Model<br />

EPISTLE<br />

RDL<br />

POSC<br />

Caesar<br />

Assoc’n<br />

LEGEND<br />

Sponsoring organization<br />

Consortium which no<br />

longer exists<br />

Consortium which still<br />

exists<br />

International standard<br />

Part of a standard<br />

PCA/Fiatech project<br />

EPISTLE Core<br />

Model<br />

B<br />

C/D<br />

E<br />

Snapshot Series<br />

Part 2<br />

Part 3<br />

Part 4<br />

Initial Part<br />

7<br />

Part 7<br />

Part 8<br />

Part 9<br />

Part 10<br />

Part 11<br />

<strong>ISO</strong><br />

TC184 SC4<br />

<strong>ISO</strong> <strong>15926</strong><br />

IDS/ADI<br />

Fig. 2.16 Development of <strong>ISO</strong> <strong>15926</strong>.<br />

This brings us <strong>to</strong> the twenty-first century, <strong>to</strong> an organization called Fiatech. Its purpose is <strong>to</strong><br />

increase the productivity in the capital projects industry by introducing technology <strong>to</strong> engineering<br />

and construction work processes. In this definition, capital projects industry includes<br />

all manner of capital construction—from roads and sewers, commercial buildings and shopping<br />

centers, ships, and pipelines <strong>to</strong> manufacturing and industrial plants.<br />

Fiatech was founded in 2000 as a collaborative effort between NIST and the Construction<br />

Industry Institute (CII), a research center in the College of Engineering at the University of<br />

Texas at Austin. At the time, CII had more than 100 members representing owner-opera<strong>to</strong>rs,<br />

contrac<strong>to</strong>rs, and suppliers from the engineering and construction industry—as well as more<br />

than 30 universities. The mission of the CII is <strong>to</strong> publish information on best practices in the<br />

U.S. construction industry.<br />

Today, Fiatech’s membership roster includes many of the largest owner-opera<strong>to</strong>rs, EPC contrac<strong>to</strong>rs,<br />

construction contrac<strong>to</strong>rs, equipment manufacturers, software developers, and universities.<br />

One of the most compelling reasons for any of these organizations <strong>to</strong> join Fiatech<br />

is that because Fiatech is part of a university they can collaborate without breaking antitrust<br />

legislation. Outside Fiatech they are competi<strong>to</strong>rs and must guard what they say <strong>to</strong> each other.<br />

But on a Fiatech project <strong>to</strong>p experts in a field can work <strong>to</strong>gether across organizational boundaries.<br />

For a portion of the development costs, all members can participate in all results.<br />

University<br />

of Texas<br />

CII<br />

Fiatech<br />

1980<br />

1990<br />

2000<br />

2010<br />

CHAPTER 2<br />

66


For planning, Fiatech developed what it calls its Capital Projects Technology Roadmap—with<br />

nine elements depicting a completely integrated structure <strong>to</strong> accelerate the deployment of<br />

emerging technologies <strong>to</strong> drive productivity in the capital projects industry. Of these elements,<br />

<strong>ISO</strong> <strong>15926</strong> is part of number nine, Lifecycle Data Management & Information Integration.<br />

Until that time, <strong>ISO</strong> <strong>15926</strong> had been seen as applying predominantly <strong>to</strong> processing plants.<br />

With Fiatech’s endorsement, it was seen <strong>to</strong> apply also <strong>to</strong> all capital projects.<br />

2005 Process Industry Data Integration Workshop<br />

In 2005, a workshop was held at the Wilming<strong>to</strong>n, Delaware, offices of a large owner-opera<strong>to</strong>r—with<br />

many of the key players in plant data standardization in attendance. A strategic<br />

agreement was reached, later known as the Wilming<strong>to</strong>n Agreement. The participants agreed<br />

that all would cooperate in achieving a single common RDL for the industry, which was <strong>ISO</strong><br />

<strong>15926</strong>-4, and work <strong>to</strong>ward formal approval by <strong>ISO</strong>. Agreement was also reached regarding the<br />

implementation of a working reference data service (RDS) <strong>to</strong> support a project.<br />

IDS-ADI Project<br />

In 2009, both PCA and FIATCH (by coincidence) launched projects <strong>to</strong> promote <strong>ISO</strong> <strong>15926</strong>.<br />

PCA called its project Intelligent Data Sets (IDS), whereas Fiatech called its project Accelerating<br />

the Deployment of <strong>ISO</strong> <strong>15926</strong> (ADI). Both came <strong>to</strong>gether under combined leadership with<br />

the purpose of demonstrating the capabilities of using the full specification of <strong>ISO</strong> <strong>15926</strong>. Under<br />

their joint oversight, many subprojects have been sponsored <strong>to</strong> develop and demonstrate<br />

the use of various parts of <strong>ISO</strong> <strong>15926</strong>.<br />

Summary<br />

This has been a long chapter. We started with CAD file exchange, described a number of STEP<br />

APs, finally ending up with the Part 4 RDL—which is used in industry as a common set of definitions<br />

for plant objects—and the Part 2 data model, which will be used by a new generation<br />

of information exchange that embeds meaning in<strong>to</strong> data <strong>to</strong> make information exchange easier<br />

and more reliable. Some of the research we have described has led <strong>to</strong> dead ends, and many of<br />

the STEP APs are no longer used. This does not mean they were a waste of time. Sometimes<br />

the things that do not work teach us as much as things that do work.<br />

If we knew what we were doing, it wouldn’t be called research,<br />

would it?<br />

—Albert Einstein<br />

However, our intention is not <strong>to</strong> make you in<strong>to</strong> an amateur his<strong>to</strong>rian but <strong>to</strong> understand the<br />

progression of ideas regarding information exchange in industry. We summarize them with<br />

the graph in Figure 2.17. In the late 1970s, soon after the advent of CAD, we as an industry<br />

grew tired of having <strong>to</strong> redo drawings in order <strong>to</strong> move them from one system <strong>to</strong> another. We<br />

thought that if we could only have a way <strong>to</strong> import the drawings directly from one system<br />

<strong>to</strong> another all of our data exchange problems would be solved. We got IGES, and other CAD<br />

exchange standards, but quickly found that although this solves some problems there is often<br />

more <strong>to</strong> drawings than, well, drawings.<br />

CHAPTER 2<br />

67


1980<br />

1990<br />

2000<br />

2010<br />

If only we could exchange<br />

CAD drawings.<br />

If only we all used the same<br />

data model.<br />

If only we all used the same<br />

Reference Data Library<br />

If only we could embed meaning<br />

in<strong>to</strong> our information exchanges<br />

Fig. 2.17 Progression of information exchange ideas.<br />

<strong>An</strong>y who have worked in an engineering environment will know that there is more than one<br />

CAD application in common use, and that on a large project all business partners do not always<br />

use the same one. Sometimes, all an engineer needs is some way <strong>to</strong> open in his system a<br />

drawing authored in another system. If that is all that is truly needed, a simple translation <strong>to</strong>ols<br />

is all that should be used. Although IGES is no longer used, the market demand has been met<br />

with several commercial <strong>to</strong>ols.<br />

But in a manufacturing environment sometimes what appears as a drawing is a collection of<br />

machine <strong>to</strong>ol instructions for making a part, with the drawing more or less simply the human<br />

interface. In these situations, converting the “drawing” using a CAD transla<strong>to</strong>r <strong>to</strong>ol would loose<br />

almost all of the value.<br />

By the mid 1980s, we thought that if only we all used the same data model all of our data<br />

exchange problems would be solved. We got STEP, with its many and varied APs. But as with<br />

IGES we found that although STEP solved a certain set of problems in a process plant environment<br />

a fixed data model is <strong>to</strong>o cumbersome <strong>to</strong> keep up with a degree of change measured<br />

in decades. Our research led <strong>to</strong> the idea of separating the monolithic data model in<strong>to</strong> a more<br />

generic data model consisting of smaller reusable pieces combined with an external RDL.<br />

By the mid 1990s, we thought that if only we all used the same definitions of terms (that is,<br />

the same RDL) all of our data exchange problems would be solved. We got a common RDL<br />

in the form of <strong>ISO</strong> <strong>15926</strong>-4, and (as with STEP and IGES) we found that a common RDL does<br />

indeed solve some problems.<br />

Sometimes all you need <strong>to</strong> do is translate some data authored in one system in<strong>to</strong> a form that<br />

CHAPTER 2<br />

68


can be read by another. A transla<strong>to</strong>r based on the common dictionary of Part 4 is what you<br />

need. As well, there are some situations in which all you need is a common naming convention—anything<br />

will do. You can make your own, but if one already exists in the form of Part 4<br />

you can save yourself some significant work.<br />

This is all well and good if you have the luxury of time in which <strong>to</strong> perform brute force data<br />

mapping in order <strong>to</strong> be able <strong>to</strong> exchange some data. But the pace of business is increasing<br />

and we would like <strong>to</strong> be able <strong>to</strong> exchange information without having <strong>to</strong> know a great deal<br />

about the systems our business partners use.<br />

For this we will need <strong>to</strong> embed meaning in<strong>to</strong> data, so that when your business partners receive<br />

your information their systems will simply be able <strong>to</strong> figure it out. Since the mid 2000s,<br />

the research has been focused on just how <strong>to</strong> embed such meaning in<strong>to</strong> a data exchange. The<br />

principle means of doing this is Part 7 templates. The next obvious question is: “How does it<br />

all work?” That is the subject of the next chapter.<br />

CHAPTER 2<br />

69


CHAPTER 3:<br />

HOW DOES <strong>ISO</strong> <strong>15926</strong> WORK?<br />

The full title of <strong>ISO</strong> <strong>15926</strong> implies a very ambitious goal, encompassing information about every<br />

plant object from conception, engineering, construction, and operations.<br />

Industrial Au<strong>to</strong>mation Systems and Integration: Integration of Life-cycle Data for<br />

Process Plants, Including Oil and Gas Production Facilities<br />

Integration is a word you will hear many times in discussions of <strong>ISO</strong> <strong>15926</strong>, along with the<br />

word interoperability. Most of us will have heard both words many times and will naturally<br />

think we know what they mean. They are related, of course, and are often used (incorrectly)<br />

as synonyms. Both terms include subcategories of related concepts, and there is disagreement<br />

even among experts as <strong>to</strong> the terms applied <strong>to</strong> these concepts. Part of the problem is<br />

that when you dig below the surface of the commonly used examples you will not find a sharp<br />

point where one word s<strong>to</strong>ps and the other starts, but a continuum with a fair degree of overlap.<br />

Fortunately, this is only an introduction <strong>to</strong> <strong>ISO</strong> <strong>15926</strong>; we can understand the basic concepts<br />

of <strong>ISO</strong> <strong>15926</strong> without having a precise definition of either term. We will therefore approach the<br />

question with a few examples and then describe what <strong>ISO</strong> <strong>15926</strong> actually intends <strong>to</strong> do.<br />

Integration Versus Interoperability<br />

If you search for the definitions of integration and interoperability as applied <strong>to</strong> the field of<br />

computer science, you will find that the definitions cover a wide range but with a clustering<br />

of ideas around each term. There is wide agreement that integration means that two different<br />

applications are made <strong>to</strong> work <strong>to</strong>gether seamlessly. Along with this idea, there is a strong<br />

implication that the integration of the two applications is done specifically with that end in<br />

mind, and with the specific identity of the two applications in mind. Thus, we can think of integrating<br />

application A with application B by having their respective developers collaborate <strong>to</strong><br />

“make them work <strong>to</strong>gether” (whatever that might entail).<br />

Interoperability is usually associated with two applications being able <strong>to</strong> “work <strong>to</strong>gether”<br />

(whatever that means) by virtue of each, independently, following an outside standard. In the<br />

end they may be able <strong>to</strong> work <strong>to</strong>gether just as well as two integrated applications, but because<br />

the “working <strong>to</strong>gether” was achieved by each implementing an outside standard we call<br />

it “interoperability.” (A bonus is that both applications can also work with every other similarly<br />

enabled application.) Let’s look at a simple example.<br />

Example 1: Headsets and Handsets<br />

Figure 3.1 shows two manufacturers—ACME (a maker of telephone headsets) and EMCA (a<br />

maker of telephone handsets)—that wish <strong>to</strong> make their products work <strong>to</strong>gether. If the two<br />

companies were <strong>to</strong> collaborate <strong>to</strong> design a physical plug that connects the handsets <strong>to</strong> the<br />

headsets, it would be an example of integration (that is, they use a cus<strong>to</strong>m-designed physical<br />

CHAPTER 3<br />

70


plug <strong>to</strong> integrate their products). But if they independently used the Blue<strong>to</strong>oth standard (with<br />

the intention that their products would work with all other Blue<strong>to</strong>oth-enabled devices as well),<br />

we would call it interoperability.<br />

Fig. 3.1 Integration versus interoperability.<br />

A common mistake is <strong>to</strong> assume that the Blue<strong>to</strong>oth part of this example is what defines interoperability.<br />

Not so. We can imagine the reverse situation, in which the telephone industry<br />

has standardized on a certain physical plug that allows any headset <strong>to</strong> work with any handset.<br />

In this case, we would call all of the handsets and headsets with this particular plug interoperable.<br />

Within this situation, we could further imagine two (ACME and EMCA) of the many<br />

manufacturers getting <strong>to</strong>gether <strong>to</strong> connect their respective products using a new wireless<br />

technology. If they achieved this wireless “working <strong>to</strong>gether” by designing their own wireless<br />

pro<strong>to</strong>col, it would be considered integration.<br />

However, remember the title of <strong>ISO</strong> <strong>15926</strong>: Industrial Au<strong>to</strong>mation Systems and Integration: Integration<br />

of… If we were <strong>to</strong> apply this definition of integration, it would imply that if we wanted<br />

<strong>to</strong> “integrate” two applications using the <strong>ISO</strong> <strong>15926</strong> pro<strong>to</strong>cols we would have <strong>to</strong> do some<br />

cus<strong>to</strong>m work <strong>to</strong> each application specifically <strong>to</strong> make them work <strong>to</strong>gether. But the vision of<br />

<strong>ISO</strong> <strong>15926</strong> is that two applications can work <strong>to</strong>gether by virtue of each, independently, implementing<br />

the <strong>ISO</strong> <strong>15926</strong> standard. This sounds more like our definition of interoperability. Have<br />

we contradicted ourselves?<br />

We can start <strong>to</strong> develop an answer <strong>to</strong> the dilemma by subdividing the definition of integration<br />

in<strong>to</strong> application integration (achieving integration by writing cus<strong>to</strong>m application code) and<br />

data integration (achieving integration by somehow transforming the data). To see how this<br />

works, let’s look at another example.<br />

CHAPTER 3<br />

71


Example 2: Integration and Interoperability with Engineering Design Systems<br />

Figure 3.2 shows two engineering design systems offered by two competing software vendors,<br />

ACME and EMCA. Each suite of software offers intelligent, three dimensional (3D) modeling<br />

for several engineering disciplines—including piping, equipment, raceway, and structural<br />

steel and concrete. Each suite also offers intelligent process and instrumentation diagrams<br />

(P&IDs), electrical and instrumentation schematics, and data sheets. Within each vendor’s<br />

suite it is easy <strong>to</strong> imagine that the applications would be integrated, but each application in a<br />

suite is probably not interoperable with the respective application of the other suite.<br />

Piping<br />

Equipment<br />

Structural<br />

Engineering System P&ID<br />

Piping<br />

Schematics<br />

Raceway<br />

ACME<br />

Data<br />

Sheets<br />

Equipment<br />

Schematics<br />

Raceway<br />

EMCA<br />

Engineering System<br />

Integrated Integrated<br />

Interoperable<br />

Data<br />

Sheets<br />

Structural<br />

Fig. 3.2 Integration and interoperability in engineering design systems.<br />

Within a suite, we would call the applications integrated if information created by one application<br />

is available <strong>to</strong> the applications of another discipline. For instance, a typical integration is<br />

for the 3D piping application <strong>to</strong> be able <strong>to</strong> request line numbers from the P&ID application.<br />

This is an example of integration at the data level, and it can be achieved in a number of ways.<br />

The first is point-<strong>to</strong>-point mapping, whereby (in this example) the piping application is taught<br />

how <strong>to</strong> query the P&ID database and bring back something it can make sense of. Figure 3.3<br />

shows integration between applications by point-<strong>to</strong>-point mapping. Each application pulls in<br />

data from another application, modifies it with an adapter (what we have previously called a<br />

data map), and then imports it in<strong>to</strong> its own database. This may be practical for a small number<br />

of applications developed by one organization and marketed as a suite, but if the vision is<br />

that any application can talk <strong>to</strong> any other application using the <strong>ISO</strong> <strong>15926</strong> pro<strong>to</strong>cols this is not<br />

what we are after.<br />

P&ID<br />

CHAPTER 3<br />

72


Procurement A Construction<br />

A<br />

Engineering<br />

A A<br />

A A<br />

A<br />

A<br />

Operations<br />

Adapter<br />

Fig. 3.3 Point-<strong>to</strong>-point data integration.<br />

Figure 3.4 shows a second example of integration that solves the point-<strong>to</strong>-point mapping<br />

issues by converting all data flows <strong>to</strong> a common, neutral, format and s<strong>to</strong>ring them in a data<br />

warehouse (or an enterprise service bus or asset hub) specially designed <strong>to</strong> accommodate<br />

the information from all of the individual applications. These applications can now exchange<br />

information indirectly using the data warehouse for intermediate s<strong>to</strong>rage.<br />

Engineering Procurement Construction<br />

Service Bus or Asset Hub<br />

(Data Warehouse)<br />

Operations<br />

A A A A<br />

Adapter<br />

Fig. 3.4 Integration using a data warehouse.<br />

Each application looks at the data warehouse though the “glasses” of its adapter. By the time<br />

information reaches the application, it is structured <strong>to</strong> look just like that application’s own<br />

data structure. When an application publishes information, it publishes it in its own structure<br />

<strong>to</strong> its own adapter—and the adapter changes it <strong>to</strong> the structure of the data warehouse. Each<br />

application thinks that it is the only thing in the world.<br />

This is a perfectly good solution provided that you want a data warehouse. There are many<br />

very good reasons for wanting a data warehouse, but if your goal is simply <strong>to</strong> be able <strong>to</strong> exchange<br />

information among a number of applications you don’t actually need the data warehouse!<br />

Figure 3.5 shows what this would look like without the data warehouse.<br />

CHAPTER 3<br />

73


Engineering Procurement Construction<br />

Information Exchange <strong>to</strong> the <strong>ISO</strong> <strong>15926</strong> Standard<br />

Operations<br />

<strong>ISO</strong> <strong>15926</strong> Adapter<br />

Fig. 3.5 Integration without a data warehouse.<br />

In this arrangement, all of the applications can exchange information with each other using<br />

messages structured in a common neutral format. By communicating using the <strong>ISO</strong> <strong>15926</strong><br />

pro<strong>to</strong>cols, new applications can be added <strong>to</strong> the federation without having <strong>to</strong> modify any of<br />

them. Thus, this is what the word integration means in the title of <strong>ISO</strong> <strong>15926</strong>. By using an <strong>ISO</strong><br />

<strong>15926</strong> adapter, we achieve integration at the data level without having <strong>to</strong> modify the applications<br />

in any way. 1 But because the applications each, independently, follow an external standard<br />

they are interoperable.<br />

The Parts of <strong>ISO</strong> <strong>15926</strong> Are Like the Parts of Human Speech<br />

The way <strong>ISO</strong> <strong>15926</strong> achieves the interoperability we have just described is similar <strong>to</strong> the way<br />

people communicate. Within a human language, there is a common dictionary of terms, a<br />

common way of structuring sentences, and a common way of putting sentences <strong>to</strong>gether.<br />

Figure 3.6 shows how <strong>ISO</strong> <strong>15926</strong> is divided in<strong>to</strong> a number of parts, each of which is similar <strong>to</strong><br />

an aspect of natural language.<br />

1. Truth in advertising: You have <strong>to</strong> modify each application <strong>to</strong> be able <strong>to</strong> exchange information with<br />

the adapter, but you only have <strong>to</strong> do this once.<br />

CHAPTER 3<br />

74


Part 2: Data Model<br />

Fig. 3.6 The parts of <strong>ISO</strong> <strong>15926</strong>.<br />

Part 2 is like the basic rules of grammar in a natural language.<br />

When we grow up we naturally learn <strong>to</strong> speak the language of our parents. This happens so<br />

naturally we don’t find out how complicated communication actually is until we try <strong>to</strong> learn a<br />

different language. Easiest <strong>to</strong> learn is the new lexicon. For instance, if you are a native English<br />

speaker and wanted <strong>to</strong> learn French you could open an English-French dictionary and find out<br />

that the French word for couch is canapé and the French word for grass is herbe.<br />

More difficult are the rules of grammar and the exceptions <strong>to</strong> the rules. For instance, if your<br />

wife (also a native English speaker) wanted <strong>to</strong> tell you in French <strong>to</strong> “Get your lazy behind off<br />

the couch and cut the grass!” she probably shouldn’t just try a word-by-word translation. If<br />

she did, she would run in<strong>to</strong> two problems.<br />

First, what does the word behind mean? In English, in this context it is a slang word that<br />

means the part of your body in contact with the couch when you are sitting on it. But in English<br />

behind can also mean “<strong>to</strong>ward the rear,” “slow,” and in some cases “hidden.” Simply looking<br />

up the word behind in a dictionary may not get you the correct French word <strong>to</strong> convey the<br />

same meaning.<br />

Second, the order in which we form words in<strong>to</strong> sentences in English is often different from the<br />

correct order in French. In the field of linguistics, this is called word order typology—and it<br />

can get tricky. For instance, word order in English is what linguists call SVO (or subject-verbobject),<br />

which means that most of the time native English speakers will say something like “I<br />

went home.”<br />

In other languages, the most common way of saying the same thing might be “I home went”<br />

(SOV), “Went I home” (VSO), “Went home I” (VOS), “Home I went” (OSV), or “Home went I”<br />

(OVS). The problem with rules about word order typology is the phrase “most of the time.” If<br />

CHAPTER 3<br />

75


you, dear reader, are a native English speaker you have probably heard several of these combinations<br />

in conversation. “I went home” is by far the most common word order, but many of<br />

the others are used occasionally <strong>to</strong> convey subtly different meanings. As it turns out, French<br />

is also SVO most of the time—but has a number of exceptions. Thus, if your wife got out her<br />

English-French dictionary and translated “Get your lazy behind off the couch and cut the<br />

grass!” word for word she would get:<br />

Obtenir votre paresseux derrière off l’ canapé et <strong>to</strong>ndre l’ herbe!<br />

But if she were <strong>to</strong> enter the entire English sentence in<strong>to</strong> popular translation software, she<br />

might get:<br />

Obtenez votre derrière paresseux sur le divan et couper l’herbe!<br />

This last translation is interesting because a word-for-word translation back <strong>to</strong> English comes<br />

out:<br />

Get your behind lazy on the sofa and cut the grass.<br />

But a friend who grew up in Quebec, Canada, speaking French from birth says that his wife<br />

would be a little less formal.<br />

Lève <strong>to</strong>n derrière du fauteuil et file faire le gazon.<br />

(We won’t write the English translation; suffice it <strong>to</strong> say that it is a playful insult <strong>to</strong> the posterior<br />

of someone lazy enough <strong>to</strong> lie around reading the newspaper when there is work <strong>to</strong> be<br />

done!)<br />

So now we have an example where using a dictionary <strong>to</strong> translate something in<strong>to</strong> another<br />

language does not yield something that sounds natural in the other language. The same sort<br />

of thing is true with databases developed for different applications. When we humans speak<br />

<strong>to</strong> each other there is usually at least a little bit of shared background so that we don’t have<br />

<strong>to</strong> explain every term from first principles. <strong>An</strong>d if we make a mistake understanding the other<br />

person, the mistake will usually become apparent during the conversation and one or the<br />

other will ask a question or two. But machines don’t have a shared background and have no<br />

way of suspecting something has been misunders<strong>to</strong>od.<br />

For instance, <strong>to</strong> reuse an example above, “I went home” is in English and thus the correct<br />

word order typology is SVO. It would be (relatively) easy <strong>to</strong> program a computer <strong>to</strong> change<br />

this <strong>to</strong> “Went I home” (VSO) if it were translating it <strong>to</strong> Hawaiian. But if the programmer made<br />

a mistake and used the rules for VOS, as in Fijian or Malagasy, it would come out “Went home<br />

I.” Here, the computer—still thinking you were trying <strong>to</strong> translate the sentence <strong>to</strong> Hawaiian—<br />

would assume that the subject was “home” (instead of “I”) and the object was “I” (instead of<br />

“home”) and would simply write the incorrect values <strong>to</strong> the database.<br />

Just as there can be ambiguity in human speech, there can be ambiguity in data models. For<br />

instance, Figure 3.7 is a snippet of a database that contains some information about a person<br />

named Joe Bloggs. Here we see a number of skills and languages, but we can’t tell what it really<br />

means just by looking at it. Taken literally, this database means that Joe can groom dogs<br />

CHAPTER 3<br />

76


in French, cook in German, type in Greek, and can do nothing at all in Spanish.<br />

Name Skill Language<br />

Bloggs, Joe groom dogs French<br />

Bloggs, Joe cook German<br />

Bloggs, Joe type Greek<br />

Bloggs, Joe Spanish<br />

Fig. 3.7 The skills and languages of Joe Bloggs, Part I.<br />

“Baloney!” you say. “Common sense says that Bloggs can groom dogs, cook, type, and in addition<br />

has some proficiency with French, German, Greek, and Spanish—with the blank simply<br />

being a place <strong>to</strong> record the next skill he learns!” But note that we jumped <strong>to</strong> the second interpretation<br />

because we know that entities that have attributes with the names NAME, SKILL,<br />

and LANGUAGE are likely human—and being human ourselves we know that the skills listed<br />

do not generally depend on language. But machines will not jump <strong>to</strong> that conclusion without<br />

being explicitly <strong>to</strong>ld <strong>to</strong> do so. To a machine, the first interpretation is the most logical. If you<br />

have trouble with this, consider Figure 3.8 (information in an identical database).<br />

Name Skill Language<br />

Jabberwok burble Whiffling<br />

Fig. 3.8 The skills and languages of the Jabberwok.<br />

No one knows precisely what the Jabberwok is so we do not jump <strong>to</strong> a conclusion of what<br />

burble or Whiffling means. 2 If we said “The Jabberwok can burble in Whiffling,” it would<br />

sound plausible.<br />

If the database of Joe Bloggs’ skills and languages was intended only for one application,<br />

the developer could easily overcome any ambiguity in the database by artful code. But if this<br />

application ever had <strong>to</strong> exchange information with another application, the ambiguity would<br />

have <strong>to</strong> be removed. In this case, it is quite simple. If the correct interpretation is that skills<br />

and languages are unrelated, as our “common sense” tells us, the data should be structured as<br />

shown in Figure 3.9.<br />

Name Skill<br />

Bloggs, Joe groom dogs<br />

Bloggs, Joe cook<br />

Bloggs, Joe type<br />

Name Language<br />

Bloggs, Joe French<br />

Bloggs, Joe German<br />

Bloggs, Joe Greek<br />

Bloggs, Joe Spanish<br />

Fig. 3.9 The skills and languages of Joe Bloggs, Part II.<br />

So this is what we meant when we said earlier that when we use <strong>ISO</strong> <strong>15926</strong> pro<strong>to</strong>cols <strong>to</strong> exchange<br />

information we embed the context of the data in<strong>to</strong> the data itself. We structure the<br />

2. Except, perhaps, those who follow the work of Terry Gilliam.<br />

CHAPTER 3<br />

77


data so that the “obvious” explanation is the correct one.<br />

Conceptual Data Model<br />

Fortunately, even if there is some inherent ambiguity in your database structure there are<br />

ways <strong>to</strong> make it appear <strong>to</strong> outside applications that you have removed the ambiguity without<br />

having <strong>to</strong> actually modify the database. To describe how this works, we need <strong>to</strong> take a de<strong>to</strong>ur<br />

and examine two new terms: application data model and conceptual data model.<br />

Every application has a view of the world that is derived from its business purpose. Each application<br />

follows certain business rules, which can change over time. All of this is encapsulated<br />

in an application data model, which can be unique <strong>to</strong> each application. If we want <strong>to</strong> exchange<br />

information between these applications, we need <strong>to</strong> develop a data model that supports all of<br />

the application data models. We call this a conceptual data model. Figure 3.10 shows how a<br />

conceptual data model connects many different application data models.<br />

Application Data Models<br />

Engineering Procurement Construction Operations<br />

Conceptual Data Model<br />

External Level<br />

Conceptual Level<br />

Fig. 3.10 Conceptual data model.<br />

At the external level, we have many different models (or views)—each with a limited scope<br />

relative <strong>to</strong> the conceptual data model. Each will have needs different from any other, and each<br />

will be optimized for a particular purpose. The scope of these external models may overlap,<br />

and they may or may not be compatible with one another. For instance, an engineering application<br />

built on the engineering data model and a procurement application built on the procurement<br />

data model may perceive instrument tag numbers differently.<br />

A procurement application may deal with a tag number as a single string of text (say, 34-PI-<br />

325) and s<strong>to</strong>re it as such in one database field, including the dashes. On the other hand, an<br />

engineering application may manage the tag number by its parts and s<strong>to</strong>re each in a separate<br />

field without dashes. Humans may be able <strong>to</strong> look at the two database structures (or schemas)<br />

and understand the relationship, but a computer program would not be able <strong>to</strong> do so on<br />

its own.<br />

The conceptual model is neutral <strong>to</strong> the external models and must be able <strong>to</strong> support all of<br />

them. It should be independent of business rules or things that change. The conceptual model<br />

is what integrates information from the different external models. For instance, the conceptual<br />

model would have <strong>to</strong> be able <strong>to</strong> deal with all of the different ways of dealing with tag<br />

numbers. Most likely, the conceptual data model would have a place for each individual part<br />

of a tag number. In turn, the tag number in each application data model would be assembled<br />

CHAPTER 3<br />

78


y pulling in the individual parts as required and concatenating them <strong>to</strong>gether in the correct<br />

order (with any necessary spaces and dashes) <strong>to</strong> produce the format the application required.<br />

It is important <strong>to</strong> note here that the conceptual data model simply says how the data should<br />

be structured; it does not imply any particular method of s<strong>to</strong>rage or exchange. It can be<br />

implemented as an actual data warehouse or as information exchange files, as shown in Figure<br />

3.11, or in any other way technology allows.<br />

Engineering Procurement Construction Operations<br />

A A A A<br />

Service Bus or Asset Hub<br />

(Data Warehouse)<br />

Engineering Procurement Construction<br />

Information Exchange <strong>to</strong> the <strong>ISO</strong> <strong>15926</strong> Standard<br />

Operations<br />

Application Data<br />

Models<br />

Conceptual<br />

Data Model<br />

Application Data<br />

Models<br />

Conceptual<br />

Data Model<br />

Fig. 3.11 Conceptual data model.<br />

Thus (going back <strong>to</strong> Joe Bloggs), the database structure shown in Figure 3.7 could work as<br />

an application data model provided the software developer knew how <strong>to</strong> handle the apparent<br />

inconsistencies. But the special knowledge of how <strong>to</strong> handle the information would be lost if<br />

another application received the data in that form. The solution is <strong>to</strong> transform the information<br />

<strong>to</strong> a conceptual data model that has a more easily unders<strong>to</strong>od data structure.<br />

There are two ways <strong>to</strong> do this. One is <strong>to</strong> rewrite the application so that it uses the desired data<br />

structure. This is fine if you actually want <strong>to</strong> rewrite the application for other reasons. But if<br />

all you want <strong>to</strong> do is exchange information with another application an easier way is <strong>to</strong> use an<br />

adapter <strong>to</strong> transform the output.<br />

Part 2 of <strong>ISO</strong> <strong>15926</strong> describes just such a conceptual data model that can be used for the representation<br />

of information about objects used in capital projects. This representation is specified<br />

by a generic conceptual data model designed <strong>to</strong> be used in conjunction with reference<br />

data, which we will discuss next. The model can support all disciplines and life-cycle stages,<br />

and can support information about functional requirements, physical solutions, types of objects,<br />

and individual objects and activities.<br />

CHAPTER 3<br />

79


To review, Part 2 defines the rules and constraints (more or less the grammar used throughout)<br />

on how we use <strong>ISO</strong> <strong>15926</strong>. It is an on<strong>to</strong>logy with basic axioms such as thing, class, and<br />

individual at the <strong>to</strong>p level. At a lower lever, it includes subtypes of these axiomatic concepts—<br />

such as physical object and connections.<br />

Part 2 is very specialized and requires a fair amount of work <strong>to</strong> understand. Fortunately, most<br />

organizations will only have <strong>to</strong> deal with templates, described in Part 7, which are sort of like<br />

preconfigured definitions that point <strong>to</strong> objects in Part 2. If you ever run across a copy of Part<br />

2, we recommend that you read Section 4 because it gives examples of how the entity types<br />

can be used <strong>to</strong> express certain information.<br />

Part 4: Initial Reference Data<br />

Part 4 is like the definitions of terms in a natural language; similar <strong>to</strong> a dictionary<br />

or thesaurus.<br />

Earlier we said that when we use <strong>ISO</strong> <strong>15926</strong> <strong>to</strong> exchange information part of the meaning of<br />

the data comes from its structure and part comes from reference data. Reference data is essentially<br />

definitions of terms that represent information common <strong>to</strong> industry. This means that<br />

if the meaning of your data is inherent in its structure, and if the definitions of objects come<br />

from a common dictionary, computer systems will be able <strong>to</strong> infer meaning without requiring<br />

human interpretation.<br />

Building a Wooden Swing: The Importance of Reference Data in Simplifying Communication<br />

Effective communication requires that all parties share a common set of definitions. In computer<br />

science, this is called a reference data library (RDL; that is, a library of reference data). 3<br />

Whether we know it or not, we use an RDL every time we talk <strong>to</strong> others. For instance, if you<br />

and a co-worker did not share the same RDL conversation around the coffee machine on Monday<br />

morning would be very complicated:<br />

You: “So, what did you do on the weekend?”<br />

Co-worker: “You know how they use a round circular metal thing with sharp<br />

points <strong>to</strong> slice trees up in<strong>to</strong> long pieces? Well, I <strong>to</strong>ok some of those sliced-up<br />

trees and some braided nylon that comes in long coils and built a thing for the<br />

small little offspring of my wife and I so I could push them in a manner that they<br />

would go back and forth in a circular arc that starts near the ground but gets up<br />

<strong>to</strong> three meters off the ground before they start coming back down.”<br />

Wouldn’t it be much easier if your co-worker could just say “I built my kids a wooden swing”?<br />

But this would be impossible if you and your co-worker did not share the same definition of<br />

kids, wooden, and swing, not <strong>to</strong> mention built and my. (Remember this dialog. We will refer<br />

back <strong>to</strong> it several times later in this chapter.)<br />

3. <strong>An</strong>other name for “Reference Data Library” is “Class Library”. We don’t use that name for the core<br />

classes of <strong>ISO</strong> <strong>15926</strong> Part 4 because it contains more than just classes of objects.<br />

CHAPTER 3<br />

80


Where it gets complicated is differentiating between variations of a term. Basic terminology is<br />

easy. For instance, pressure and temperature are easy <strong>to</strong> tell apart. But in an industrial environment<br />

we seldom use the words pressure and temperature by themselves. Pressure can mean<br />

the pressure a vessel is operating at right now; its assumed design pressure; its minimum<br />

hydrostatic test pressure (which may be greater than its operating pressure <strong>to</strong> compensate for<br />

a lower testing temperature); the maximum pressure it is allowed <strong>to</strong> keep working at for an assumed<br />

lifespan of, say, 30 years; or the pressure at which a pressure-relieving device will open.<br />

To tell the terms apart, we must add adjectives <strong>to</strong> make longer and longer strings of words.<br />

But even if we come <strong>to</strong> agreement on the meaning of all of the adjectives, there is still opportunity<br />

for ambiguity. For instance, what is the difference between “maximum allowable working<br />

pressure” and “pressure-maximum-allowable-working”? For human beings, the answer is<br />

probably “Nothing; they are the same.” But when computer systems have <strong>to</strong> communicate<br />

without human intervention the two are not the same. (<strong>An</strong>d we haven’t even talked about exchanging<br />

information when all of the people involved do not speak the same language.)<br />

Uniform Resource Identifier<br />

To get around this potential for ambiguity, the <strong>ISO</strong> <strong>15926</strong> RDL assigns a unique identifier <strong>to</strong><br />

each definition so that the identifier can be used like a serial number for the definition. For<br />

example, if you were <strong>to</strong> look up temperature in the RDS/WIP maintained by the POSC Caesar<br />

Association (PCA), you would find something like the entry shown in Figure 3.12. All of the<br />

attributes in the left-hand column are familiar except the first. The unique identifier is called a<br />

uniform resource identifier (URI). A URI is sort of like a web page address that returns a definition<br />

instead of a web page. Every term, or class, in the <strong>ISO</strong> <strong>15926</strong> RDL has its own URI. Instead<br />

of having <strong>to</strong> describe the attribute, and get all of the adjectives in the correct order, an engineer<br />

only has <strong>to</strong> refer <strong>to</strong> the URI.<br />

RDS/WIP URI http://rdl.rdlfacade.org/data#R41192093771<br />

Label TEMPERATURE<br />

Description<br />

The degree or intensity of heat or cold as measured on a<br />

thermometric scale, and a measure of whether two systems<br />

are relatively hot or cold with respect <strong>to</strong> one another. Two<br />

systems brought in<strong>to</strong> contact will, after sufficient time, be in<br />

thermal equilibrium and will have the same temperature.<br />

Entity Type http://dm.rdlfacade.org/data#SinglePropertyDimension<br />

Fig. 3.12 RDS/WIP entry.<br />

For example, let’s say that two applications wanted <strong>to</strong> exchange information about temperature.<br />

Let’s also say that the first application s<strong>to</strong>red the value in a column labeled “TEMP,”<br />

whereas the second application s<strong>to</strong>red the same value in a column labeled “Temperature 24.”<br />

The following tables show what the entries in the database maps would look like. The export<br />

map from the first application would look as follows.<br />

Column Name RDS/WIP URI<br />

TEMP http://rdl.rdlfacade.org/data#R41192093771<br />

CHAPTER 3<br />

81


The import map in<strong>to</strong> the second application would look as follows.<br />

Column Name RDS/WIP URI<br />

Temperature 24 http://rdl.rdlfacade.org/data#R41192093771<br />

The first application is saying, “Here comes some values for the attribute R41192093771.” The<br />

second application runs down its map and says, “Great. R41192093771 translates <strong>to</strong> Temperature<br />

24 over here.” As part of the data exchange, each application will resolve the URI as a<br />

quality control measure <strong>to</strong> make sure it is a valid term.<br />

These two examples show the importance of using reference data <strong>to</strong> reduce the volume of<br />

information that has <strong>to</strong> be exchanged, and <strong>to</strong> eliminate the opportunity for error. In the first<br />

example, of building a wooden swing, when we could use commonly unders<strong>to</strong>od definitions<br />

(which are, in essence, reference data) we reduced a 91-word explanation <strong>to</strong> 7 words. In the<br />

second example, being able <strong>to</strong> refer <strong>to</strong> the serial number of a particular attribute we <strong>to</strong>tally<br />

removed the possibility of mistaking the attribute for a similar one.<br />

Reference Individuals<br />

In addition <strong>to</strong> the core classes, the core RDL contains what we call “reference individuals.”<br />

Normally, individual objects are contained in project databases where something like 37-P-<br />

101A has only a local meaning. But some objects are important enough that we want <strong>to</strong><br />

differentiate them from all other objects in the world. For instance, an RDL devoted <strong>to</strong> geography<br />

might have a generic class called “politically bounded object”—which would be used <strong>to</strong><br />

describe an entire country, the provinces within the country, and the cities within each province.<br />

In addition <strong>to</strong> that general class, it may also contain individuals (or instances) of all of the<br />

existing countries in the world, their provinces, and their cities. Such instances might include<br />

England (a country), London (an important city in England), and perhaps Wins<strong>to</strong>n<br />

Churchill (one of England’s prime ministers). Users could make reference <strong>to</strong> these individuals<br />

in order <strong>to</strong> remove ambiguity. 4<br />

A Data Exchange Can Use Many RDLs<br />

One way <strong>to</strong> use an RDL is <strong>to</strong> copy the definitions of everything you will need <strong>to</strong> use in<strong>to</strong> a<br />

single RDL. But this would result in the unnecessary duplication of information created by others.<br />

<strong>ISO</strong> <strong>15926</strong> allows the use of a federation of data libraries.<br />

Internally, this lets an organization keep separate RDLs—one for proprietary information and<br />

one that is published. <strong>An</strong>d once you have made the leap from a single RDL, why s<strong>to</strong>p at two?<br />

It is easy <strong>to</strong> conceive of a situation in which different authorities around the world will become<br />

respected reposi<strong>to</strong>ries of certain categories of information. There is no reason they could not<br />

publish their information in the form of an <strong>ISO</strong> <strong>15926</strong>–compliant RDL.<br />

Figure 3.13 shows a number of worldwide standards associations. Each of them publishes<br />

4. For instance, if you mentioned “The city of London” in certain parts of eastern Canada, people would<br />

assume you mean London, Ontario instead of London, England.<br />

CHAPTER 3<br />

82


many engineering standards for various parts of the capital projects industry within its jurisdiction.<br />

For instance, China has its own national standards that are called Guobiao (GB), which<br />

literally means national standard. GB standards must be used for all facilities built in China.<br />

Facilities in Australia, on the other hand, must use a combination of Australian standards (AS)<br />

and ASME standards. Currently, if an organization wanted <strong>to</strong> use all of these standards as reference<br />

data it would have no choice but <strong>to</strong> copy them in<strong>to</strong> its own RDL.<br />

Fig. 3.13 Many standards.<br />

But the vision of <strong>ISO</strong> <strong>15926</strong> is that all of the organizations will put their standards in<strong>to</strong> their<br />

own RDL and make them publicly available for other organizations <strong>to</strong> use as reference data.<br />

What we end up with is something like Figure 3.14. Here several organizations that are collaborating<br />

on a project have made their reference data available <strong>to</strong> the other members. <strong>An</strong><br />

owner, some suppliers, some EPC contrac<strong>to</strong>rs, and some standards organizations have all<br />

published information in an <strong>ISO</strong> <strong>15926</strong> RDL. <strong>An</strong>y member of the consortium can use information<br />

from these RDLs, along with the core classes published in Part 4.<br />

CHAPTER 3<br />

83


Fig. 3.14 Cloud of federated RDLs.<br />

To review, when two people use the same terminology (i.e., use the same dictionary) and use<br />

the terminology in the same way (i.e., use the same rules of grammar) they can communicate<br />

freely. The same is true for machines. When two computer applications use the same terminology<br />

(i.e., use the same RDL) and structure their data in the same way (i.e., use the same data<br />

model), they can communicate freely as well. The core of <strong>ISO</strong> <strong>15926</strong>, then, is the data model<br />

(Part 2) and the RDL (Part 4). These two parts define how the data is <strong>to</strong> be unders<strong>to</strong>od; the<br />

rest of the parts define how it is delivered.<br />

Part 4 defines the initial set of reference data (or core RDL) for use with <strong>ISO</strong> <strong>15926</strong> Part 2. The<br />

core RDL contains the core classes and reference individuals, which are arranged in an on<strong>to</strong>logy<br />

of subtypes (or specializations) of the classes in Part 2. Examples are concepts such as<br />

“pump,” “reducer,” and “heat exchanger.” International standards bodies can create subtypes<br />

of the core classes <strong>to</strong> create the types of objects within the scope of their standards.<br />

Currently there are almost 20,000 classes in Part 4. The library is extensible, and thus the<br />

number is expected <strong>to</strong> grow considerably—but there is no intention that it will ever contain all<br />

of the terminology for the entire capital projects industry.<br />

Part 7: Template Methodology<br />

Part 7 templates can be referred <strong>to</strong> as units of information. They are like phrases<br />

in a natural language phrasebook that show a new user how <strong>to</strong> construct meaningful<br />

sentences in an unfamiliar language. Part 7, like Part 2, is written independently<br />

of computer languages. Its language is first-order logic, which is math.<br />

We have said earlier that the vision of <strong>ISO</strong> <strong>15926</strong> is that “your computer can talk <strong>to</strong> my computer<br />

and we don’t have <strong>to</strong> know anything about each other’s systems in advance.” If you are<br />

like the author, this sounds magical. The magic comes from using Part 2 (the data model) and<br />

Part 4 (the dictionary) <strong>to</strong>gether <strong>to</strong> translate data exchanges in<strong>to</strong> the common language of <strong>ISO</strong><br />

CHAPTER 3<br />

84


<strong>15926</strong> so that it can be translated by your business partner at the other end.<br />

We have said this before, but it bears repeating: if two people know what the words of a<br />

particular language mean, and if they know the correct grammar for that language, they can<br />

communicate seamlessly. Similarly, when two applications have a common dictionary and use<br />

a common data model they can communicate seamlessly. Thus, Part 4 (the dictionary) and<br />

Part 2 (the data model) are the two most important parts of <strong>ISO</strong> <strong>15926</strong>.<br />

The problem is that modeling information at the level of Part 2 is generic and highly specialized.<br />

Although Part 2 enables considerable flexibility in what can be modeled, it is very complex.<br />

If everyone using <strong>ISO</strong> <strong>15926</strong> had <strong>to</strong> understand Part 2, it would be as if you needed <strong>to</strong><br />

take a course in aeronautical engineering in order <strong>to</strong> fly on an airplane. But by using part 7<br />

templates engineers can make their information models compliant without having <strong>to</strong> master<br />

Part 2.<br />

Part 7 specifies templates that are expressions of predefined units of semantics, allowing the<br />

use of a Part 2 data model in a convenient way. Using Part 7 is similar <strong>to</strong> using a phrase book<br />

for another language when you are travelling instead of using a language dictionary <strong>to</strong> convert<br />

each word in your native language <strong>to</strong> a foreign language.<br />

How <strong>ISO</strong> <strong>15926</strong> Templates Work<br />

When engineers start a project, one of the first things they do is create templates of each<br />

type of data sheet they expect <strong>to</strong> use <strong>to</strong> ensure a common look and feel across the project.<br />

For instance, all data sheets for level transmitters will look the same and will have the same<br />

type of values in the same place. The reason a common look and feel is important is because<br />

human beings are the ones reading the data sheets. Humans rely on visual clues <strong>to</strong> determine<br />

meaning, and we get used <strong>to</strong> looking for certain (essentially x,y) coordinates for particular values.<br />

For instance, “Maximum Allowable Working Pressure” for a particular type of vessel might<br />

be something like “1/3 of the way up the page near the right-hand side.”<br />

But in the world of <strong>ISO</strong> <strong>15926</strong> machines are the ones reading the data sheets. To a machine,<br />

the physical layout of the printed sheet means nothing. The machine is more interested in the<br />

precise definition of the terms. <strong>An</strong>d in this, Part 7 templates function for machines in the same<br />

way templates of paper data sheets function for humans. Templates for paper data sheets<br />

display information in visual patterns; Part 7 templates use information patterns.<br />

The biggest difference between the type of template people are used <strong>to</strong> and Part 7 templates<br />

is that Part 7 templates are for much smaller pieces of information. If you wanted <strong>to</strong> create a<br />

typical equipment data sheet using Part 7 templates in order <strong>to</strong> transfer all of the information<br />

about a piece of equipment, you would use many Part 7 templates and in fact would use many<br />

of the Part 7 templates many times. In this way, part 7 templates can be compared <strong>to</strong> the<br />

chemical elements.<br />

Looking at the periodic table, you can see that there are 118 elements listed. Yet with just 118<br />

elements the entire universe is made. Every once in awhile we find a new element, but we<br />

don’t expect <strong>to</strong> find a great many more. For an example of an information model, let’s take a<br />

look at a married couple (Bill and Joan) taking their dog (Willy) out for a walk after getting<br />

home from work. Figure 3.15 shows one way <strong>to</strong> diagram this. 5<br />

5. The “Walking the Dog” diagram is courtesy of Hans Teijgeler.<br />

CHAPTER 3<br />

85


class_of_person<br />

classification<br />

physical_object<br />

classifier<br />

classified<br />

‘woman’ ‘man’<br />

class_of_person<br />

classification<br />

physical_object<br />

classifier<br />

classified<br />

Indirect_<br />

other_relation<br />

role_1 role_2 side_1 connection side_2<br />

classification<br />

other_class_<br />

of_relation<br />

classifier<br />

classified<br />

‘marriage’<br />

Fig. 3.15 Walking the dog.<br />

class_of_organism<br />

classification<br />

physical_object<br />

classifier<br />

classified<br />

This shows that there is the relationship of “marriage” between two physical objects that are<br />

classified as persons and identified as “man” and “woman.” There is an indirect relationship<br />

between the “man” and a physical object classified as an organism and identified as “dog.”<br />

If you have never seen this type of notation before it will probably look very complex. But the<br />

reality is that the diagram is not nearly complex enough <strong>to</strong> capture everything an information<br />

modeler would need <strong>to</strong> know. For example:<br />

• Details about the “walking” activity.<br />

* The period in time in which they did the walking.<br />

* The location in which they did the walking.<br />

• Is the marriage happy?<br />

• Are they holding hands?<br />

• What is the means of the indirect connection? A leash?<br />

* What is the composition of the leash?<br />

• What is the breed of dog?<br />

Friends of Bill and Joan will be able <strong>to</strong> answer all of these questions because they know the<br />

context. But our reason for modeling the information is that Bill and Joan’s friends are not the<br />

intended audience, machines are. We want computer programs <strong>to</strong> be able <strong>to</strong> understand the<br />

information as well as humans do.<br />

For instance, what is the time of day? Friends will know that Bill and Joan are lab technicians<br />

who work the afternoon shift at the local hospital. If they just got home from work, it is prob-<br />

‘dog’<br />

CHAPTER 3<br />

86


ably 1:00 in the morning. Walking their dog Willy at that time of day might normally be dangerous<br />

given the part of <strong>to</strong>wn they live in, but Willy is a large Rottweiler. Friends would understand<br />

this implicitly, but if you want a machine <strong>to</strong> understand it you have <strong>to</strong> embed the entire<br />

context in<strong>to</strong> the information.<br />

Similarly, when modeling plant information there are a great many people who work with<br />

plant objects all day, every day—including engineers, buyers, suppliers, installation contrac<strong>to</strong>rs,<br />

maintenance technicians, opera<strong>to</strong>rs, and others. These people all have a great deal of<br />

knowledge about plant objects because they know the context. However, very few of them<br />

will have the motivation or patience <strong>to</strong> learn information modeling. Part 7 templates allow users<br />

<strong>to</strong> implement Part 2 without having <strong>to</strong> know Part 2.<br />

What a Template Looks Like<br />

Understanding the inner workings of a Part 7 template is far beyond the level of any book<br />

with “<strong>Introduction</strong>” in its title. 6 However, a quick peek will help <strong>to</strong> explain how templates can<br />

both be simple enough for untrained people <strong>to</strong> use while being rigorous enough <strong>to</strong> satisfy the<br />

information modeling needs of Part 2.<br />

Temperature Range Example<br />

Suppose you have chosen a particular model of temperature transmitter for the project you<br />

are working on. You will be using it many times, and thus would like <strong>to</strong> create a class so that it<br />

is easier <strong>to</strong> use.<br />

Manufacturer Model No. 3051CG<br />

Ambient Temperature –40 <strong>to</strong> 85 deg C.<br />

If you were a data modeler, it would naturally occur <strong>to</strong> you that your data model would need<br />

the terms shown in Figure 3.16. Just as naturally, this would lead <strong>to</strong> a data model that would<br />

look something like that shown in Figure 3.17.<br />

Class of<br />

Individual<br />

3051CG<br />

Class of Class of<br />

Relationship<br />

Ambient<br />

Temperature<br />

Single Property<br />

Dimension<br />

Scale<br />

Express<br />

Real<br />

Express<br />

Real<br />

Temperature Celcius “-40" “85”<br />

Fig. 3.16 Terms in a data model of a temperature range.<br />

6. On the other hand, if you have a strong aversion <strong>to</strong> labor-intensive, error-prone work and want<br />

<strong>to</strong> remove it from engineering work processes every time you encounter it, learning <strong>to</strong> model<br />

information at the level of Part 2 will lead you <strong>to</strong> a very fascinating and rewarding career.<br />

CHAPTER 3<br />

87


3051CG<br />

CO Individual<br />

Ambient<br />

Te mperature<br />

CO CO Relationship<br />

CO<br />

Possessor<br />

CO Indirect Property<br />

Upper Bound Of Property Range<br />

Classified<br />

Classifier<br />

Property<br />

Space<br />

Lower Bound Of Property Range<br />

Classified<br />

Classifier<br />

Te mperature Range<br />

-40°C–85°C<br />

Property Range<br />

Classifier<br />

Classified<br />

Temperature 85°C<br />

Property<br />

Classified<br />

Classifier<br />

Temperature<br />

Single Property Dimension<br />

Classifier<br />

Classified<br />

Te mperature -40°C<br />

Property<br />

Property Quantification<br />

Input Result<br />

Classified<br />

Classifier<br />

Ce lsius<br />

Scale<br />

Classifier<br />

Classified<br />

Input Result<br />

Property Quantification<br />

85<br />

Arithmetic Number<br />

Represented<br />

Represented<br />

-40<br />

Arithmetic Number<br />

Pattern ”85"<br />

CO Identification<br />

ExpressReal<br />

Pattern ”-40"<br />

Fig. 3.17 Data model of ambient temperature range.<br />

But none of this would naturally occur <strong>to</strong> an average engineer. Fortunately, most people will<br />

never have <strong>to</strong> learn how <strong>to</strong> do this because we can use a generic template for a property<br />

range instead. Figure 3.18 shows a template that says “Something” has “Property Type” with<br />

“Property Range” of “Base Property Type” defined by “Input 1” and “Input 2” with “UoM.”<br />

Hmm…It doesn’t look much simpler.<br />

Class<br />

Property Type<br />

CO<br />

Processor<br />

Upper Bound Of Property Range<br />

Classified<br />

Classifier<br />

CO Indirect Property<br />

Property<br />

Space<br />

Lo wer Bound Of Property Range<br />

Classified<br />

Classifier<br />

Property<br />

Property Quantification<br />

Property Range Base Property Type UoM<br />

Classifier<br />

Classified<br />

Classified<br />

Classifier<br />

Classifier<br />

Classified<br />

Input<br />

Classified<br />

Classifier<br />

Result<br />

Classifier<br />

Classified<br />

Arithmetic Number<br />

Input<br />

Result<br />

Property Arithmetic Number<br />

Property Quantification<br />

Represented<br />

Represented<br />

Pattern<br />

CO Identification<br />

Pattern<br />

Input 1<br />

Input 2<br />

ExpressReal<br />

Fig. 3.18 <strong>ISO</strong> <strong>15926</strong> property range template.<br />

CHAPTER 3<br />

88


But what if we <strong>to</strong>ld you that your only requirement is <strong>to</strong> fill in the blue boxes with the appropriate<br />

information, and that you can treat the other boxes and diamonds and connecters as<br />

so much modern art? But it gets simpler yet. If all you have <strong>to</strong> do is fill in the colored boxes<br />

and can ignore the rest, why even show you the rest? Why not just put the boxes in<strong>to</strong> tabular<br />

form, as in a spreadsheet? Why not, indeed. Figure 3.19 shows what users will actually have <strong>to</strong><br />

deal with. Simple, eh?<br />

Template<br />

ID<br />

Select RDL<br />

Class or<br />

Project Data<br />

ABC 3051CG<br />

Select from<br />

standard/<br />

cus<strong>to</strong>mized list of<br />

RDL Instance<br />

Class Property Type<br />

Ambient<br />

Temperature<br />

Property<br />

Range<br />

(Created by<br />

the system)<br />

Select from<br />

standard/<br />

cus<strong>to</strong>mized list of<br />

RDL Instance<br />

Base Property<br />

Type<br />

UoM Input 1 Input 2<br />

Temperature C -40 85<br />

Fig. 3.19 Property range template inputs.<br />

A template is basically a regular pattern of information, like rows and columns in a spreadsheet.<br />

The column headers in the spreadsheet are the “roles” of the template. Each row of the<br />

spreadsheet is a template instance. Each cell in the row is a value of a role (the column heading).<br />

The combination of the role names and role types is called the template signature. A<br />

template definition is the generic spreadsheet itself. It defines the name of the template and<br />

the roles, and what types of information are valid in those roles.<br />

To review, in slightly more technical language Part 7 defines an implementation-independent<br />

template methodology built on the Part 2 conceptual model. Part 7 provides template specification<br />

requiring template signatures listing roles and types of each argument, and provides<br />

an initial set of about 200 templates. These cover a wide range of concepts and are enough <strong>to</strong><br />

get started. When more are needed, Part 7 also contains instructions for creating new templates.<br />

Development of Part 7 was started several years ago. It has since been split in<strong>to</strong> what<br />

is now Parts 7 through 10.<br />

Part 8: Implementation Methods for the Integration of Distributed Systems –<br />

Web On<strong>to</strong>logy Language (OWL) Representation<br />

Part 8 is a method of representing information. In a natural language, it is like<br />

paper, a computer file, or even a s<strong>to</strong>ne tablet—a particular way of presenting<br />

information.<br />

It is possible <strong>to</strong> implement <strong>ISO</strong> <strong>15926</strong> with spreadsheets, text files, word processor documents,<br />

or cus<strong>to</strong>m code. However, there is no standard specification for doing it this way. This means<br />

that if two companies decided <strong>to</strong> exchange <strong>ISO</strong> <strong>15926</strong> information using spreadsheets but<br />

developed them independently the first versions of the spreadsheets would probably not be<br />

compatible. Some discussion and agreement of terms would still be necessary.<br />

Using a natural language metaphor, it would be like two people—one a Cockney from the East<br />

CHAPTER 3<br />

89


End of London, England, and the other a French Canadian—trying <strong>to</strong> communicate for the<br />

first time. Even though both people speak English, the two dialects are sufficiently different<br />

that it might take awhile for them <strong>to</strong> understand each other. Using Part 8 relieves an organization<br />

from having <strong>to</strong> develop an implementation method from scratch, and makes it easier for<br />

business partners <strong>to</strong> implement complementary systems.<br />

As a metaphor, we can compare the use of Part 8 <strong>to</strong> writing a memo and somehow delivering<br />

it <strong>to</strong> a friend. In order <strong>to</strong> compose the letter in English you would have had <strong>to</strong> use your<br />

knowledge of English words and grammar, which are equivalent <strong>to</strong> Part 4 and Part 2. Having<br />

the message formed in your mind is like Part 7. Putting the message on paper is like Part 8.<br />

Sending it in an envelope through postal services is like Part 9. Part 8 is a specification for the<br />

way <strong>to</strong> use two <strong>to</strong>ols developed for the Semantic Web, Web On<strong>to</strong>logy Language (OWL), and<br />

Resource Description Framework (RDF) <strong>to</strong> implement <strong>ISO</strong> <strong>15926</strong>.<br />

Web On<strong>to</strong>logy Language<br />

We have said earlier that Part 2 and Part 4 are arranged in an on<strong>to</strong>logy, with Part 2 consisting<br />

of basic concepts and Part 4 consisting of subtypes (or specializations) of these basic concepts.<br />

User-created RDLs will consist of subtypes, or specializations, of Part 4 classes.<br />

The Web On<strong>to</strong>logy Language (OWL) was developed as a way of defining and managing on<strong>to</strong>logies.<br />

A number of software packages have been developed <strong>to</strong> process OWL knowledge<br />

directly. OWL was attractive <strong>to</strong> the developers of <strong>ISO</strong> <strong>15926</strong> because many of the concepts<br />

of Part 2 correspond <strong>to</strong> specific concepts within OWL (for example, class and relation), which<br />

makes the semantics of <strong>ISO</strong> <strong>15926</strong> easier <strong>to</strong> implement.<br />

When you organize and describe plant objects with an on<strong>to</strong>logy that follows the rules of<br />

OWL, machines can follow the rules and make inferences without human intervention. For<br />

instance, you could declare that a centrifugal pump has at least one impeller. Therefore, if a<br />

pump does not have an impeller it cannot be a centrifugal pump.<br />

Resource Description Framework<br />

A resource description framework (RDF) is a way of making statements about things, which<br />

it calls resources, in the form of subject-predicate-object expressions (known as triples). For<br />

instance, in the declaration “My dog is a Tibetan Mastiff” “My dog” is the subject, “is a” is the<br />

predicate, and “Tibetan Mastiff” is the object. In addition, RDF notation has the ability <strong>to</strong> make<br />

explicit reference <strong>to</strong> published definitions through the use of URIs (discussed previously).<br />

Thus, instead of using the text string My dog the speaker could make reference <strong>to</strong> a web<br />

page containing a pho<strong>to</strong>graph of a particular instance of a dog 7 —and instead of Tibetan<br />

Mastiff a link <strong>to</strong> the American Kennel Club’s official description of Tibetan Mastiffs. 8 <strong>An</strong><br />

entire capital project can be represented in this form, which will enable machines <strong>to</strong> read the<br />

information and make correct inferences.<br />

7. If the dog were particularly important <strong>to</strong> the breed, perhaps a male dog that had sired several show<br />

winners, it might be included in that breed’s RDL of reference individuals.<br />

8. In this example, the American Kennel Club’s descriptions for the various breeds of dogs are a form of<br />

reference data library, with the address of each description being the URI.<br />

CHAPTER 3<br />

90


Part 9: Implementation Methods for the Integration of Distributed Systems –<br />

Facade Implementation<br />

Part 9 is like exposing messages in an on-line forum. It is open <strong>to</strong> the Internet,<br />

but only certain users have the right <strong>to</strong> read certain messages.<br />

A facade is an outward-facing view of something. In relation <strong>to</strong> <strong>ISO</strong> <strong>15926</strong>, you can think of<br />

this as a user interface for machines built in front of the information you have published with<br />

Part 8. Essentially, you can post the information you wish <strong>to</strong> publish in<strong>to</strong> your facade, setting<br />

up appropriate security so that only your business partners can query for information—and so<br />

that they can only see what you want them <strong>to</strong> see. After that, they can access whatever information<br />

they need—when they need it.<br />

Remember that the information you publish using Part 8 is in the form of an RDF, which is a<br />

series of triples collectively is known as a “triple s<strong>to</strong>re.” A recommended pro<strong>to</strong>col for querying<br />

RDF data defined by Part 9 is SPARQL, 9 another W3C standard query language similar in<br />

purpose <strong>to</strong> SQL but intended for triple s<strong>to</strong>res.<br />

To extend the metaphor of writing a memo <strong>to</strong> a friend, using Part 9 is like sending the message<br />

using your national postal system. You put the message in an envelope of a certain size,<br />

write your fiend’s name and address in a particular spot in a particular manner, and put a<br />

particular amount of postage on it. There are laws regarding where the postman can put the<br />

letter for delivery and who may open the letter. You also have the option of invoking certain<br />

rules by “registering” the envelope for an extra cost, which will guarantee delivery <strong>to</strong> a real<br />

person rather than just <strong>to</strong> your friend’s mailbox.<br />

Putting It All Together<br />

Figure 3.20 shows how all of the parts of <strong>ISO</strong> <strong>15926</strong> work <strong>to</strong>gether logically. 10 It is important <strong>to</strong><br />

note that this is not a single database but a federation of many databases. In fact, each of the<br />

layers is made up of many databases—each supported by the owner of that data. In Chapter<br />

1 we discussed the idea that information expressed in natural languages is usually not precise<br />

enough <strong>to</strong> preserve the semantics, or meaning, at the level of precision required for information<br />

exchange in capital projects. In the Chapter 2 we discussed on<strong>to</strong>logies as a way of representing<br />

information in a manner that preserves meaning. Together, all of the layers of this<br />

diagram form an on<strong>to</strong>logy—with each layer being a subtype, or specialization, of the previous<br />

layer (which means that the semantics of each object is preserved).<br />

For instance, the objects at the <strong>to</strong>p in Part 2 are generic concepts such as thing, class, individual,<br />

and property. The objects in Part 4, the core classes, are subtypes (or specializations) of<br />

the objects in Part 2. In turn, the user-defined classes are specializations of those in Part 4. Toward<br />

the bot<strong>to</strong>m, we get more and more specific until we have individual objects in a project.<br />

9. Pronounced “sparkle”.<br />

10. The pyramid diagram is courtesy of David Leal. It was adapted from a diagram in his paper “Life<br />

Cycle Data for a Process Plant: <strong>An</strong> Overview”.<br />

CHAPTER 3<br />

91


<strong>ISO</strong> <strong>15926</strong>-2<br />

<strong>ISO</strong> <strong>15926</strong>-4<br />

User defined classes<br />

Project Data<br />

Axiomatic concepts such as<br />

thing, class, individual, and<br />

property<br />

Generic engineering concepts,<br />

such as physical object, activity,<br />

composition, connection<br />

Core classes and reference<br />

individuals, such as pump,<br />

reducer, heat exchanger, Cairo<br />

Classes defined by<br />

international standards and<br />

industry associations<br />

Company commodity classes<br />

Catalogues from suppliers and<br />

manufactuerers<br />

Special project classes<br />

Project Individuals such as<br />

pump 37-P-101A and<br />

pressure guage 37-PI-205<br />

Core Templates<br />

<strong>ISO</strong> <strong>15926</strong>-7<br />

Fig. 3.20 <strong>ISO</strong> <strong>15926</strong> pyramid.<br />

Part 7 provides base templates of standard relationships. Together, the templates can be used<br />

like a box of Lego blocks <strong>to</strong> build the database representations of the complex objects that<br />

exist in real life. When we use the templates following the rules in Part 7, we ensure that the<br />

resulting information follows the data model in Part 2—which means that the information will<br />

in fact be precise enough <strong>to</strong> preserve the semantics and will integrate with other information<br />

developed following the <strong>ISO</strong> <strong>15926</strong> pro<strong>to</strong>cols. In presentations about <strong>ISO</strong> <strong>15926</strong>, you will<br />

often see a little pyramid looking something like that shown in Figure 3.21. The little pyramid is<br />

intended <strong>to</strong> represent the entire pyramid shown in Figure 3.20.<br />

<strong>ISO</strong> <strong>15926</strong><br />

Fig. 3.21 <strong>ISO</strong> <strong>15926</strong> pyramid symbol used in presentations.<br />

CHAPTER 3<br />

92


Other Parts of <strong>ISO</strong> <strong>15926</strong><br />

Astute readers will note that some part numbers are missing. Appendix A lists them all, with<br />

their most recent publication dates.<br />

Levels of Compliance with <strong>ISO</strong> <strong>15926</strong> Versus Ambiguity<br />

The purpose of <strong>ISO</strong> <strong>15926</strong> is <strong>to</strong> eliminate ambiguity in information so that it can be exchanged<br />

and reused easier. Our current work practices require significant manual work because ambiguity<br />

is inherent in the processes. Manual work drives up costs and introduces opportunities<br />

for error. The more we use <strong>ISO</strong> <strong>15926</strong>, the more we drive out ambiguity and au<strong>to</strong>mate information<br />

exchanges <strong>to</strong> drive costs down.<br />

Figure 3.22 shows various levels of compliance with <strong>ISO</strong> <strong>15926</strong> in information transfer, starting<br />

at the bot<strong>to</strong>m (with no compliance). The scale is really continuous, but we have shown six<br />

discreet levels. The bot<strong>to</strong>m two levels do not involve <strong>ISO</strong> <strong>15926</strong> but are included <strong>to</strong> show the<br />

progression.<br />

Least Ambiguity<br />

Greatest Compliance<br />

<strong>ISO</strong> <strong>15926</strong><br />

Least Compliance<br />

Greatest Ambiguity<br />

Ambiguity Scale<br />

Shouldn’t we add workflow<br />

and security <strong>to</strong> the semantic<br />

web?<br />

If we use the semantic web<br />

couldn’t we au<strong>to</strong>mate more of<br />

this?<br />

Would it help if I <strong>to</strong>ld you how<br />

I was using the data?<br />

Why don’t we use industry<br />

standard definitions?<br />

Wouldn’t it be better if we<br />

agreed on common<br />

definitions?<br />

Let’s just exchange raw data<br />

and figure it out <strong>to</strong>gether<br />

Fig. 3.22 Levels of compliance with <strong>ISO</strong> <strong>15926</strong>.<br />

CHAPTER 3<br />

93


Let’s Just Exchange Raw Data and Figure It Out Together<br />

Figure 3.23 shows two companies, ACME and EMCA, which wish <strong>to</strong> exchange some information<br />

contained in databases. At the beginning of the exchange, neither knows anything about<br />

the other’s system.<br />

• ACME selects the data <strong>to</strong> be exchanged and exports it <strong>to</strong> an intermediate file (a “data<br />

dump”)—perhaps in a comma delimited text file or spreadsheet.<br />

• ACME sends the data dump <strong>to</strong> EMCA.<br />

• EMCA cannot use the information because it does not know what all of it means.<br />

• Each company assigns an engineer <strong>to</strong> collaborate <strong>to</strong> make a cus<strong>to</strong>m map so that EMCA<br />

can import the data.<br />

• EMCA uses the map <strong>to</strong> import the data.<br />

Level of Collaboration Required<br />

Fig. 3.23 Figure out each exchange every time.<br />

The two engineers cannot go directly <strong>to</strong> mapping database columns <strong>to</strong>gether. They first have<br />

<strong>to</strong> understand quite a bit about each other’s applications. The dialog might go something like<br />

this:<br />

“What are we trying <strong>to</strong> exchange here?”<br />

“A purchase order database.”<br />

“Do you use a commercial package?”<br />

“No, we developed our own.”<br />

“Hmm. So did we.”<br />

“Okay, how do you build your line items?”<br />

“What do you mean, build? We type them in just as you see them on the purchase order.”<br />

“Oh. We link directly from the 3D model and roll up identical items on the fly.”<br />

CHAPTER 3<br />

94


“Do you retain any information of the source of the item.”<br />

“No. I <strong>to</strong>ld you we just type the line items in as you see them.”<br />

“Okay. We’ll have <strong>to</strong> do the rollup for you.”<br />

“Do you have any way <strong>to</strong> track overs or shorts?”<br />

“Qu’set que c’est overs and shorts?”<br />

“Well, if the supplier short-ships or over-ships, how do you handle this?”<br />

“I guess the receiver writes it on his copy of the PO and someone places a phone call.”<br />

“Hmm. We record it against the PO and the computer au<strong>to</strong>matically generates a message <strong>to</strong><br />

the purchasing agent.”<br />

<strong>An</strong>d so on. Only after they understand what each other has and what each other needs can<br />

they start mapping database columns against database columns.<br />

Wooden Swing Metaphor<br />

Earlier in this chapter we used a metaphor of a co-worker telling you about building a wooden<br />

swing for his kids over the weekend. We compared the explanation he would have had <strong>to</strong> give<br />

you if the two of you did not have a common understanding of basic terminology (91 words<br />

long) with a shorter version that depended on a common set of definitions (7 words).<br />

If we were <strong>to</strong> compare the swing metaphor <strong>to</strong> this case, we would have <strong>to</strong> make the long version<br />

even longer. A more accurate metaphor is that you speak English and your co-worker<br />

is just learning it, perhaps being a native of Fiji. Perhaps he has learned a few words, but still<br />

thinks in his native language. At some point, he may end up making a little drawing and doing<br />

some pan<strong>to</strong>mime. Together, you are more or less making up a list of equivalent words in the<br />

context of a wooden swing. This type of thing would be acceptable for a single exchange, but<br />

what happens if further ACME and EMCA business ventures require different exchanges, or<br />

exchanges between different applications?<br />

Wouldn’t It Be Better if We Agreed on Common Definitions?<br />

In Figure 3.24, ACME and EMCA exchange information often enough that there is an opportunity<br />

<strong>to</strong> streamline the operation. They do not want <strong>to</strong> have <strong>to</strong> consult with each other with<br />

every information exchange and start from scratch, so they agree on two things:<br />

• They will spend a bit of time <strong>to</strong> develop the terminology for a neutral information format.<br />

• They will not exchange raw data dumps. The sender will translate its information payload<br />

in<strong>to</strong> the neutral file format, which the receiver will be able <strong>to</strong> understand.<br />

CHAPTER 3<br />

95


Fig. 3.24 Common reference data library.<br />

This is the beginning of a data dictionary, or RDL. Start by assembling the terminology.<br />

• ACME and EMCA collaborate <strong>to</strong> create the dictionary of database terms and <strong>to</strong> decide the<br />

format of the neutral file. 11<br />

• Both ACME and EMCA use the dictionary <strong>to</strong> create their own database maps.<br />

• ACME selects certain data and exports using the database map <strong>to</strong> translate it <strong>to</strong> the agreed<br />

neutral file format.<br />

• EMCA receives the intermediate file and imports it in<strong>to</strong> its systems, using its database map<br />

<strong>to</strong> translate it.<br />

Level of Collaboration Required<br />

The only difference here from the previous example is that after the two organizations agree<br />

on the meaning of certain data items they will be able <strong>to</strong> use a standard neutral form for the<br />

information. They will still have <strong>to</strong> agree on the meaning of the information.<br />

As in the previous case, any new application added <strong>to</strong> the confederation will still be subject <strong>to</strong><br />

a detailed examination. If the new application uses new terminology, new terms will have <strong>to</strong> be<br />

added <strong>to</strong> the dictionary. If the new application uses existing terminology in a slightly different<br />

way, revisions <strong>to</strong> the dictionary may be required. New users may need more explana<strong>to</strong>ry material<br />

than a simple list of equivalent terms.<br />

Wooden Swing Metaphor<br />

Going back <strong>to</strong> the wooden swing metaphor, it is as if you were writing your own English-Fiji<br />

dictionary not having thought of going down <strong>to</strong> your local books<strong>to</strong>re and purchasing one.<br />

11. It is important <strong>to</strong> agree on 100% common definitions, otherwise there is a tendency <strong>to</strong> put<br />

proprietary information in<strong>to</strong> the neutral file, and without agreement on 100% of the information we<br />

are back <strong>to</strong> the previous case.<br />

CHAPTER 3<br />

96


When new terms are introduced, you will still need a discussion <strong>to</strong> discover their meaning—<br />

and may have <strong>to</strong> revise the understanding of old terms whenever you discover new concepts.<br />

This is a definite improvement, but what happens when the confederation of mapped applications<br />

grows? What happens when a third and fourth organization join the confederation?<br />

<strong>An</strong>d extending the situation further, what happens when members of different confederations<br />

have <strong>to</strong> exchange information? It is certainly possible <strong>to</strong> create new maps, and maps between<br />

maps, but the labor needed <strong>to</strong> maintain this will grow exponentially.<br />

Sooner or later someone will wonder whether or not there is an industry standard for data exchange.<br />

Funny you should ask! The next example shows two organizations exchanging information<br />

using <strong>ISO</strong> <strong>15926</strong>-4 (the RDL) using the RDS/WIP<br />

Why Don’t We Use Industry Standard Definitions?<br />

In the example shown in Figure 3.25, ACME and EMCA wish <strong>to</strong> use an industry standard dictionary<br />

<strong>to</strong> create the neutral files they use for information exchange. Being able <strong>to</strong> export information<br />

in<strong>to</strong> an industry standard format will allow them <strong>to</strong> exchange information with other<br />

organizations as well.<br />

• Both ACME and EMCA collaborate and agree <strong>to</strong> use the core classes in Part 4, and <strong>to</strong> use<br />

the rules in Part 4 <strong>to</strong> extend the classes.<br />

• Both use the dictionary <strong>to</strong> create their own database maps.<br />

• ACME selects certain data and exports using the database map <strong>to</strong> translate it <strong>to</strong> the agreed<br />

neutral file format.<br />

• ACME validates its data against the core classes in the Part 4 RDL, using the RDS/WIP <strong>to</strong><br />

make sure it is compliant before sending it out.<br />

• EMCA receives the intermediate file and validates it against the RDS/WIP <strong>to</strong> verify compliance.<br />

• EMCA imports the information using its database map <strong>to</strong> translate the information in<strong>to</strong><br />

something its systems understand.<br />

CHAPTER 3<br />

97


Level of Collaboration Required<br />

Fig. 3.25 Use <strong>ISO</strong> <strong>15926</strong>-4 for information exchanges.<br />

The major difference here is that instead of consulting a growing proprietary dictionary, all<br />

who are involved refer <strong>to</strong> the public standard. But both organizations will still need <strong>to</strong> have<br />

a discussion about how they will use the core classes and will need <strong>to</strong> agree on the meaning<br />

of new classes. (Recall our earlier discussion of your wife trying <strong>to</strong> ask you in French <strong>to</strong> get<br />

up off the couch and mow the lawn. A French-English dictionary allowed her <strong>to</strong> translate the<br />

individual words, but they didn’t come out the way a native French speaker would make the<br />

same request.)<br />

New applications added <strong>to</strong> the confederation would still be subject <strong>to</strong> a detailed discussion.<br />

<strong>An</strong>d, as before, because a new application may use existing terminology in a slightly different<br />

way revisions <strong>to</strong> the terms used for a particular information exchange may be required. Also, as<br />

before, new users may need more explana<strong>to</strong>ry material than a simple list of equivalent terms.<br />

Wooden Swing Metaphor<br />

To expand the metaphor <strong>to</strong> include this case, it is as if you have discovered that you can purchase<br />

an English-Fijian dictionary. Using a standard dictionary prepared by experts in both<br />

languages will make things a bit easier, but will not itself remove all of your communication<br />

problems. For instance, when new words come in<strong>to</strong> the morning coffee time conversation<br />

they will probably already be in the dictionary—but the two of you will still have <strong>to</strong> verify that<br />

CHAPTER 3<br />

98


you are using them correctly and will have <strong>to</strong> discover things like <strong>to</strong>nal inflection and sentence<br />

construction by trial and error.<br />

For instance, if your Fijian friend used just the dictionary <strong>to</strong> translate a few sentences in<strong>to</strong><br />

English it would probably sound funny <strong>to</strong> you (and vice versa). The two of you would be able<br />

<strong>to</strong> work through it because you know what sounds funny and can ask questions. But a computer<br />

does not have the ability, on its own, <strong>to</strong> recognize ambiguity and work through it.<br />

Would It Help If I Told You How I Was Using the Data?<br />

Using Part 4 makes it easier <strong>to</strong> create database maps because both parties no longer have <strong>to</strong><br />

relearn data definitions each time. The parties only have <strong>to</strong> collaborate when a new term is<br />

required, or if there is a deficiency in an existing definition. But both parties still need a fairly<br />

good understanding of the scope of the exchange. For example, using the dictionary will<br />

make it easier <strong>to</strong> identify the database term for the concept “maximum allowable working<br />

pressure” However, both parties still need <strong>to</strong> know that maximum allowable working pressure<br />

is required.<br />

When we send an inquiry <strong>to</strong> an instrument vendor for, say, a pressure instrument, the traditional<br />

way is <strong>to</strong> fill in a data sheet. If there were sufficient business with one vendor, we could<br />

conceivably configure a bulk database-<strong>to</strong>-database exchange using cus<strong>to</strong>m mapping. If business<br />

were sufficient, this might evolve <strong>to</strong> a cus<strong>to</strong>m data dictionary and then <strong>to</strong> a dictionary<br />

using <strong>ISO</strong> <strong>15926</strong>-4. But in all cases the data values that are required and are available still have<br />

<strong>to</strong> be known in advance.<br />

The more you have <strong>to</strong> know in advance about an information exchange, the more time it takes<br />

and the more “friction” there is. We would like <strong>to</strong> be able <strong>to</strong> communicate with new business<br />

partners almost on a whim. What we want <strong>to</strong> be able <strong>to</strong> do is simply dump out our data in a<br />

manner our business partners can easily figure out on their own.<br />

To meet this need, we will still use Part 4 as the data dictionary—and will still use the RDS/WIP<br />

<strong>to</strong> validate the information on each side of the exchange. In addition, we will structure our<br />

data according <strong>to</strong> Part 2. In the example shown in Figure 3.26 ACME wants <strong>to</strong> be able <strong>to</strong> send<br />

information <strong>to</strong> EMCA in a manner EMCA can simply use directly or figure out easily.<br />

CHAPTER 3<br />

99


Fig. 3.26 Use templates <strong>to</strong> make modeling easier.<br />

Both ACME and EMCA need <strong>to</strong> understand how <strong>to</strong> structure the neutral exchange file using<br />

the “grammar” of Part 2 along with the definitions of Part 4. The easiest way <strong>to</strong> do this is <strong>to</strong><br />

use the base templates in Part 7 <strong>to</strong> build the database maps with which you will export (or<br />

import) the neutral data exchange file. The basic difference between this method and the one<br />

previously described is the work going in<strong>to</strong> making the database maps and the composition<br />

of the neutral file.<br />

• ACME and EMCA collaborate and agree <strong>to</strong> use Part 7 (which implies Part 2) and Part 4.<br />

• Each organization creates information models, or maps, <strong>to</strong> transform its internal data structures<br />

<strong>to</strong> something that follows the <strong>ISO</strong> <strong>15926</strong> pro<strong>to</strong>cols. They use the base templates in<br />

Part 4 and the methodology in Part 7 <strong>to</strong> create new templates when required.<br />

• ACME selects certain data and exports it using the database map, based on Part 7 templates,<br />

<strong>to</strong> translate it <strong>to</strong> the agreed neutral file format. As it assembles the neutral file, the template<br />

validates the information against the core classes in the Part 4 RDL using the RDS/WIP<br />

• ACME sends the neutral file <strong>to</strong> EMCA.<br />

• EMCA receives the neutral file and processes it in reverse.<br />

• EMCA uses its database map, based on Part 7 templates, <strong>to</strong> translate the information in<strong>to</strong><br />

something its systems understand. EMCA’s templates understand how <strong>to</strong> read the meaning<br />

CHAPTER 3<br />

100


from the structure of the data in the neutral file.<br />

Level of Collaboration Required<br />

The level of collaboration required in this case is much less than in the previous case. In the<br />

previous case, ACME and EMCA had <strong>to</strong> describe <strong>to</strong> each other how they were using their data<br />

so that each could figure out the equivalent data elements in their own systems. The reason<br />

they no longer have <strong>to</strong> review this person <strong>to</strong> person is that they are describing how they use<br />

the data simply by using the base templates in Part 7.<br />

After they implement Part 7, all they will need <strong>to</strong> know from each other is the general nature<br />

of the information <strong>to</strong> be exchanged. Neither party has <strong>to</strong> know anything at all about the way<br />

each other creates and uses the information because the context of the information is contained<br />

within the information itself. The addition of Part 7 adds some initial work <strong>to</strong> fully understand<br />

the landscape of different applications and model them properly, but thereafter the<br />

actual data exchange becomes much simpler.<br />

Wooden Swing Metaphor<br />

This is where <strong>ISO</strong> <strong>15926</strong> starts <strong>to</strong> resemble the Babel fish we discussed at the very beginning<br />

of this book. When your Fijian co-worker tries <strong>to</strong> explain the wooden swing, he wouldn’t have<br />

<strong>to</strong> struggle with English—he could just speak his native language and you would understand<br />

it just as if he were speaking your particular dialect of English. In addition, if the two of you so<br />

desired you could delve in<strong>to</strong> the species of tree used for the lumber, the chemical constituents<br />

of the nylon rope, and the grade of steel used in the fasteners.<br />

If We Use the Semantic Web, Couldn’t We Au<strong>to</strong>mate More of This?<br />

Once we have our data exchanges in a form where the meaning of the information is embedded<br />

in<strong>to</strong> the structure of the data, Figure 3.27 shows how we can au<strong>to</strong>mate the process<br />

further.<br />

• ACME and EMCA collaborate and agree <strong>to</strong> use Part 4, Part 7 (which implies Part 2), and<br />

Part 8.<br />

• Each organization creates information models, or maps, <strong>to</strong> transform its internal data structures<br />

<strong>to</strong> something that follows the <strong>ISO</strong> <strong>15926</strong> pro<strong>to</strong>cols by using the base templates in<br />

Part 7.<br />

• They go a step further and use Part 8 <strong>to</strong> structure their data exchanges.<br />

• ACME selects certain data and exports it, using the database map, based on Part 7 templates,<br />

<strong>to</strong> translate it <strong>to</strong> the agreed neutral file format. As it assembles the neutral file, the<br />

template validates the data against the core classes in the Part 4 RDL using the RDS/WIP<br />

• ACME posts the information <strong>to</strong> its reposi<strong>to</strong>ry and tells EMCA how <strong>to</strong> <strong>to</strong> connect <strong>to</strong> it.<br />

• EMCA connects <strong>to</strong> ACME’s reposi<strong>to</strong>ry and selects the information it wants.<br />

• EMCA imports the information in<strong>to</strong> its systems using its database map, based on Part 7<br />

templates, <strong>to</strong> translate the information in<strong>to</strong> something its systems understand. EMCA’s templates<br />

understand how <strong>to</strong> read the meaning from the structure of the data in the neutral file.<br />

CHAPTER 3<br />

101


Level of Collaboration Required<br />

Fig. 3.27 Au<strong>to</strong>mating the process.<br />

About the only collaboration required here would be something <strong>to</strong> do with the manner of exchange.<br />

For instance, each party could post information on a particular location on the Internet<br />

so that other users could au<strong>to</strong>mate downloading the appropriate parts. Alternatively, they<br />

could send exchange files by e-mail. They would not have <strong>to</strong> discuss any details of the structure<br />

or meaning of the information itself because the meaning of the data would be embedded<br />

in the data itself.<br />

Wooden Swing Metaphor<br />

We need <strong>to</strong> venture in<strong>to</strong> science fiction here <strong>to</strong> extend the wooden swing metaphor <strong>to</strong> include<br />

this case. It would be as if your Fijian co-worker au<strong>to</strong>mated the morning coffee machine talk<br />

by programming his cell phone with au<strong>to</strong>matic answers <strong>to</strong> questions such as “How are you?,”<br />

“What did you do this weekend?,” and “What did you think of the football game on Saturday?”<br />

CHAPTER 3<br />

102


In turn, you program your cell phone <strong>to</strong> ask these questions in case the two of you get busy<br />

and miss each other. Your cell phone asks the questions and picks up the answers as you walk<br />

by his cubical so that you can read them at your leisure. (<strong>An</strong>d by the way, your friend writes<br />

his answers in Fijian but your cell phone translates them <strong>to</strong> perfect English while they are being<br />

downloaded!)<br />

Shouldn’t We Add Query, Workflow, and Security <strong>to</strong> the Semantic<br />

Web?<br />

Part 9 contains <strong>to</strong>ols developed for the semantic web <strong>to</strong> implement query, workflow, and security.<br />

Figure 3.28 shows how it might work.<br />

• Both ACME and EMCA use the base templates in Part 7 (which implies Part 2) and Part 4.<br />

• They go a step further and use Part 8 <strong>to</strong> structure their data exchanges.<br />

• ACME builds a facade using Part 9 <strong>to</strong> add security and allow au<strong>to</strong>mation.<br />

• ACME selects certain data and exports it <strong>to</strong> its facade, as in the previous example.<br />

• EMCA connects <strong>to</strong> ACME’s facade and selects whatever data it wants.<br />

• EMCA imports the information in<strong>to</strong> its systems, as in the previous example.<br />

Part 9 will also make it possible for EMCA <strong>to</strong> perform more interactive queries. For instance, if<br />

ACME maintained his<strong>to</strong>rical information (say, of the design of a particular piece of equipment<br />

at each point in time), EMCA would be able <strong>to</strong> structure a query that would pull back not only<br />

the current state of the design but the way each piece had changed over time.<br />

CHAPTER 3<br />

103


Level of Collaboration Required<br />

Fig. 3.28 Au<strong>to</strong>mating the process with security<br />

The only question at this stage will be something like “What’s the URL of your <strong>ISO</strong> <strong>15926</strong> interface<br />

and what credentials do I need <strong>to</strong> get in?” As in the previous case, they would not have <strong>to</strong><br />

discuss any details of the structure or meaning of the information itself because the meaning<br />

of the data would be embedded in the data itself.<br />

Wooden Swing Metaphor<br />

To the previous example we add the idea that your Fijian friend could program his cell phone<br />

<strong>to</strong> adjust the information his cell phone gives out based on the cell phone doing the asking.<br />

So, when the boss walks by the boss’s cell phone would get the message “I worked overtime<br />

on the Johnson file all day Saturday.” But when you walk by your cell phone would get the<br />

message about building the wooden swing. <strong>An</strong>d as in the previous example, your friend writes<br />

in Fijian and your cell phone gives you the messages in English.<br />

CHAPTER 3<br />

104


CHAPTER 4:<br />

CURRENT EVENTS IN THE WORLD<br />

OF <strong>ISO</strong> <strong>15926</strong><br />

In this chapter we discuss current efforts <strong>to</strong> continue the development of <strong>ISO</strong> <strong>15926</strong>, and <strong>to</strong><br />

use in production the parts that are ready. To explain how <strong>ISO</strong> <strong>15926</strong> will work, at the beginning<br />

of this book we used the fictional babel fish—which, after placing it in your ear, somehow<br />

converts everything you hear in<strong>to</strong> your own language.<br />

<strong>An</strong>other way of saying this is: “My computer can talk <strong>to</strong> your computer and we do not have <strong>to</strong><br />

know anything about each other’s systems beforehand.” To any with a background in computer<br />

systems, this is a tall order indeed. If we express the issue this way, it sounds like we are<br />

talking about artificial intelligence. Well, artificial intelligence would be nice but we’ve been<br />

working on it for decades with little apparent progress.<br />

However, we do not need actual human intelligence in a machine. For instance, you can fly—<br />

but not like birds. In that respect, you are both more free and less free than birds. Birds cannot<br />

fly across the Atlantic Ocean in eight hours, but you can. On the other hand, you can’t jump<br />

off a tall building and fly across the road <strong>to</strong> visit your friends, 1 but birds can.<br />

Similarly, we do not need actual human intelligence for information exchange. In any given<br />

exchange, the scope we are talking about is limited. The computer programs that need <strong>to</strong><br />

exchange information already deal with the same real-world objects, just in a slightly different<br />

way. All we need is <strong>to</strong> find a means of representing the attributes of these objects in a way all<br />

computer programs can recognize. (When we express it this way, it almost sounds easy!)<br />

When we review the his<strong>to</strong>ry behind <strong>ISO</strong> <strong>15926</strong>, it becomes even more believable. Soon after<br />

CAD software came in<strong>to</strong> common use, we wished we could transfer dimensional information<br />

between different CAD software and got exchange standards such as the Initial Graphics<br />

Exchange Specification (IGES). Then we wondered why we couldn’t also transfer information<br />

such as surface finish and materials between various product design software and got the<br />

Standard for the Exchange of Product Information (STEP). In hindsight, knowing the success<br />

STEP has had in the manufacturing industry this seems almost inevitable.<br />

But when we tried <strong>to</strong> use STEP <strong>to</strong> manage the life cycle of a process plant, we ran in<strong>to</strong> the issue<br />

of having <strong>to</strong> maintain a very complex data model for the 30- or 40-year life of the facility. That<br />

did not work <strong>to</strong>o well in practice, so we traded in the detailed data model for a simpler, generic<br />

data model (Part 2) combined with a reference data library (RDL, Part 4) and got <strong>ISO</strong> <strong>15926</strong>.<br />

The theoretical development has continued with the addition of templates (Part 7), which<br />

makes it easier <strong>to</strong> use the data model—and the addition of semantic web <strong>to</strong>ols (Parts 8 and 9)<br />

<strong>to</strong> more easily preserve the meaning of information during exchange. Development and use of<br />

<strong>ISO</strong> <strong>15926</strong> is increasing every year. Current efforts can be divided in<strong>to</strong> three groups.<br />

• The use of <strong>ISO</strong> <strong>15926</strong> mandated by owner-opera<strong>to</strong>rs for production systems. This is probably<br />

the most important development because it often takes influential owners <strong>to</strong> make<br />

a standard a requirement before the standard is accepted widely. We have two instances<br />

1. Except, of course, if your name is Keanu Reeves.<br />

CHAPTER 4<br />

105


in which this is happening: in production oil facilities on the Norwegian continental shelf<br />

(NCS) and in a pilot project <strong>to</strong> develop best practices for information handover preceding<br />

the construction of a world-scale bitumen upgrader and oil refinery.<br />

• The development of key infrastructure in the form of a practical reference data service<br />

(RDS), and software enabling the use of semantic web <strong>to</strong>ols for information exchange.<br />

• The continued development of standards for geometry, instrumentation, and the harmonization<br />

between <strong>ISO</strong> <strong>15926</strong> and other industry standards.<br />

Much of this development is sponsored by Fiatech and the POSC Caesar Association (PCA).<br />

Recently, MIMOSA and the OpenO&M Initiative (which we introduce later in this chapter) have<br />

also sponsored projects.<br />

Using <strong>ISO</strong> <strong>15926</strong> in Production<br />

Exploration Production Information Management Association<br />

The Exploration Production Information Management Association (EPIM) is a nonprofit association<br />

of companies operating on the NCS in some part of the oil production supply chain.<br />

The objective of EPIM is <strong>to</strong> develop the best IT solutions for exchanging information and <strong>to</strong><br />

promote these solutions <strong>to</strong> its users. EPIM is a distinct Norwegian operation, but because<br />

most global oil producers have some work going on in the NCS the EPIM has an international<br />

membership. EPIM jointly sponsors a number of projects with POSC Caesar, including IOHN,<br />

EqHub, and the EPIM Reporting Forum.<br />

Integrated Operations in the High North<br />

The term integrated operations in the oil and gas exploration and production industry refers<br />

<strong>to</strong> new work processes that combine information between the various disciplines within a<br />

large oil company. For opera<strong>to</strong>rs in very remote sites, such as the high north, there are heavy<br />

demands on communication. Instrumentation and efficient transfer of real-time data between<br />

the fields and centralized operations is critical <strong>to</strong> profitable development.<br />

The Integrated Operations in the High North (IOHN) project is a collaboration of about two<br />

dozen organizations along the oil exploration and production supply chain. The project involves<br />

designing, implementing, and testing a digital platform—based on open standards—<strong>to</strong><br />

capture and transfer real-time data from drilling and production platforms <strong>to</strong> management<br />

offices. There are three layers: a physical layer, a business layer, and a technology layer. <strong>ISO</strong><br />

<strong>15926</strong> is part of the technology layer, enabling an easier exchange and integration of information<br />

across disciplines and business domains.<br />

Equipment Hub<br />

Equipment Hub (EqHub) is a reposi<strong>to</strong>ry for technical information for all of the oil and gas opera<strong>to</strong>rs<br />

and suppliers working on the NCS. EPIM, which owns and manages EqHub, estimates<br />

that the cost of providing necessary documentation ranges from 5 <strong>to</strong> 20 percent of the <strong>to</strong>tal<br />

installed cost—depending on the type of equipment. The reposi<strong>to</strong>ry will hold and share certified<br />

information on standard equipment, which can represent 80 percent of document vol-<br />

CHAPTER 4<br />

106


umes on an asset. POSC Caesar will make the existing <strong>ISO</strong> <strong>15926</strong> RDL available <strong>to</strong> EqHub, and<br />

extend it <strong>to</strong> cover the EqHub scope.<br />

EPIM Reporting Forum<br />

The Reporting Forum standardizes the daily and monthly reports drillers and producers have<br />

<strong>to</strong> provide <strong>to</strong> their regula<strong>to</strong>ry authorities. To date, the daily drilling report, daily production<br />

report, and the monthly production report have been standardized. Conceptually, this sounds<br />

pretty simple—but these three reports represent the entire value of a drilling or production<br />

asset. Smoothly operating, transparent reporting mechanisms build mutual trust among business<br />

partners and regula<strong>to</strong>rs. These reports are structured according <strong>to</strong> <strong>ISO</strong> <strong>15926</strong>, follow the<br />

PCA oil and gas on<strong>to</strong>logy, and use the PCA RDS.<br />

MIMOSA and the OpenO&M Initiative<br />

More money is spent in the operations and maintenance (O&M) phase of a facility, between<br />

startup and demolition, than on the original design and construction. Capital assets—including<br />

facilities, plants, and complex platforms—use increasingly complex au<strong>to</strong>mation systems requiring<br />

many event-oriented data and information flows in order <strong>to</strong> support the intended O&M<br />

activities. Large numbers of O&M systems need <strong>to</strong> interoperate with one another, not only at<br />

startup but over the life of the facility—even as individual systems are upgraded or replaced.<br />

As the complexity of the environment has increased, traditional systems integration approaches<br />

have become increasingly difficult, expensive, and risky <strong>to</strong> implement and sustain.<br />

Standards organizations in the O&M community (ISA, MIMOSA, OAGi, OPC Foundation, and<br />

WBF-B2MML) have taken on the task of solving this problem in a collaborative manner via the<br />

OpenO&M Initiative. MIMOSA, a not-for-profit trade association dedicated <strong>to</strong> developing and<br />

encouraging the adoption of open information standards for O&M, has also helped lead efforts<br />

<strong>to</strong> engage with Fiatech and PCA in order <strong>to</strong> solve the problem in the most sustainable way.<br />

The solution is the system of systems (SoS) paradigm, in which individual systems are designed<br />

<strong>to</strong> interoperate as a single composite system on a sustainable basis over the life of<br />

the facility. MIMOSA and the OpenO&M Initiative are applying the SoS paradigm <strong>to</strong> complex<br />

plants, platforms, and facilities. Their methodology relies on the use of shared services and information<br />

models driven by OpenO&M use cases, which are defined and prioritized by owneropera<strong>to</strong>rs<br />

on behalf of industry groups such as oil and gas, chemical, and aerospace. Collectively,<br />

these shared services and information models form a foundational Information Service<br />

Bus Architecture upon which owner-opera<strong>to</strong>r–specific functions can be built.<br />

Using this paradigm, an owner-opera<strong>to</strong>r no longer must design, develop, and implement a<br />

large cus<strong>to</strong>m integration solution for the core of O&M interoperability. Instead, it can require<br />

that its suppliers leverage the industry developed solution. Systems suppliers must support<br />

the required services interfaces, whereas engineering procurement and construction (EPC)<br />

engineers must hand over site-specific engineering and construction information in approved<br />

machine-readable formats. They must all agree <strong>to</strong> share industry developed RDLs.<br />

O&M Background<br />

In 1989, the Purdue Reference Model for Computer Integrated Manufacturing established a<br />

CHAPTER 4<br />

107


five-level hierarchal model of a manufacturing facility—named 0 through 4—starting from the<br />

bot<strong>to</strong>m and moving <strong>to</strong> the <strong>to</strong>p. The description and details of the content of the layers have<br />

evolved, but the basic principles have remained in active use in all major subsequent standardization<br />

activities addressing the au<strong>to</strong>mation of manufacturing as well as other processoriented<br />

industries.<br />

• For the sake of simplicity, layers 0, 1, and 2 can be somewhat aggregated <strong>to</strong> include the<br />

physical assets under management and the true real-time systems providing au<strong>to</strong>mation,<br />

control, and moni<strong>to</strong>ring.<br />

• Layer 3 is often described as manufacturing operations management or even more generally<br />

(and <strong>to</strong> cover environments other than manufacturing) as operations management. It<br />

is event driven and thus operates with a time lag behind the real-time systems in the layers<br />

below, but it tends <strong>to</strong> be timelier than transactional environments in the business-management–oriented<br />

layer above. It is concerned with detailed operations planning and scheduling,<br />

order fulfillment, and maintenance planning and scheduling. This space is somewhat<br />

chaotic, with many players attempting <strong>to</strong> gain control over it.<br />

• Layer 4 is often described as business management and typically contains the enterprise<br />

resource planning (ERP), supply chain management (SCM), and cus<strong>to</strong>mer relationship<br />

management (CRM) systems used for overall management. Integration within this layer is<br />

normally somewhat out of the box, as the systems tend <strong>to</strong> be supplied by one of the two or<br />

three suppliers of major systems.<br />

A key goal of MIMOSA and other OpenO&M Initiative participants is <strong>to</strong> standardize layer 3 as<br />

the key connectivity layer in the SoS paradigm. Thus, any compliant au<strong>to</strong>mation and/or operations<br />

management system will work with any compliant ERP system—and multiple compliant<br />

systems from multiple vendors can be used in the same system. Switching cost is also dramatically<br />

reduced, should that become necessary, although owner-opera<strong>to</strong>rs will normally retain<br />

compliant systems that are performing their jobs in a proper manner. Because many large<br />

owner-opera<strong>to</strong>rs are collaborating in this effort, their wishes carry some weight.<br />

Bringing Engineering and O&M Together<br />

Although design, engineering, and construction systems were largely considered out of scope<br />

in the Purdue model, there is a critical need <strong>to</strong> include them in a sustainable SoS solution.<br />

Typically, a large amount of manual takeoff is done using PDFs and spreadsheets as key parts<br />

of the system implementation and integration activity. This adds significant expense, time, and<br />

risk <strong>to</strong> the startup—and impacts full life-cycle sustainability because the lack of proper synchronization<br />

between O&M systems and engineering systems after handover results in ambiguity<br />

about plant, platform, and facility configuration.<br />

As the OpenO&M Initiative has worked <strong>to</strong> define the basis for an interoperable execution environment<br />

for an SoS, Fiatech and PCA have worked <strong>to</strong> define the basis for a shared reference<br />

information environment based on <strong>ISO</strong> <strong>15926</strong> (shown in Figure 4.1). There is a tremendous<br />

opportunity <strong>to</strong> help instantiate the sustainable interoperability environment for O&M systems<br />

through a well targeted digital handover <strong>to</strong> the owner-opera<strong>to</strong>r. Whereas a capital projects<br />

team is potentially concerned with an almost unlimited scope of detailed information that may<br />

need <strong>to</strong> be modeled and exchanged, the information needed <strong>to</strong> be handed over <strong>to</strong> provision<br />

the interoperable O&M environment is comparatively limited. By focusing on this defined set<br />

of information, there is a large near-term opportunity <strong>to</strong> save time and money while improving<br />

risk management over the entire life of the facility.<br />

CHAPTER 4<br />

108


Fig. 4.1 O&M reference information environment.<br />

In 2008, Fiatech, PCA, MIMOSA, and OpenO&M initiated a collaboration <strong>to</strong> harmonize the MI-<br />

MOSA and OpenO&M standards with <strong>ISO</strong> <strong>15926</strong>. This will establish a shared reference information<br />

environment supporting the interoperable execution environment for O&M systems. EPC<br />

contrac<strong>to</strong>rs will then be able <strong>to</strong> provide the required provisioning information using <strong>ISO</strong> <strong>15926</strong><br />

pro<strong>to</strong>cols. The Australia-based Cooperative Research Centre for Infrastructure and Engineering<br />

Asset Management (CIEAM) is also a key part of the collaboration through their support<br />

of standards workshops for this portfolio of standards in conjunction with the World Congress<br />

on Engineering Asset Management.<br />

Joint Special Interest Groups<br />

MIMOSA and PCA have established two joint special interest groups (SIGs) in collaboration<br />

with Fiatech.<br />

• O&M SIG: This group is focused on leveraging the combination of <strong>ISO</strong> <strong>15926</strong>, MIMOSA, and<br />

OpenO&M standards <strong>to</strong> enable sustainable interoperability of O&M systems.<br />

• IT Architecture SIG: This group will focus on the IT-architecture–specific elements of standardization<br />

needed <strong>to</strong> support the use of the combined standards.<br />

The joint SIGs are performing work that will be directly applied in a large bitumen upgrader<br />

and oil refinery being built in Canada, which has specified the use of an open execution environment<br />

for O&M systems interoperability based on a number of use cases developed by<br />

OpenO&M. This is a green field project scheduled <strong>to</strong> produce a commissioned plant by early<br />

2015. The methodology for digital handover of required O&M information will be incrementally<br />

CHAPTER 4<br />

109


specified and piloted prior <strong>to</strong> actual implementation in the project.<br />

The first phase of this effort is underway and will be piloted by the end of <strong>2011</strong>. It is framed<br />

around OpenO&M use case 1 (handover) and will focus on a debutanizer <strong>to</strong>wer. A public demonstration<br />

at an industry conference by the end of <strong>2011</strong> will leverage the same use case <strong>to</strong> target<br />

data set (debutanizer <strong>to</strong>wer) and open solutions architecture in an environment designed<br />

<strong>to</strong> encourage maximum supplier participation. Subsequent phases will be incrementally<br />

spiraled <strong>to</strong> build a virtual plant and demonstrate the full set of OpenO&M use cases. The O&M<br />

implementation methodology for this project will be derived from the open industry activities<br />

and will be incrementally piloted in phase with the open industry activity.<br />

Development of Enabling Infrastructure<br />

Joint Operational Reference Data<br />

The Joint Operational Reference Data (JORD) project is the result of a 2009 recommendation<br />

<strong>to</strong> build an industrial-strength RDS. <strong>An</strong> RDS is the user interface for working with and<br />

managing an RDL for <strong>ISO</strong> <strong>15926</strong>. Reference data is the lifeblood of <strong>ISO</strong> <strong>15926</strong>. It accomplishes<br />

the dual task of eliminating ambiguity in information exchanges and reducing the size of data<br />

payloads.<br />

You may recall from Chapter 3 that the idea of an RDL separate from a data model goes back <strong>to</strong><br />

the early 1990s, during the development of the STEP application pro<strong>to</strong>cols (APs). The first RDLs<br />

were simple lists of attributes whereby everyone agreed <strong>to</strong> use a particular name for a particular<br />

object. In use, these terms were “hard coded” in<strong>to</strong> the database structure and database maps.<br />

As long as all business partners knew each other well enough <strong>to</strong> trust that each used the<br />

terminology correctly, this worked. But the vision of <strong>ISO</strong> <strong>15926</strong> is that organizations be able <strong>to</strong><br />

exchange information with anyone. What the industry needed was some way <strong>to</strong> validate terminology<br />

when exchanging information with partners that were not known as well. The industry<br />

needed a service for publicly available reference data based on Part 4.<br />

In the mid 2000s, such a service was created in the form of what we now call the RDS/WIP<br />

(Reference Data Service/Work in Progress). <strong>An</strong>yone can use it, and with just a little training<br />

anyone can add <strong>to</strong> it. As an experiment, the RDS/WIP has been a great success—with a number<br />

of important lessons learned, not the least of which is the enthusiasm with which new<br />

terms were added by people on their own learning curve. In the RDS/WIP <strong>to</strong>day, there are<br />

many terms that have been developed properly—specialized from the correct parent in good<br />

object-oriented style.<br />

Unfortunately, there are a great many more that have not been. It still takes a fair amount of<br />

instruction for new users <strong>to</strong> know how <strong>to</strong> select an appropriate class. It is from experience<br />

with the RDS/WIP that demand grew for an industrial-strength RDL, which prompted Fiatech<br />

and PCA <strong>to</strong> sponsor JORD. Figure 4.2 shows how it will work. This diagram demonstrates<br />

three things.<br />

• The RDLs will be highly distributed. We have previously described the use of each term’s<br />

uniform resource identifier (URI), which is essentially the web page for each definition. As<br />

far as the technology is concerned, there is no reason every term in a large information<br />

exchange could not point <strong>to</strong> a different RDL.<br />

CHAPTER 4<br />

110


• There will be many levels of certification. The diagram shows five levels of RDL, but in practice<br />

there will be a continuum from private sandboxes closed <strong>to</strong> outsiders all the way up <strong>to</strong><br />

<strong>ISO</strong>.<br />

• As the audience for an RDL expands, access will change from read-write (whereby definitions<br />

can be changed) <strong>to</strong> immutable (where they will never change). There is risk in making<br />

the decision whether or not <strong>to</strong> make definitions immutable. As an industry group starts <strong>to</strong><br />

develop an RDL, there will likely be a learning curve—and if all definitions had <strong>to</strong> be immutable<br />

from the start some mistakes would inevitably be “cast in s<strong>to</strong>ne.” But as a given<br />

term gains acceptance it should eventually become immutable so that organizations can<br />

count on it. The smaller communities are in a better position <strong>to</strong> manage this risk. Industry<br />

participants anticipate a certain amount of cascading of terminology upward as it becomes<br />

industry standard practice.<br />

Currently, JORD is on target in developing a funding model and proposals for working facilities.<br />

Fig. 4.2 Federation of cascading reference data libraries.<br />

CHAPTER 4<br />

111


iRING<br />

iRING is more or less a brand name for an approach <strong>to</strong> information exchange that uses the<br />

full specification of <strong>ISO</strong> <strong>15926</strong>. The name is an acronym of <strong>ISO</strong> <strong>15926</strong> Realtime Interoperability<br />

Network Grid. It was developed with four purposes in mind.<br />

• To prove that information exchange using the full specification of <strong>ISO</strong> <strong>15926</strong> is possible.<br />

• To develop software interface <strong>to</strong>ols using the full specification of <strong>ISO</strong> <strong>15926</strong> and make the<br />

<strong>to</strong>olkits available <strong>to</strong> anyone under an open-source license.<br />

• To develop best practices and make them available <strong>to</strong> those who use the <strong>to</strong>ols.<br />

• To encourage software vendors <strong>to</strong> collaborate and support iRING interfaces within their<br />

product offerings.<br />

Although there still is work <strong>to</strong> do before iRING technology is ready <strong>to</strong> be used on a real project,<br />

there have been a number of very successful demonstrations. Figure 4.3 is a simplified diagram<br />

showing how it will work. As with other information exchanges, ACME uses a database<br />

map <strong>to</strong> transform its internal information in<strong>to</strong> the form of Part 7 templates. The templates<br />

capture the meaning of the data along with the data values. Part 8 (OWL) is used <strong>to</strong> ensure<br />

that the on<strong>to</strong>logy of <strong>ISO</strong> <strong>15926</strong> is preserved and then posts it <strong>to</strong> a Part 9 (Facade).<br />

PART 7<br />

Templates<br />

PART 8<br />

OWL<br />

ACME EMCA<br />

MAP 7 8<br />

Part 9<br />

Facade<br />

9 Exchange 9 8 7<br />

Validation<br />

Part 9<br />

Facade<br />

Validation<br />

PART 8<br />

OWL<br />

PART 7<br />

Templates<br />

MAP<br />

Fig. 4.3 iRING information flow.<br />

During this process, the terminology is validated with the appropriate RDLs—which are based<br />

on Part 4. When EMCA receives the data, it processes it in reverse—validating the terminology<br />

with the RDLs used by ACME. The software <strong>to</strong>ols <strong>to</strong> configure and execute these functions are<br />

collectively called iRINGTools, which are developed and owned by the iRINGUserGroup. The<br />

<strong>to</strong>ols are available <strong>to</strong> anyone for any purpose under what is known as the BSD three-clause<br />

open-source license. The group also offers a ready-made RDS called iRINGSandbox that will<br />

work with any system that uses iRING pro<strong>to</strong>cols.<br />

The iRINGUserGroup continues <strong>to</strong> develop iRING technology on a very aggressive schedule. In<br />

addition, Fiatech has sponsored two projects <strong>to</strong> continue the development of iRINGTools.<br />

• <strong>ISO</strong> <strong>15926</strong> project information flow will define typical data flows in different types of capital<br />

projects, test and validate currently available <strong>ISO</strong> <strong>15926</strong> <strong>to</strong>ols, and assist companies in<br />

CHAPTER 4<br />

112


adopting <strong>ISO</strong> <strong>15926</strong> by highlighting implementation methodologies and achievable savings.<br />

• The iRINGTools Interfacing Project (IIP) will deliver a set of iRING <strong>to</strong>ols data layer modules<br />

that will provide native <strong>ISO</strong> <strong>15926</strong> and iRING interfaces <strong>to</strong> commercial engineering software.<br />

This means that iRING capability can be added <strong>to</strong> commercial software without having<br />

<strong>to</strong> modify the software.<br />

Practical Guide for <strong>ISO</strong> <strong>15926</strong> Modeling<br />

To exchange information using <strong>ISO</strong> <strong>15926</strong>, it has <strong>to</strong> be modeled according <strong>to</strong> the data model<br />

in Part 2. To make it easier for industry professionals <strong>to</strong> use Part 2, the concept of templates—<br />

which are like building blocks for information—was developed as Part 7. Although physically<br />

similar <strong>to</strong> mapping two databases <strong>to</strong>gether with a spreadsheet (basically, you just enter the<br />

name of the template instead of an attribute name) modeling with Part 7 is sufficiently different<br />

that it is becoming a barrier <strong>to</strong> the wide acceptance of <strong>ISO</strong> <strong>15926</strong>. (We provide an introduc<strong>to</strong>ry<br />

example in Appendix C.)<br />

A working group is being formed <strong>to</strong> remedy this with a guide for modeling using Part 7. The<br />

deliverable will be a manual describing how <strong>to</strong> use templates, in language that industry professionals<br />

can understand. A good part of this will overlap with JORD, in that using an RDL is<br />

part of using templates.<br />

Continued Development of Standards<br />

Geometry Special Interest Group<br />

The Fiatech Geometry SIG is developing Part 3: Reference Data for Geometry and Topology.<br />

Part 3 will describe a neutral way of representing graphics. It will be a dictionary that all 3D<br />

design systems can map <strong>to</strong> in order <strong>to</strong> exchange graphical information. Part 3 is <strong>to</strong> geometry<br />

as Part 4 is <strong>to</strong> data.<br />

Today, many capital projects use some type of engineering design system in order <strong>to</strong> make<br />

use of the inherent 3D visualization of those systems, their ability <strong>to</strong> check for interferences,<br />

and their ability <strong>to</strong> produce au<strong>to</strong>mated drawings with fabrication details and bills of material.<br />

Increasingly nowadays, the information about project objects is being linked directly <strong>to</strong> the<br />

image of that object so that the 3D model essentially becomes the index <strong>to</strong> all project information.<br />

It is important, then, that the “graphics” of the project be exchanged with <strong>ISO</strong> <strong>15926</strong><br />

as easily as the “data”, and that the graphics be linked <strong>to</strong> the data.<br />

Currently, there are a number of ways <strong>to</strong> exchange graphic images between commercial CAD<br />

software—but they typically only exchange the graphics. <strong>An</strong>y data attached <strong>to</strong> the graphics,<br />

or even indexes <strong>to</strong> the data, are lost. If an owner wants <strong>to</strong> take delivery of an intelligent 3D<br />

model, about the only way nowadays is <strong>to</strong> require all of the EPC contrac<strong>to</strong>rs <strong>to</strong> use one particular<br />

system. The vision of <strong>ISO</strong> <strong>15926</strong> is <strong>to</strong> be able <strong>to</strong> exchange graphical information between<br />

3D engineering systems as easily as any other project data.<br />

Every 3D engineering system uses a different means of representing physical objects. For instance,<br />

there are many ways of s<strong>to</strong>ring the dimensions of a piping tee. One system may record<br />

the location of one of the connection points and the face-<strong>to</strong>-face dimensions between it and<br />

CHAPTER 4<br />

113


the others, whereas another may record the location of the center and the distance from there<br />

<strong>to</strong> each of the branch connection points. Part 3 describes a single method of describing the<br />

geometry of a part <strong>to</strong> which all systems can unambiguously map.<br />

When Part 3 is complete, we will be able <strong>to</strong> use Part 7 templates <strong>to</strong> include geometry information<br />

for project objects. This means that all of the information about an object is in one place.<br />

Part 3 is based on <strong>ISO</strong> 10303-42 (Integrated Generic Resource: Geometric and Topological<br />

Representation) and <strong>ISO</strong> 10303-104 (Integrated Application Resource: Finite Element <strong>An</strong>alysis).<br />

Instrument Special Interest Group<br />

Fiatech’s Instrument SIG is working <strong>to</strong> standardize the manner in which instruments are described.<br />

One of the issues in exchanging information by converting everything in<strong>to</strong> a neutral<br />

form is making sure that all participants make the same choice of class <strong>to</strong> map a given attribute<br />

<strong>to</strong>. In many of the prior demonstrations of <strong>ISO</strong> <strong>15926</strong>, the goal was <strong>to</strong> develop the technology<br />

and thus the participants were “coached” on how <strong>to</strong> choose the correct classes. But<br />

the vision of <strong>ISO</strong> <strong>15926</strong> is that project participants need not collaborate at that level prior <strong>to</strong><br />

exchanging information.<br />

To get an idea of the magnitude of potential differences in classification, the Instrument SIG<br />

divided itself in<strong>to</strong> two teams—with each team classifying a number of instruments on its own.<br />

Comparing the differences in the results showed a close match, but not 100 percent. Part of<br />

the reason different organizations may describe project objects differently is that each organization<br />

involved in a project needs different types of information.<br />

For instance, instrument manufacturers need complete product data for each subcomponent<br />

of something the rest of us call an “instrument.” They need <strong>to</strong> track the part number of each<br />

piece and all of the information required <strong>to</strong> manufacture it. In contrast, EPC contrac<strong>to</strong>rs need<br />

only a very small fraction of that entire lot of information—typically only overall dimensions<br />

and properties, and functional specifications. Owner-opera<strong>to</strong>rs need the functional specifications<br />

<strong>to</strong>o, but are most interested in maintenance and repair information.<br />

One proposal from the instrument SIG that would make this situation easier <strong>to</strong> manage is that<br />

there would be different Part 7 templates for different participants. Manufacturers will use<br />

very detailed templates, whereas EPC contrac<strong>to</strong>rs and owner-opera<strong>to</strong>rs will use simpler ones.<br />

Quite a bit has been done, but there is still much <strong>to</strong> do. This SIG will work closely with the joint<br />

MIMOSA and OpenO&M initiatives, described previously.<br />

Engineered Equipment Life Cycle Application Tools<br />

The purpose of the Engineered Equipment Life Cycle Application Tools (EELCAT) project is <strong>to</strong><br />

develop specifications for the exchange of information about engineered equipment through<br />

its full life cycle, from initial design <strong>to</strong> disposal. One of the deliverables of this project was <strong>to</strong><br />

explore the feasibility of harmonizing three standards: <strong>ISO</strong> <strong>15926</strong>, the AEX XML schema, and<br />

the Hydraulic Institute’s EDE 50.7 standard. The study concludes that such harmonization is<br />

indeed possible, and demonstrates how it can be done.<br />

CHAPTER 4<br />

114


Au<strong>to</strong>mating Equipment Information Exchange<br />

The Au<strong>to</strong>mating Equipment Information Exchange (AEX) project was sponsored by Fiatech<br />

and has delivered and demonstrated an XML schema <strong>to</strong> au<strong>to</strong>mate information exchanges related<br />

<strong>to</strong> the design, fabrication, and use of engineered equipment. The driver of AEX reads like<br />

the original driver for <strong>ISO</strong> <strong>15926</strong>: Equipment is designed by different groups, each with specialized<br />

software that does not talk <strong>to</strong> each other; labor-intensive rekeying of data in<strong>to</strong> each<br />

system; additional cost; and risk of human error. The AEX schema can be used as an intermediate<br />

neutral form for information exchange all along the equipment supply chain.<br />

HI-EDE 50.7<br />

As an aid <strong>to</strong> organizations wishing <strong>to</strong> exchange information on pumps, the Hydraulic Institute<br />

has published what it calls Standard HI 50.7-2010 for Electronic Data Exchange for Pumping<br />

Equipment, or HI-EDE 50.7. This is a dictionary of data fields and cross-listed definitions between<br />

well-known standards such as API 610 and ANSE/ASME B73. In addition <strong>to</strong> the national<br />

standards, the AEX schema has been harmonized with HI-EDE 50.7. Although the standard<br />

does not mandate the use of the AEX schema, it makes reference <strong>to</strong> the appropriate term<br />

with each data definition.<br />

CHAPTER 4<br />

115


CHAPTER 5:<br />

GETTING STARTED WITH <strong>ISO</strong> <strong>15926</strong><br />

A detailed set of steps for implementing <strong>ISO</strong> <strong>15926</strong> is beyond the scope of this introduction.<br />

In this chapter, we provide you with a roadmap—but it will not be like a route map from your<br />

travel agent showing the shortest route from your house <strong>to</strong> the beach. Instead, it will be more<br />

like a map of the entire countryside—with a number of interesting intermediate points at<br />

which you can s<strong>to</strong>p.<br />

For instance, if you lived in London, England, and wanted <strong>to</strong> go the beach at Cannes, at the<br />

South of France, an easy way would be <strong>to</strong> take the Eurostar <strong>to</strong> the Gare de Nord train station<br />

in Paris, transfer <strong>to</strong> the Gare de Lyon, and then take the train à grande vitesse (TGV) <strong>to</strong><br />

Cannes. You would have the pleasure of watching the countryside go by at 300 km/hr in airconditioned<br />

comfort. On the other hand, if you were <strong>to</strong> channel Rowan Atkinson and take a<br />

side road (Figure 5.1) you would have a much more interesting journey.<br />

Fig. 5.1 A more interesting route <strong>to</strong> the beach.<br />

Similarly, implementing <strong>ISO</strong> <strong>15926</strong> will probably fork in<strong>to</strong> two main paths. The first path will be<br />

for organizations that largely use unmodified commercial off-the-shelf (COS) software. The<br />

second path will be for organizations that maintain proprietary software that supports their<br />

own work processes.<br />

Most organizations will follow the first path. Right now there are work teams developing<br />

CHAPTER 5<br />

116


proof-of-concept software that will more or less snap on<strong>to</strong> the side of a commercial application.<br />

1 Such software will use the application’s programming interface <strong>to</strong> extract standardized<br />

data sets (e.g., line list or equipment list) from its database, transform the data in<strong>to</strong> the neutral<br />

format of <strong>ISO</strong> <strong>15926</strong>, and make it available <strong>to</strong> selected business partners.<br />

Organizations with cus<strong>to</strong>m work processes or cus<strong>to</strong>m software will also be able <strong>to</strong> follow the<br />

second path. A good metaphor is <strong>to</strong> compare building a web page 15 years ago <strong>to</strong> what it<br />

takes <strong>to</strong>day. Back then you would have had <strong>to</strong> learn how <strong>to</strong> write HTML code by hand. Today,<br />

there are many Internet service providers who for just a few dollars a month will let you use<br />

<strong>to</strong>ols with which you can create a web page by dragging and dropping gadgets on<strong>to</strong> templates.<br />

On the other hand, if you need something more sophisticated there is no end <strong>to</strong> what<br />

you can do.<br />

Key Preparation<br />

When <strong>ISO</strong> <strong>15926</strong> is mature and examples of its use are common knowledge, implementing<br />

the standard will be just like executing any other project: figure out where you are, figure out<br />

where you want <strong>to</strong> be, make a plan <strong>to</strong> bridge the gap, and then do it. The problem now, at the<br />

beginning of the second decade of the twenty-first century, is knowing what is possible. The<br />

idea that “your computer can talk <strong>to</strong> my computer without either of us having <strong>to</strong> know anything<br />

about each other’s system” sounds magical. Where do you start with magic?<br />

Join Fiatech or the POSC Caesar Association<br />

If you want <strong>to</strong> get <strong>to</strong> know some people who can help you out, one very good way is <strong>to</strong> join<br />

Fiatech or the POSC Caesar Association (PCA), participate in a special interest group or two,<br />

and get involved in a project. You will meet the people who are developing <strong>ISO</strong> <strong>15926</strong> and<br />

learn firsthand from others who have implemented parts of the standard. This will give you an<br />

excellent understanding of what is possible, the resources required, and a realistic time frame<br />

for your own project.<br />

Have Realistic Expectations<br />

<strong>ISO</strong> <strong>15926</strong> is not a silver bullet that will instantly solve all of your data problems. In the introduction<br />

we said that the reason we need <strong>ISO</strong> <strong>15926</strong> is “so that we can exchange and reuse<br />

complex plant and project information easier and cheaper.” But if your information has been<br />

generated with a fuzzy work process so that when you exchange information with a business<br />

partner neither of you really knows what you have, moving it faster is not what you need.<br />

Understand Your Data<br />

The most important thing your organization can do <strong>to</strong> implement <strong>ISO</strong> <strong>15926</strong> is <strong>to</strong> thoroughly<br />

understand your data. There are three aspects <strong>to</strong> this.<br />

• Understand what your data means. Every organization makes assumptions; things it believes<br />

“everyone just knows.” Find out what these are before attempting <strong>to</strong> exchange infor-<br />

1. In Chapter 4, we introduced the iRINGTools Interfacing Project (IIP).<br />

CHAPTER 5<br />

117


mation with someone and thus find out <strong>to</strong>o late that “everyone just doesn’t know.”<br />

• Understand your data in terms of reference data. When we map databases <strong>to</strong>gether in the<br />

traditional way, we expect <strong>to</strong> take the time <strong>to</strong> understand what every data value means.<br />

Once we have done that, in the database mappings we can assign any random text string<br />

as a label. But as we move forward <strong>to</strong> a time when everyone expects <strong>to</strong> be able <strong>to</strong> exchange<br />

information with anyone we will rely heavily on our partners having classified their<br />

data properly, and the only way <strong>to</strong> ensure this is for everyone <strong>to</strong> relate their data <strong>to</strong> publicly<br />

accessible reference data libraries (RDLs) and validate the terms during the information<br />

exchange.<br />

• Understand that representing your data in a way in which the context, or meaning, is part<br />

of the payload is fundamentally different. This is embodied in learning <strong>to</strong> use Part 7 templates.<br />

At the higher levels of compliance, <strong>ISO</strong> <strong>15926</strong> uses a fundamentally different approach<br />

<strong>to</strong> exchanging information. In the past, when we have linked two applications we<br />

have always tried <strong>to</strong> know as much as we can about both of them. But with <strong>ISO</strong> <strong>15926</strong><br />

linking applications by exploiting special knowledge is actually a liability. For most of us,<br />

this is something we have <strong>to</strong> unlearn. We have also viewed machine-<strong>to</strong>-machine communication<br />

as a technology problem, but we ran in<strong>to</strong> the wall of not knowing how <strong>to</strong> handle the<br />

information. <strong>ISO</strong> <strong>15926</strong> focuses on modeling the information <strong>to</strong> preserve its meaning as it is<br />

being exchanged.<br />

Implementing <strong>ISO</strong> <strong>15926</strong><br />

In Chapter 3, we introduced the idea of different levels of compliance. We will demonstrate<br />

this in our example, starting with a dictionary-level information exchange, moving <strong>to</strong> using<br />

Part 7 templates, and finally <strong>to</strong> using the semantic web <strong>to</strong>ols of Parts 8 and 9.<br />

Let us assume that you want <strong>to</strong> au<strong>to</strong>mate the creation of a purchase order by selecting items<br />

on a process and instrumentation diagram (P&ID). In many engineering systems <strong>to</strong>day, engineers<br />

enter a great deal of information that is s<strong>to</strong>red in a database during design. To create a<br />

purchase order, they extract a report of the information, attach the appropriate data sheets,<br />

perhaps fill out a requisition form, and then send the package <strong>to</strong> a procurement officer.<br />

When the procurement department receives the requisition, much of it has <strong>to</strong> be rekeyed—<br />

which takes time and introduces opportunities for error. What we wish <strong>to</strong> do is eliminate all<br />

rekeying by exporting information directly from the P&ID and create the appropriate records<br />

in the purchasing database. The procurement officer will still assemble the purchase order in<br />

the usual manner, only now without having <strong>to</strong> read an engineer’s handwriting.<br />

Dictionary-level Information Exchange<br />

The good news is that implementing <strong>ISO</strong> <strong>15926</strong> at the lowest level, dictionary compliance, is<br />

not that difficult. In fact, if your organization has attempted <strong>to</strong> move information between two<br />

computer applications you probably already know the basics and probably already have most<br />

of the necessary skill sets represented in your present staff.<br />

In the initial stages, the implementation team will need <strong>to</strong> fulfill three roles. The first will be<br />

someone who understands information flow; someone who can draw boxes and arrows on<br />

a white board. The other two roles will be the subject matter experts (SMEs) for each of the<br />

CHAPTER 5<br />

118


two applications. (Note here that we did not specifically say three people, we said three roles.<br />

Depending on the size of the project, all three roles might be fulfilled by one person.)<br />

There is nothing magical about au<strong>to</strong>mating an information exchange using <strong>ISO</strong> <strong>15926</strong> compared<br />

<strong>to</strong> the traditional means we have at our disposal. The team will start by thoroughly<br />

describing the information that procurement needs from engineering in order <strong>to</strong> complete the<br />

purchase, and where engineering s<strong>to</strong>res that information. They will analyze the information<br />

flow, and at the beginning will probably name the information objects using the natural language<br />

names they are familiar with from the dialog boxes and user interfaces of the software.<br />

They should give some thought as <strong>to</strong> how an output from a P&ID can be generated by simply<br />

selecting objects on-screen, and later pushing transformed data in<strong>to</strong> the purchasing database.<br />

Commercial software often comes with an application programming interface (API) that will<br />

let users au<strong>to</strong>mate certain tasks. If an API is available for the two applications, the process will<br />

be much simpler. Otherwise, a programmer may be required in the execution phase.<br />

In the next stage, the information flows will be given more definition and the team will need <strong>to</strong><br />

bring in someone who can dig in<strong>to</strong> the databases. Where the SMEs gave information objects<br />

their natural names, now the database administra<strong>to</strong>rs will need <strong>to</strong> see what each database<br />

calls the same objects. The team needs <strong>to</strong> thoroughly understand the meaning of the database<br />

objects, and in particular understand implied attributes (the type that “everyone just<br />

knows.”)<br />

<strong>An</strong>other opportunity <strong>to</strong> understand what the data means is <strong>to</strong> examine the work processes<br />

on each side of the exchange. Sometimes the way information is actually used will change its<br />

meaning. About this time, the team should bring in someone with a background in information<br />

modeling—or train someone <strong>to</strong> do it. Most computer science programs include courses in<br />

entity relationship (ER) modeling, Unified Modeling Language (UML), or something similar. A<br />

production database for engineering software can be quite complex, and this type of training<br />

will be necessary in understanding it.<br />

A likely discovery is that the data structure in each of the applications is fundamentally different.<br />

We introduced this concept at the beginning of Chapter 1, and later on in Chapter 3.<br />

Each application will have been developed by a different team, and each team will have made<br />

pragmatic decisions on how its data is <strong>to</strong> be structured—depending largely on what each application<br />

does.<br />

We used the example of an engineering application breaking tag numbers (for example, 34-<br />

PI-325) in<strong>to</strong> their constituent parts and s<strong>to</strong>ring each part individually, whereas the procurement<br />

application might s<strong>to</strong>re tag numbers as simple text strings. Some type of transformation<br />

may be required, and if the APIs of the applications will not manage this some cus<strong>to</strong>m programming<br />

may be required. Note that until now we have not discussed <strong>ISO</strong> <strong>15926</strong>. Until now,<br />

this is just like any other information exchange project.<br />

Perhaps the first opportunity <strong>to</strong> use <strong>ISO</strong> <strong>15926</strong> will be when deciding how <strong>to</strong> hand off information<br />

from one application <strong>to</strong> the next. There will be a temptation <strong>to</strong> look for fortunate<br />

idiosyncrasies of either or both of the applications that can be exploited. For instance, there<br />

may be some way <strong>to</strong> make one application write directly <strong>to</strong> the database of the other. This is<br />

very much against the principles of interoperability. We have often done this type of thing in<br />

the past and patted ourselves on the back for being ingenious. Perhaps it is ingenious, but it<br />

forever traps us in<strong>to</strong> particular versions of particular software.<br />

CHAPTER 5<br />

119


A better way is <strong>to</strong> make the exchange mechanism as generic as possible using some type of<br />

neutral file exported by the first application, perhaps transformed somehow, and then imported<br />

<strong>to</strong> the second application. Where this will become critically important is when another application<br />

is brought in<strong>to</strong> the federation. If the first information exchange uses an intermediate<br />

neutral file, the next application may be able <strong>to</strong> use some of this directly instead of developing<br />

another point-<strong>to</strong>-point solution.<br />

Using the Part 4 Class Library<br />

<strong>An</strong>other opportunity <strong>to</strong> use <strong>ISO</strong> <strong>15926</strong> is in naming data objects in the neutral file. In the past,<br />

we have typically left this up <strong>to</strong> project participants. But <strong>to</strong> maximize the opportunity for<br />

reuse, industry standard names, which have particular meanings, should be used. This way,<br />

over time—even if people forget or if personnel changes—anyone can refer <strong>to</strong> the standard. A<br />

good choice would be <strong>to</strong> use the classes in Part 4 rather than creating what amounts <strong>to</strong> your<br />

own dictionary from scratch. You can purchase a copy of Part 4 from <strong>ISO</strong> or use the RDS/WIP<br />

(Reference Data Service/Work in Progress), a publicly available RDS.<br />

You may recall that we have said earlier that the RDS/WIP contains many terms that have not<br />

been created properly. Although using the correct term may not be critical for a one-off information<br />

exchange in which the actual meanings of the terms are well known, it will become<br />

a problem in the future if an opportunity arises <strong>to</strong> add another application <strong>to</strong> your federation.<br />

This is a good opportunity <strong>to</strong> learn <strong>to</strong> read the on<strong>to</strong>logies of the original Part 4 definitions.<br />

• At the end of Appendix C, we have included a brief introduction <strong>to</strong> using the RDS/WIP.<br />

• In Appendix D, we have included links <strong>to</strong> the iRINGUserGroup and one of their web pages<br />

on choosing the correct class.<br />

Live References <strong>to</strong> the RDS/WIP<br />

Once you have mastered the concept of using Part 4 terminology, the next logical step is <strong>to</strong><br />

implement live references <strong>to</strong> the RDS/WIP during information exchange. At the simple level of<br />

point-<strong>to</strong>-point exchange within one organization, especially after the data has been examined<br />

for meaning, adding live references <strong>to</strong> the RDS/WIP will not immediately add a large value.<br />

Where this will start <strong>to</strong> pay off is when other applications are added <strong>to</strong> the federation, and in<br />

particular when external partners are added <strong>to</strong> the federation.<br />

Although this may sound like a large paradigm shift, it is really only an incremental change.<br />

During the mapping exercise, the biggest change is <strong>to</strong> use each term’s uniform resource identifier<br />

(URI)—which is essentially a web page for the definition—instead of using the natural<br />

language name.<br />

Then, during the exchange some new software will be required <strong>to</strong> manage connections <strong>to</strong> the<br />

RDS/WIP. A few years ago, this would have had <strong>to</strong> be written by each participant. Now, software<br />

that does this is available under an open-source license—and some software vendors<br />

have committed <strong>to</strong> supporting it.<br />

There is much more <strong>to</strong> this than has been described. For instance, at some point someone will<br />

have <strong>to</strong> look at things such as database names, database access, and network permissions.<br />

But this will have <strong>to</strong> be done, and be done in the same way, whether or not Part 4 is used.<br />

CHAPTER 5<br />

120


Tools<br />

When the project is ready for execution, there are a number of commercial and open-source<br />

<strong>to</strong>ols that have been developed in response <strong>to</strong> the demand. At the dictionary level of compliance,<br />

the most useful will be a mapping edi<strong>to</strong>r. Conceptually, a mapping edi<strong>to</strong>r is similar<br />

<strong>to</strong> using a spreadsheet in that the left-hand side is usually “from” and the right-hand side is<br />

“<strong>to</strong>”—but a mapping edi<strong>to</strong>r makes the entire process easier <strong>to</strong> manage.<br />

• The iRINGUserGroup has published a mapping edi<strong>to</strong>r and <strong>to</strong>ols <strong>to</strong> support the use of the<br />

RDS/WIP.<br />

Template-based Information Exchange<br />

The next level of compliance <strong>to</strong> <strong>ISO</strong> <strong>15926</strong> is <strong>to</strong> build some meaning in<strong>to</strong> the data by using<br />

Part 7 templates. The mechanics of using templates is very similar <strong>to</strong> straight dictionary mapping:<br />

you simply put the name of the template in<strong>to</strong> the “<strong>to</strong>” column of your mapping edi<strong>to</strong>r<br />

instead of the name of the class.<br />

The reason you would want <strong>to</strong> use templates is that it will make future information exchanges<br />

easier. With dictionary-level mapping, there is still the possibility that you and your business<br />

partner do not define terminology the same way. (We have previously used the example of<br />

two people from different cultures learning the same foreign language. With different backgrounds,<br />

each will define concepts differently. When first starting <strong>to</strong> communicate, they will<br />

need a period in which they review terminology <strong>to</strong>gether.) When both parties use Part 7 templates,<br />

there is a much greater chance they will have a common understanding of each term.<br />

<strong>An</strong>other reason <strong>to</strong> use templates is that you will be able <strong>to</strong> include relationships between data<br />

objects. A simple example of this is being able <strong>to</strong> relate a pipeline number <strong>to</strong> a nozzle on a<br />

tank, then <strong>to</strong> the tank, <strong>to</strong> a logical location in the plant, and <strong>to</strong> a physical location in the plant.<br />

The real knowledge is in knowing which templates <strong>to</strong> use. For this, you will need your information<br />

modeler <strong>to</strong> come up <strong>to</strong> speed with Part 7 templates.<br />

Information Modeler<br />

• In Chapter 4, we mentioned the Practical Guide <strong>to</strong> <strong>ISO</strong> <strong>15926</strong> Modeling. This is a very good<br />

place <strong>to</strong> start.<br />

Tools<br />

• The iRINGUserGroup publishes a set of <strong>to</strong>ols for using Part 7. There are some commercial<br />

offerings as well.<br />

Semantic Web<br />

The parts of <strong>ISO</strong> <strong>15926</strong> that use the semantic web are Part 8 (OWL) and Part 9 (Facades). As<br />

we described in Chapter 3, you would implement these if you wanted <strong>to</strong> au<strong>to</strong>mate some of<br />

your work flow (Part 8) and if you wanted <strong>to</strong> include some security (Part 9).<br />

The good news here is that if you have properly used Part 7 templates <strong>to</strong> represent your data<br />

you can simply add Parts 8 and 9 without redoing any of your database mappings. Some new<br />

software will be required, and a few years ago each participant would have had <strong>to</strong> write it.<br />

CHAPTER 5<br />

121


Now, however, software is available under an open-source license—and some software vendors<br />

have committed <strong>to</strong> supporting it.<br />

Summary<br />

Taken step by step, implementing <strong>ISO</strong> <strong>15926</strong> does not have <strong>to</strong> be a huge and expensive exercise.<br />

Of course, if an organization with a great deal of proprietary software and work processes<br />

were <strong>to</strong> decide <strong>to</strong> adopt <strong>ISO</strong> <strong>15926</strong> on a large scale it would require a large effort—just as<br />

converting one’s entire parts library from a paper catalog <strong>to</strong> an online catalog would require a<br />

large effort. But a pilot project <strong>to</strong> validate the process and gain experience is within the ability<br />

of most organizations.<br />

Just a few years ago, each participant would have had <strong>to</strong> write the specialized software required<br />

<strong>to</strong> support <strong>ISO</strong> <strong>15926</strong>. Now, open-source software has been published that does this—and some<br />

commercial software vendors have promised <strong>to</strong> support it. The part each organization will have<br />

<strong>to</strong> do on its own is <strong>to</strong> understand its data. The personnel <strong>to</strong> support an introduc<strong>to</strong>ry project can<br />

likely be drawn from the existing ranks of most medium <strong>to</strong> large organizations.<br />

Dictionary-level Mapping<br />

• We have described the role of the project leader as “someone who can draw boxes and<br />

arrows on a white board.” This is, of course, a gross simplification. What we mean is someone<br />

with a logical mind who understands abstract reasoning. Obviously, the ideal candidate<br />

would be someone with both a strong computer science background and a strong<br />

discipline background. But if only one or the other is available it will be easier <strong>to</strong> teach the<br />

computer science skills that are actually necessary (for a project leader role) <strong>to</strong> a discipline<br />

specialist than <strong>to</strong> attempt <strong>to</strong> teach the discipline-specific skills <strong>to</strong> a computer science<br />

graduate.<br />

• SMEs for each application that will be brought in<strong>to</strong> the federation. These people will understand<br />

how <strong>to</strong> get information in<strong>to</strong> and out of the applications.<br />

• A database administra<strong>to</strong>r will be able <strong>to</strong> get in<strong>to</strong> the databases for each application.<br />

• <strong>An</strong> information modeler will be able <strong>to</strong> structure information <strong>to</strong> retain the meaning of the<br />

data involved. (There is a large overlap here with the role of database administra<strong>to</strong>r.)<br />

• A network administra<strong>to</strong>r will understand how the organization’s network works and will be<br />

able <strong>to</strong> assign rights and privileges.<br />

• The role of application programmer will be required if the API of each application in your<br />

federation will not support the full transformations that may be required. If internal resources<br />

are not available, this may have <strong>to</strong> be outsourced.<br />

Template-based Information Exchange<br />

• Part 7 information modeler: Using Part 7 is different from straight database mapping, but<br />

this can be taught <strong>to</strong> an existing team member.<br />

Semantic Web<br />

• Parts 8 and 9 implementer: Software <strong>to</strong>ols <strong>to</strong> support Part 8 (OWL) and Part 9 (Facades)<br />

CHAPTER 5<br />

122


have already been written and are available under an open-source license. As well, a market<br />

for such <strong>to</strong>ols has evolved and these types of <strong>to</strong>ols will be increasingly supported by<br />

commercial software vendors. Implementing these <strong>to</strong>ols is well within the capability of the<br />

IT departments of most medium <strong>to</strong> large organizations.<br />

Join Fiatech or the POSC Caesar Association<br />

If there is any mystery remaining, it can be dispelled by meeting like-minded people, and the<br />

best way <strong>to</strong> do that is <strong>to</strong> join Fiatech or PCA and get involved. Outside of working on <strong>ISO</strong><br />

<strong>15926</strong>, many of us are competi<strong>to</strong>rs. The natural tendency, then, is <strong>to</strong> horde information. But if<br />

we can cooperate <strong>to</strong> develop <strong>ISO</strong> <strong>15926</strong> digital information exchange gets easier, information<br />

exchange on projects becomes easier, and as projects become easier and cheaper the owners<br />

(who in the end, pay for everything) will be able <strong>to</strong> do more. The pie gets bigger. There are a<br />

number of reasons organizations and groups of individuals join a consortium.<br />

Owner-opera<strong>to</strong>rs<br />

Owner-opera<strong>to</strong>rs want <strong>to</strong> improve their bot<strong>to</strong>m line. Collectively, owners fund the entire<br />

operations of the other players. These include EPC contrac<strong>to</strong>rs, equipment manufacturers,<br />

software developers, construction contrac<strong>to</strong>rs, and universities—funded directly or via costs<br />

embedded in other fees. However, they lack the expertise <strong>to</strong> do the basic research and apply<br />

it <strong>to</strong> day-<strong>to</strong>-day operations. In a consortium, such as Fiatech or PCA, owner-opera<strong>to</strong>rs have a<br />

forum whereby they can explain their needs and work with others on solutions.<br />

EPC Contrac<strong>to</strong>rs<br />

EPC contrac<strong>to</strong>rs get involved with consortiums <strong>to</strong> solve problems their competi<strong>to</strong>rs and clients<br />

also have. Everyone can work <strong>to</strong>gether, share the costs, and share the results. EPC contrac<strong>to</strong>rs<br />

can take research from universities, prove it in the field, and then recast it in terms<br />

that others in their industry can understand.<br />

Software Developers<br />

Software developers join a consortium <strong>to</strong> assist in developing standards that make software<br />

development easier. For instance, on the subject of information exchange software developers<br />

must be responsive <strong>to</strong> their cus<strong>to</strong>mers and provide conversion between many competing<br />

standards. But if all industry players agree on a single standard the work of software developers<br />

will suddenly get much easier.<br />

Equipment Manufacturers and Construction Contrac<strong>to</strong>rs<br />

Equipment manufacturers and construction contrac<strong>to</strong>rs, with tighter margins, join a consortium<br />

<strong>to</strong> participate in projects they would never be able <strong>to</strong> fund on their own.<br />

Universities<br />

Universities participate in a consortium so that they can see their research applied in realworld<br />

projects.<br />

CHAPTER 5<br />

123


APPENDIX A:<br />

THE PARTS OF <strong>ISO</strong> <strong>15926</strong><br />

This appendix summarizes the current state of the various parts of <strong>ISO</strong> <strong>15926</strong>. We have treated<br />

Parts 2, 4, 7, 8, and 9 in some detail in Chapter 3. In Chapter 4, we introduced the geometry<br />

SIG that is developing Part 3. Here we introduce the other parts. <strong>ISO</strong> standards are developed<br />

with the voluntary involvement of all interests worldwide. There are three main phases.<br />

1. The need is expressed by an industry sec<strong>to</strong>r and proposed as a new work item, and a technical<br />

scope is defined.<br />

2. Consensus building where the detailed scope is negotiated between the countries involved.<br />

3. Formal balloting and acceptance is carried out worldwide.<br />

Each standard is assigned <strong>to</strong> an appropriate technical committee/subcommittee (TC/SC). <strong>ISO</strong><br />

<strong>15926</strong> falls under TC 184 (Au<strong>to</strong>mation Systems and Integration) SC 4 (Industrial Data). During<br />

development of a standard, it may be published in a number of states.<br />

• PWI: Preliminary work item<br />

• NP: New work item proposal<br />

• CD: Committee draft, by a committee of experts<br />

• TS: Technical specification, after a consensus within the appropriate TC/SC<br />

• DIS: Draft international standard<br />

• FDIS: Final draft international standard, ready for formal vote<br />

• PRF: Proof of a new international standard<br />

• IS: International standard<br />

<strong>ISO</strong> <strong>15926</strong><br />

Formal name: Industrial au<strong>to</strong>mation systems and integration. Integration of life-cycle data for<br />

process plants, including oil and gas production facilities.<br />

Part 1<br />

Formal name: Overview and Fundamental Principles<br />

Publication date: 2004<br />

Status: IS<br />

Part 1 is the introduction <strong>to</strong> <strong>ISO</strong> <strong>15926</strong> and describes its purpose, which is <strong>to</strong> facilitate data<br />

integration by means of a data model that defines the meaning of information in a way that all<br />

users of the information will have the same understanding of what it means.<br />

APPENDIX A<br />

124


Part 2<br />

Formal name: Data Model<br />

Publication date: 2003<br />

Status: IS<br />

Part 2 is the conceptual data model for representing technical information about project<br />

objects. The original mandate was life-cycle information about process plants, but this has<br />

expanded <strong>to</strong> include pretty well any type of capital project because there is so much overlap.<br />

Part 3<br />

Formal name: Reference Data for Geometry and Topology<br />

Publication date: 2009<br />

Status: TS<br />

Part 3 is reference data for geometry and <strong>to</strong>pology for 2D and 3D shapes. It consists of an<br />

on<strong>to</strong>logy of basic classes of curves and surfaces that can be used with computer-aided design<br />

(CAD), Geographic Information Systems (GIS), and earth models. This means that you will be<br />

able <strong>to</strong> use Part 7 templates <strong>to</strong> include geometry information about project objects. Part 3 is<br />

based on <strong>ISO</strong> 10303 Part 42 (Geometric and <strong>to</strong>pological representation) and Part 104 (Finite<br />

element analysis).<br />

Part 4<br />

Formal name: Initial Reference Data<br />

Publication date: 2007, with an amendment in 2010<br />

Status: TS<br />

Part 4 defines the initial set of reference data for use with <strong>ISO</strong> <strong>15926</strong> and <strong>ISO</strong> 10303-221. <strong>ISO</strong><br />

issues the reference data in the form of spreadsheets. Currently, there are almost 20,000 individual<br />

terms.<br />

Part 5<br />

Formal name: Procedures for Registration and Maintenance of Reference Data<br />

Status: Discontinued<br />

Part 5 was the procedures for registration and maintenance of reference data. This function<br />

has been taken over by an SC4 commission for class library maintenance not only of <strong>ISO</strong><br />

<strong>15926</strong> but of other <strong>ISO</strong> reference data libraries contained in databases.<br />

APPENDIX A<br />

125


Part 6<br />

Formal name: Scope and Representation for Additional Reference Data<br />

Status: NP/TS<br />

Part 6 is the methodology for the development and validation of reference data. It describes<br />

how <strong>to</strong> validate a reference data item <strong>to</strong> ensure that it is genuine. It describes the information<br />

required for a new reference data item and how <strong>to</strong> have it approved. It lists the metadata used<br />

for the provenance of the objects in an RDL.<br />

Part 7<br />

Formal name: Implementation Methods for the Integration of Distributed Systems: Template<br />

Methodology<br />

Status: PRF/TS<br />

Part 8<br />

Formal name: Implementation Methods for the Integration of Distributed Systems: Web On<strong>to</strong>logy<br />

Language (OWL) Implementation<br />

Status: PRF/TS<br />

Part 9<br />

Formal name: Implementation Methods for the Integration of Distributed Systems: Facade<br />

Implementation<br />

Status: Draft<br />

Part 10<br />

Formal name: Implementation Methods for the Integration of Distributed Systems: Abstract<br />

Test Methods<br />

Status: Draft<br />

<strong>An</strong> abstract test method is a generic description of how <strong>to</strong> test software systems <strong>to</strong> validate<br />

<strong>ISO</strong> <strong>15926</strong> compliance. “Abstract” means there is no coupling with a computer language or<br />

brand of test software; this must be filled in by the implementer. Part 10 only handles full compliance;<br />

it does not list the criteria for partial compliance—which is up <strong>to</strong> the business.<br />

When something like <strong>ISO</strong> <strong>15926</strong> is in development, the people working on it form a community<br />

and get <strong>to</strong> know each other. Within the community, there is a natural check and balance on<br />

whether one’s work conforms. But when <strong>ISO</strong> <strong>15926</strong> is mature users will need a way <strong>to</strong> judge<br />

whether or not their business partners’ systems are in compliance. Part 10 will fulfill the need<br />

APPENDIX A<br />

126


for a way <strong>to</strong> test systems <strong>to</strong> see how well they comply.<br />

Part 11<br />

Formal name: Simplified Industrial Usage of Reference Data, Including Gellish Implementation<br />

– Working title: Gellish – RDF<br />

Status: NP/TS<br />

Gellish is a structured subset of natural language that can be used <strong>to</strong> express knowledge in a<br />

way that is readable by both humans and machines, and is system independent. Knowledge<br />

can be represented in a way that allows machines <strong>to</strong> artificially reason and come <strong>to</strong> conclusions.<br />

Gellish is the outgrowth of the development work on <strong>ISO</strong> 10303-221 (AP221) and <strong>ISO</strong> <strong>15926</strong>-<br />

2 (Part 2), both of which we introduced in Chapter 3. You may also recall that AP-221 had<br />

an <strong>An</strong>nex M, which consisted of standard instances of the types of objects in the Part 2 data<br />

model. Over the years, <strong>An</strong>nex M was extended and became known as STEPlib and eventually<br />

used as the basis of Part 4.<br />

Since then, STEPlib has become the Gellish Dictionary—containing concepts, and relationships<br />

between those concepts, arranged in a taxonomy that supports inheritance. Gellish can be<br />

used as a front end for the template methodology of Parts 7 and 8, or it can be, and has been,<br />

used on its own for information exchange on major projects.<br />

APPENDIX A<br />

127


APPENDIX B:<br />

COMPLIANCE WITH <strong>ISO</strong> <strong>15926</strong><br />

<strong>ISO</strong> <strong>15926</strong> is a standard with many parts, not all of which have <strong>to</strong> be implemented at once.<br />

As well, there are variations in the manner in which some of the parts can be implemented.<br />

Therefore, simply saying “My system has implemented <strong>ISO</strong> <strong>15926</strong>” does not give a true picture<br />

of your system’s capabilities.<br />

The vision of <strong>ISO</strong> <strong>15926</strong> is that business partners can exchange information without engaging<br />

in a lengthy process of understanding the meaning of each other’s data. But implementing<br />

only one part of <strong>ISO</strong> <strong>15926</strong> at its simplest level does not demonstrate this capability. New<br />

users are, understandably, confused. This appendix outlines the various categories of compliance<br />

<strong>to</strong> give users a rough guide <strong>to</strong> comparing systems. The following table serves as a<br />

“thumbnail.” 1<br />

Category Compliance Checklist<br />

Semantic precision<br />

Representation technology<br />

Referencing technology<br />

Interface technology<br />

Industrial standardization<br />

Dictionary identification only<br />

Shortcut relations<br />

Full on<strong>to</strong>logy<br />

<strong>An</strong>y formatted file<br />

Proprietary XML<br />

RDL XML<br />

Part 8 (OWL)<br />

URIs contained in schema<br />

External RDL<br />

File exchange<br />

Proprietary query<br />

Part 9 (SPARQL)<br />

Community sandbox<br />

Industry-wide sandbox<br />

JORD<br />

<strong>ISO</strong><br />

Subject matter scope BIDG<br />

Metadata scope<br />

Explicitly identifiable elements<br />

Versioning<br />

Status<br />

1. Thanks <strong>to</strong> Ian Glendinning for the material this section was adapted from.<br />

APPENDIX B<br />

128


Functional capability<br />

Semantic Precision<br />

Export interface<br />

Import interface<br />

Empty seed<br />

Lossless consolidation<br />

Reconciliation<br />

<strong>ISO</strong> <strong>15926</strong> is all about driving out ambiguity <strong>to</strong> reduce the risk and cost of information exchange.<br />

Semantic Precision is the most technically significant of the categories outlined in the<br />

previous table. This category compares the way information is unders<strong>to</strong>od by an organization<br />

<strong>to</strong> what was intended by <strong>ISO</strong> <strong>15926</strong>.<br />

This category recognizes that it is possible <strong>to</strong> use <strong>ISO</strong> <strong>15926</strong> terminology incorrectly. <strong>An</strong><br />

extreme example is using the word pressure in a database mapping exercise <strong>to</strong> exchange<br />

temperature values. As long as both parties <strong>to</strong> the exchange knew what the text string pressure<br />

really meant, the exchange would work—but using terminology this way is misleading<br />

<strong>to</strong> new users and would add a great deal of uncertainty and risk <strong>to</strong> future exchanges using the<br />

same database maps.<br />

Part 7 templates have what is known as a signature, which removes the ambiguity by providing<br />

a mechanism by which a system can recognize what the template is intended <strong>to</strong> deal<br />

with. Thus, in the extreme example previously cited the user would never be presented with a<br />

“pressure” template when working with temperature. At the receiving end, the software would<br />

recognize the template as dealing with temperature and would act accordingly. There are different<br />

ways of recognizing template signatures. This category gives increasing credit as their<br />

reliability increases.<br />

• Dictionary and typing level: Templates have a name, are specialized from a parent class,<br />

and have a classification. This level of compliance simply accepts these values from the<br />

template itself.<br />

• Shortcut relations level: This level uses the shortcut relations <strong>to</strong> determine what the template<br />

does.<br />

• Full ono<strong>to</strong>logy level: This level uses the full on<strong>to</strong>logy along with the signature <strong>to</strong> identify<br />

the template.<br />

Representation Technology<br />

This category compares the manner in which the information exchange is structured.<br />

APPENDIX B<br />

129


<strong>An</strong>y File<br />

This exchange uses a neutral file, as opposed <strong>to</strong>, for example, having one application writing<br />

<strong>to</strong> the database of another. This removes one potential failure point; namely, that one or the<br />

other application changes and thus breaks the information exchange. There are many ways<br />

of encoding information. Fixed-width text file, comma-delimited text file, and spreadsheet are<br />

three. The common denomina<strong>to</strong>r is a proprietary structure that users have <strong>to</strong> examine. <strong>An</strong>y<br />

structure can be made <strong>to</strong> work as long as both parties understand it in advance.<br />

Proprietary XML<br />

Using XML <strong>to</strong> encode information is a step up from a plain-text file or spreadsheet. New users<br />

will still have <strong>to</strong> examine the terminology used, but the structure of an XML information exchange<br />

is easier <strong>to</strong> deduce.<br />

Reference Data Library Registered XML Schema<br />

A registered XML schema eliminates the need <strong>to</strong> examine it closely for every information<br />

exchange. Users will still have <strong>to</strong> examine it and thoroughly understand it the first time, but<br />

thereafter should not need <strong>to</strong>. This meets one of the intents of <strong>ISO</strong> <strong>15926</strong> is that two organizations<br />

can independently implement a given standard and thereafter exchange information<br />

even though they may never have explicitly intended <strong>to</strong> work with each other at the beginning.<br />

Part 8: OWL<br />

When the information you are exchanging is part of an overall on<strong>to</strong>logy, it is easier <strong>to</strong> figure<br />

out what it means simply by examining its position in the on<strong>to</strong>logy. If the on<strong>to</strong>logy conforms<br />

<strong>to</strong> Part 2, exchange partners will be able <strong>to</strong> understand what your data means without having<br />

<strong>to</strong> ask about it. OWL is a <strong>to</strong>ol designed for the Semantic Web that is used <strong>to</strong> exchange information<br />

s<strong>to</strong>red in an on<strong>to</strong>logy. If your exchange system uses OWL, on<strong>to</strong>logical information will<br />

be preserved so that the meaning of the data will be preserved with the data.<br />

Referencing Technology<br />

Reference data is the lifeblood of <strong>ISO</strong> <strong>15926</strong>. Without reference data there is no objective way<br />

<strong>to</strong> verify the definitions of terms, and where you cannot verify terms there is ambiguity that<br />

adds <strong>to</strong> the cost. In <strong>ISO</strong> <strong>15926</strong>, the reference data is based on Part 4. This category considers<br />

the way reference data is implemented.<br />

URIs Self-contained in Schema<br />

The URI of a term is like a web site for its official definition. The name of each term is unique<br />

and has exactly one URI, and therefore the name of the term is synonymous with its URI. One<br />

way <strong>to</strong> implement Part 4 terminology is <strong>to</strong> hard code the name or URI in<strong>to</strong> the schema.<br />

APPENDIX B<br />

130


URIs Resolvable in Shared Reference Data Libraries<br />

<strong>An</strong>other way <strong>to</strong> use Part 4 terminology is <strong>to</strong> have a mechanism that uses a term’s URI <strong>to</strong> connect<br />

<strong>to</strong> a reference data service, like the RDS/WIP, <strong>to</strong> verify that it is a valid term.<br />

Interface Technology<br />

The interface type describes how the information is physically moved. Under the hood, all information<br />

exchanges use a file <strong>to</strong> exchange the data. The key question in this category is how<br />

the file comes in<strong>to</strong> existence.<br />

File Exchange<br />

Here we mean that the sender prepares the information exchange file by some means and<br />

sends it <strong>to</strong> the exchange partner, who then opens and reads the file in some manner.<br />

Proprietary Query<br />

This category implies that the recipient of the information can directly query the information<br />

<strong>to</strong> create the exchange file instead of having the owner prepare the files.<br />

Part 9: SPARQL<br />

SPARQL is a pro<strong>to</strong>col developed for the Semantic Web, designed for querying OWL databases.<br />

The use of OWL is one way <strong>to</strong> preserve the meaning of the data.<br />

Industrial Standardization<br />

This category assumes that a reference data library (RDL) is used for the information exchange<br />

and measures the manner in which it is certified. The boundaries, although somewhat<br />

arbitrary, show increasing global authority.<br />

Community Sandbox<br />

Here, a community will create its own RDL. The group manages the content on its own.<br />

Industry Level<br />

Here, the community is larger—encompassing an entire industry. At this level there will likely<br />

be some formal method of creating and vetting new terms.<br />

PCA/JORD Level<br />

This level combines the terminology of many industries. Although JORD does not exist yet,<br />

it is expected that there will be a stringent vetting procedure <strong>to</strong> ensure that the terminology<br />

APPENDIX B<br />

131


conforms <strong>to</strong> the intent of <strong>ISO</strong> <strong>15926</strong>.<br />

<strong>ISO</strong><br />

This level is reserved for formally adopted, world-wide standards.<br />

Subject Matter Scope<br />

This category anticipates one or more industry-specific information guides <strong>to</strong> assist users in<br />

deciding the scope of the information that needs <strong>to</strong> be exchanged. This will not create any<br />

new terminology <strong>to</strong> add <strong>to</strong> an RDL, but will rather suggest which RDL items need <strong>to</strong> be addressed<br />

<strong>to</strong> accomplish some business purpose. For instance, the American Petroleum Institute<br />

(API) may recommend specific RDL terms <strong>to</strong> use when exchanging information about API<br />

pumps.<br />

When a standard scope of information is exchanged, the uncertainty (the ambiguity) is reduced.<br />

The Business Interfaces Definition Guide (BIDG) was originally the title of a particular<br />

handover guide being developed for the process industries, but the document was issued under<br />

a different name. Now the term is still used but has effectively come <strong>to</strong> be an umbrella for<br />

a number of industry-specific guides. For measuring compliance <strong>to</strong> <strong>ISO</strong> <strong>15926</strong>, this category<br />

means that you are following one such guide—and that the guide specifies <strong>ISO</strong> <strong>15926</strong> terminology.<br />

Metadata Scope<br />

When data is exchanged as part of business activities, there are usually obligations and contractual<br />

responsibilities between the parties. With each information exchange, metadata (data<br />

about data) is in fact created (such as the time of exchange)—which may have <strong>to</strong> be recorded<br />

manually if there is no au<strong>to</strong>matic mechanism. This category measures how the metadata is<br />

captured and recorded.<br />

Explicitly Identifiable Elements<br />

This category means that metadata is indeed exchanged (as opposed <strong>to</strong> only the data values<br />

themselves) and that the metadata explicitly identifies the data values <strong>to</strong> which it belongs.<br />

Versioning<br />

This category means that in addition <strong>to</strong> the identity of the data the vintage, or version, of the<br />

data is maintained.<br />

Status<br />

This category means that in addition <strong>to</strong> the identity and versions of the data the status of the<br />

data is maintained.<br />

APPENDIX B<br />

132


Functional Capability<br />

This category measures the capability of the system <strong>to</strong> send and receive data.<br />

Export Interface<br />

This is the ability of a system <strong>to</strong> deliver information independently of data scope and interface<br />

technology. This is accomplished by publishing the data or allowing reading or querying.<br />

Import Interface<br />

This is the ability of a system <strong>to</strong> receive information independently of data scope and interface<br />

technology. This is accomplished by allowing external applications <strong>to</strong> write <strong>to</strong> the database, or<br />

some means of querying external databases.<br />

Seed<br />

Sometimes an instance is created as a placeholder, with no initial content. This category<br />

means that the placeholder can be populated with imported data without loosing anything.<br />

Lossless Consolidation<br />

This means that an existing instance that contains data can be updated with new imported<br />

information, correctly handling versions and duplicate information.<br />

Reconciliation<br />

This means that when an instance is updated with internal information any reconciliation with<br />

external identifiers is retained.<br />

APPENDIX B<br />

133


APPENDIX C:<br />

EXAMPLES OF DATABASE MAPPING<br />

In this appendix we will work through some examples of mapping databases directly <strong>to</strong>gether,<br />

using a cus<strong>to</strong>m dictionary and the Reference Data Service/Work in Progress (RDS/WIP). We<br />

will also introduce you <strong>to</strong> the use of templates from Part 7. As far as an introduction <strong>to</strong> <strong>ISO</strong><br />

<strong>15926</strong>, this section is definitely “extra credit.” You do not have <strong>to</strong> read this <strong>to</strong> understand the<br />

concepts of <strong>ISO</strong> <strong>15926</strong>.<br />

Chapter 1 provided a brief introduction <strong>to</strong> the <strong>to</strong>pic of mapping two databases <strong>to</strong>gether. In<br />

Chapter 3, we talked about mapping during the discussion on the levels of compliance <strong>to</strong> <strong>ISO</strong><br />

<strong>15926</strong>. There we gave a number of examples of organizations exchanging information with<br />

increasing levels of implementation of <strong>ISO</strong> <strong>15926</strong>. In this appendix, we will continue with these<br />

examples—showing how <strong>to</strong> do the mapping that is described in each example. Please bear in<br />

mind that these examples are highly simplified for the purpose of explaining concepts. In the<br />

real world, this is a complex enough subject that many professionals make a very good living<br />

just connecting databases <strong>to</strong> each other.<br />

The entire point of <strong>ISO</strong> <strong>15926</strong> is that anyone using the standard’s pro<strong>to</strong>cols can exchange<br />

information with anyone else using the pro<strong>to</strong>cols and not have <strong>to</strong> know anything else about<br />

the other’s system. Just as two people who do not know each other can nevertheless communicate<br />

if both use the same rules of grammar and the same dictionary, two parties in a data<br />

exchange can understand each other’s information if both use the <strong>ISO</strong> <strong>15926</strong> data model, Part<br />

2 (or Part 7, which implies Part 2), and the classes, or dictionary, Part 4. We will compare each<br />

set of mapping examples <strong>to</strong> this vision for <strong>ISO</strong> <strong>15926</strong>.<br />

Example Set 1: Let’s Just Exchange Raw Data and Figure It Out Together<br />

In this first set of examples we will look at mapping two databases <strong>to</strong>gether directly.<br />

Example 1.1: Map Two Databases Together, Simple<br />

Figure C.1 shows the work process of exchanging information by mapping two databases<br />

<strong>to</strong>gether. At the beginning of the exchange, neither party knows anything about the other’s<br />

system.<br />

• ACME selects the data <strong>to</strong> exchange and exports it <strong>to</strong> an intermediate file (a “data dump”)—<br />

perhaps in a comma-delimited text file or a spreadsheet.<br />

• ACME sends the data dump <strong>to</strong> EMCA.<br />

• EMCA cannot use the information because it does not know what all of it means.<br />

• Each company assigns an engineer <strong>to</strong> collaborate <strong>to</strong> make a cus<strong>to</strong>m map so that EMCA<br />

can import the data.<br />

• EMCA uses the map <strong>to</strong> import the data.<br />

APPENDIX C<br />

134


Roles<br />

Fig. C.1 Figure out each exchange every time.<br />

In Chapter 5, we identified two roles required for basic dictionary-level compliance.<br />

• A subject matter expert, (SME) who thoroughly understands the business in which the two<br />

applications are involved. This person must understand the meaning of all business objects<br />

involved <strong>to</strong> ensure that the correct data is transferred.<br />

• A database administra<strong>to</strong>r <strong>to</strong> create the mapping tables between each application and the<br />

Part 4 terms.<br />

The most important is the SME. This person will examine the information and decide which<br />

objects in one database are equivalent <strong>to</strong> those in the other. Our first example (Figure C.2)<br />

is very simple. We will use a portion of a valve list from one of our favorite companies, ACME<br />

(which we will pretend is an EPC contrac<strong>to</strong>r).<br />

ACME Table Name: Valve_List<br />

ID Dwg_No Rating PID No Spec Line Tag<br />

85457 4567-32-17 150 1234-32-45 A373 10-32-A373-12-1438<br />

96058 4567-32-17 300 1234-32-45 B893 10-32-B893-10-0378<br />

48981 4567-32-17 600 1234-32-45 C578 10-32-C578-10-2155<br />

Pipe Size Valve Tag<br />

12 32-1269<br />

10 32-2958<br />

8 32-7639<br />

Fig. C.2 EMCA valve list table.<br />

A valve list is a list of all valves used for a particular scope of work or project. Design engineers<br />

use the valve list <strong>to</strong> ensure that each is properly specified. Procurement officers use it <strong>to</strong><br />

make sure that all valves have been purchased. Construction contrac<strong>to</strong>rs use it <strong>to</strong> ensure that<br />

they have received all of the valves and that all valves have all been installed.<br />

The goal here is <strong>to</strong> transfer the information from ACME <strong>to</strong> our other favorite company, EMCA<br />

(which we will assume is a construction contrac<strong>to</strong>r), by mapping the databases <strong>to</strong>gether and<br />

pushing a but<strong>to</strong>n <strong>to</strong> execute the exchange electronically—rather than exchanging paper documents<br />

and having a person rekey the values. Figure C.3 shows EMCA’s valve list, currently<br />

empty.<br />

APPENDIX C<br />

135


EMCA Table Name: Table_32<br />

Index No Dwg_No Rating PID Mat_Spec Line_Tag Diameter Tag<br />

Fig. C.3 EMCA valve list table.<br />

The job of the SME of both ACME and EMCA is <strong>to</strong> understand each term (i.e., the database<br />

column names) of both companies and decide which of them are equivalent. The convention<br />

is <strong>to</strong> ignore the data rows and put the column names from each database in<strong>to</strong> a two-column<br />

table, with the table name on the left and the column names on the right. Figure C.4 shows<br />

what this looks like.<br />

ACME EMCA<br />

Table Name Column Name Table Name Column Name<br />

Valve_List ID Table_32 Index No<br />

Valve_List Piping DRG Table_32 Dwg_No<br />

Valve_List Class Table_32 Rating<br />

Valve_List PID_No Table_32 PID<br />

Valve_List Spec Table_32 Mat_Spec<br />

Valve_List Line_Tag Table_32 Tag<br />

Valve_List Pipe Size Table_32 Diameter<br />

Valve_List Valve Tag Table_32 Tag<br />

Fig. C.4 ACME and EMCA valve list column names.<br />

To show equivalence, the SME will arrange the column names of the respective tables in<strong>to</strong><br />

the same horizontal row. Specialized software will be able <strong>to</strong> read this list and copy the data<br />

values from the ACME table/column <strong>to</strong> the EMCA table/column.<br />

In this very simplified example, we can see that the column names are descriptive of their content—and<br />

although not identical in both tables it is easy <strong>to</strong> determine equivalence. Also note<br />

that, uncharacteristically, they are already arranged horizontally <strong>to</strong> show equivalence. The job<br />

of the SME is finished.<br />

The application experts still have <strong>to</strong> figure out how <strong>to</strong> get the information out of ACME’s database<br />

and in<strong>to</strong> EMCA’s, and the database experts still have <strong>to</strong> configure the data migration.<br />

Although these jobs may be quite complex, depending on the nature of ACME’s and EMCA’s<br />

systems, they are straightforward conceptually.<br />

Example 1.2: Map Two Databases Together, Harder<br />

The previous example was trivially simple in order <strong>to</strong> convey the concept of mapping two databases<br />

<strong>to</strong>gether without getting bogged down with details. In this example, we will use a more<br />

realistic pair of valve tables. Figure C.5 shows what the two valve lists might really look like.<br />

APPENDIX C<br />

136


ACME EMCA<br />

Table Name Column Name Table Name Column Name<br />

VALVE_LIST AREA TABLE_32 CLIENT_SYSTEM<br />

VALVE_LIST CLASS TABLE_32 CLIENT_UNIT<br />

VALVE_LIST COMP ID TABLE_32 COM_GRP<br />

VALVE_LIST DATASHEET TABLE_32 DES_RESP<br />

VALVE_LIST DS_ID TABLE_32 DIAMETER<br />

VALVE_LIST LINE TAG TABLE_32 DIAMETER_UOM<br />

VALVE_LIST MANUFACTURER TABLE_32 DWG_NO<br />

VALVE_LIST MATERIAL TABLE_32 HEAT_TRACE<br />

VALVE_LIST MODEL NO TABLE_32 HOLD<br />

VALVE_LIST OP PRESS TABLE_32 INDEX_NO<br />

VALVE_LIST OP TEMP TABLE_32 LINE_NUMBER<br />

VALVE_LIST PID NO TABLE_32 LINE_TAG<br />

VALVE_LIST PIPE SIZE TABLE_32 MAT_SPEC<br />

VALVE_LIST PIPING DRG TABLE_32 PID<br />

VALVE_LIST RUN TABLE_32 PID_LOCATION<br />

VALVE_LIST SERVICE TABLE_32 PID_REV<br />

VALVE_LIST SPEC TABLE_32 PROJ_NO<br />

VALVE_LIST STATUS TABLE_32 QUANTITY<br />

VALVE_LIST TAG TABLE_32 RATING<br />

VALVE_LIST TAGTYPE TABLE_32 SEQ_NO<br />

VALVE_LIST VALVE TAG TABLE_32 STARTUP<br />

VALVE_LIST VALVE TEXT TABLE_32 SUFFIX<br />

VALVE_LIST VALVE TYPE TABLE_32 SYSTEM<br />

VALVE_LIST VCODE TABLE_32 TAG<br />

VALVE_LIST VINT1 TABLE_32 UNIT<br />

VALVE_LIST VNUM TABLE_32 VALVE_LOCK_DEVICE<br />

VALVE_LIST VSIZE TABLE_32 VALVE_NUMBER<br />

VALVE_LIST VUNIT TABLE_32 VALVE_TYPE<br />

Fig. C.5 More realistic column names.<br />

In this example, the SMEs have much more work <strong>to</strong> do. Each column name has <strong>to</strong> be examined<br />

closely <strong>to</strong> verify what it means. It is not good enough <strong>to</strong> look up the name in, say, the Oxford<br />

English Dictionary; you need <strong>to</strong> see how it is actually used by the application. This is because<br />

the column names do not actually mean anything <strong>to</strong> the database software; they are just text<br />

strings. (The only thing that really matters <strong>to</strong> the software is that the names are unique.)<br />

Good database design principles recommend that descriptive names be used, but this is just<br />

for the convenience of human programmers. Even if the columns were named properly in<br />

the beginning, changes <strong>to</strong> the software over time can effectively change their meaning while<br />

leaving the original name unchanged. We will review several column names <strong>to</strong> show you how<br />

mapping is done, and then rearrange them <strong>to</strong> show which are equivalent.<br />

ACME TAG and VALVE TAG Versus EMCA TAG and RECORD_ID<br />

We cannot conclude that two columns contain equivalent information just because they use<br />

the same word for their name. For example, both ACME and EMCA use the column name TAG.<br />

Our first thought may be that this is for a component tag number, similar <strong>to</strong> an instrument tag<br />

number or equipment tag number, but we need <strong>to</strong> look further.<br />

ACME also uses the column name VALVE TAG, and EMCA also uses RECORD_ID. Given<br />

these extra names, we cannot determine their meaning simply by looking at the other names<br />

on these two lists; we must dig in<strong>to</strong> the software <strong>to</strong> see how it uses the names.<br />

APPENDIX C<br />

137


We may obtain some clues by looking in<strong>to</strong> the database <strong>to</strong> see what types of values are<br />

s<strong>to</strong>red there, but we may also have <strong>to</strong> open the software and start experimenting. For instance,<br />

in the software that uses ACME’s and EMCA’s valve tables there will be a form (or<br />

computer screen) that asks for the valve’s asset identification number. We can enter a fictitious<br />

value and then look for it in the database <strong>to</strong> see where it turns up.<br />

For this example, we will assume that ACME’s TAG and EMCA’s RECORD_ID are equivalent—<br />

recording what we might call a record index number (a unique numerical value the database<br />

software uses <strong>to</strong> identify a row in the database).<br />

We will also assume that ACME’s VALVE TAG and EMCA’s TAG are equivalent, being used <strong>to</strong><br />

s<strong>to</strong>re the valve’s asset identifier. For most in-line valves this value will be empty, or null. When<br />

a valve is important enough <strong>to</strong> track individually, it will be given a tag number that is s<strong>to</strong>red in<br />

this column.<br />

ACME VNUM Versus EMCA SEQ_NO<br />

VNUM and SEQ_NO are two more names we cannot make a decision about by simply looking<br />

at the other database column names. For this example, we will assume that this is an optional<br />

place <strong>to</strong> s<strong>to</strong>re another tracking number for a valve.<br />

Some owner-opera<strong>to</strong>rs give all of their in-line valves that do not already have a tag number a<br />

unique identifier <strong>to</strong> help track maintenance. When ACME and EMCA work for an owner with<br />

such requirements, they use these columns <strong>to</strong> s<strong>to</strong>re the unique number.<br />

ACME LINE TAG Versus EMCA LINE_NUMBER and LINE_TAG<br />

As with VALVE TAG, it would be easy <strong>to</strong> jump <strong>to</strong> the conclusion that ACME’s LINE TAG and<br />

EMCA’s LINE_TAG are equivalent. But EMCA also uses the name LINE_NUMBER. All three<br />

of them could be used <strong>to</strong> s<strong>to</strong>re the alphanumeric text string we commonly call a line number.<br />

Here again we must see how the software processes line numbers and see which database<br />

columns it uses.<br />

For this example, we will assume that ACME uses LINE TAG <strong>to</strong> s<strong>to</strong>re the full line number. (In<br />

Figure C.2 we saw the example 10-32-A373-12-1438.) EMCA uses LINE_TAG for the<br />

same purpose. EMCA’s LINE_NUMBER s<strong>to</strong>res the sequential numeric part of the line number<br />

(1438 in the line number given previously).<br />

ACME PIPE SIZE Versus EMCA DIAMETER and DIAMETER_UOM<br />

<strong>An</strong> important concept <strong>to</strong> understand is that an organization may have certain assumptions<br />

about the world that every employee “just knows.” A possible example of this is the EMCA<br />

column name DIAMETER_UOM. We might ask why ACME does not have something like this.<br />

Perhaps ACME gets all of its work from one area of the world and uses only one system of<br />

units in all of its projects. If this were the case, everyone would just “know” what the units<br />

were and there would be no real need <strong>to</strong> record such a value in the database.<br />

Although this is possible, an equally likely answer is that ACME does not s<strong>to</strong>re the units of measurement<br />

with every measurement. In this example of a valve list, ACME may feel that it is ex-<br />

APPENDIX C<br />

138


tremely improbable that a valve will be measured in one system of units and the piping system<br />

<strong>to</strong> which it is attached measured in another system. The units of measurement may be attached<br />

<strong>to</strong> the pipeline the valve is part of, or it may be a project-wide setting. Like our other examples,<br />

the SMEs will have <strong>to</strong> look at the software <strong>to</strong> see how it handles units of measurement.<br />

The SMEs will similarly examine the rest of the terms and decide which are equivalent. Figure<br />

C.6 shows the tables after rearranging column names so that equivalent names are in the<br />

same horizontal row.<br />

ACME EMCA<br />

Table Name Column Name Table Name Column Name<br />

VALVE_LIST TAG TABLE_32 RECORD_ID<br />

VALVE_LIST PIPING DRG TABLE_32 DWG_NO<br />

TABLE_32 STARTUP<br />

VALVE_LIST CLASS TABLE_32 RATING<br />

TABLE_32 PID_REV<br />

TABLE_32 DES_RESP<br />

VALVE_LIST PID NO TABLE_32 PID<br />

TABLE_32 HOLD<br />

TABLE_32 HEAT_TRACE<br />

TABLE_32 PROJ_NO<br />

TABLE_32 LINE_NUMBER<br />

VALVE_LIST SPEC TABLE_32 MAT_SPEC<br />

VALVE_LIST LINE TAG TABLE_32 LINE_TAG<br />

TABLE_32 QUANTITY<br />

VALVE_LIST PIPE SIZE TABLE_32 DIAMETER<br />

TABLE_32 DIAMETER_UOM<br />

TABLE_32 VALVE_LOCK_DEVICE<br />

TABLE_32 VALVE_NUMBER<br />

VALVE_LIST VNUM TABLE_32 SEQ_NO<br />

TABLE_32 CLIENT_SYSTEM<br />

TABLE_32 COM_GRP<br />

TABLE_32 SYSTEM<br />

TABLE_32 PID_LOCATION<br />

VALVE_LIST VALVE TYPE TABLE_32 VALVE_TYPE<br />

TABLE_32 SUFFIX<br />

VALVE_LIST VUNIT TABLE_32 UNIT<br />

VALVE_LIST VALVE TAG TABLE_32 TAG<br />

TABLE_32 CLIENT_UNIT<br />

VALVE_LIST VSIZE<br />

VALVE_LIST AREA<br />

VALVE_LIST DATASHEET<br />

VALVE_LIST TAGTYPE<br />

VALVE_LIST VCODE<br />

VALVE_LIST STATUS<br />

VALVE_LIST MATERIAL<br />

VALVE_LIST OP PRESS<br />

VALVE_LIST OP TEMP<br />

VALVE_LIST MANUFACTURER<br />

VALVE_LIST MODEL NO<br />

VALVE_LIST VALVE TEXT<br />

VALVE_LIST VINT1<br />

VALVE_LIST RUN<br />

VALVE_LIST SERVICE<br />

VALVE_LIST COMP ID<br />

VALVE_LIST DS_ID<br />

Fig. C.6 Two valve lists showing equivalence.<br />

You will notice that many of the column names do not have a corresponding name in the other<br />

database. There could be a number of reasons for this. It could be that the nature of the business<br />

of each of the two organizations means that each pays attention <strong>to</strong> different things. <strong>An</strong><br />

APPENDIX C<br />

139


example of this is EMCA’s column name HOLD. If EMCA’s work process places holds against<br />

valves during the course of its own work, it may not need the value <strong>to</strong> come from ACME.<br />

<strong>An</strong>other example is the ACME DATASHEET column name. Because it is an EPC contrac<strong>to</strong>r, it<br />

needs <strong>to</strong> know exactly how each valve is manufactured and what each part is made of. This<br />

information is usually recorded on a data sheet, and recording the datasheet number with the<br />

valve record ensures that future engineers will be able <strong>to</strong> find it. For its part, EMCA may simply<br />

assume that the data sheet for a tagged valve is always named after the valve tag number<br />

and therefore there is no point in recording it. (Note that this assumption may in fact not be<br />

true. Nevertheless, if EMCA believes it and designs its databases around that belief we have <strong>to</strong><br />

work with EMCA’s assumptions.)<br />

How the SMEs handle this “missing” information depends a great deal on what EMCA needs<br />

<strong>to</strong> use the information for. It could be that the information ACME’s valve list has in common<br />

with EMCA’s valve list is all that EMCA needs. For example, because the design of the valve is<br />

not in EMCA’s scope of work it would have no need <strong>to</strong> track the operating temperature and<br />

pressure for each valve. (It would need <strong>to</strong> know the testing pressure of the entire pipeline, but<br />

this information is probably on the line list.)<br />

On the other hand, if EMCA actually needs some of the “missing” information the SMEs will<br />

have <strong>to</strong> ask their respective application and database experts where <strong>to</strong> get it. We will discuss<br />

this in the next example.<br />

Example 1.3: Map Two Databases Together, More Complex<br />

So far the examples have assumed that equivalent database tables all have columns for<br />

equivalent values. This is almost never the case. We do not wish <strong>to</strong> turn readers in<strong>to</strong> database<br />

administra<strong>to</strong>rs, but we will give an example by extending the previous discussion of the units<br />

of measurement.<br />

In this example, we will assume that EMCA needs the DIAMETER_UOM field <strong>to</strong> be populated<br />

for its software <strong>to</strong> work. ACME will almost certainly have a record of the units of measurement<br />

somewhere, and probably for the same reason EMCA needs it, but ACME’s software does not<br />

s<strong>to</strong>re it in the valve list. ACME’s SME will need <strong>to</strong> enlist the help of application and database<br />

experts <strong>to</strong> figure out how <strong>to</strong> provide EMCA with the information it needs. There are at least<br />

two options.<br />

If ACME’s SME knows absolutely for sure that 100 percent of the dimensions are, for instance,<br />

in Imperial measure, the database expert could write a small program <strong>to</strong> simply add that value<br />

<strong>to</strong> the database table as it is being exported. The problem, as you may have guessed, is with<br />

the “absolutely 100 percent” part. You can never know whether or not some specialized valve,<br />

available from only one place in the world, has a unique metric size.<br />

A more reliable way <strong>to</strong> solve the problem is <strong>to</strong> figure out where the ACME records the units of<br />

measurement, and then pull it in from there. It could be anywhere. It could be attached <strong>to</strong> the<br />

line number the valve is associated with, a single project setting, or anything in between.<br />

For this example, we will assume that the appropriate unit of measurement comes from the<br />

line number. However, for illustrative purposes we will throw in a wrinkle. We will pretend that<br />

the software does not s<strong>to</strong>re this in a table based on the alphanumeric text string we call a line<br />

APPENDIX C<br />

140


number but in a separate table based on an arbitrary “pipe run number.” 1 Figure C.7 shows<br />

what this might look like.<br />

ACME EMCA<br />

Table Name Column Name Table Name Column Name<br />

. .<br />

VALVE_LIST LINE TAG LINE TAG RUN NO TABLE_32 LINE_TAG<br />

. .<br />

TABLE_32 DIAMETER_UOM<br />

RUN NO UOM<br />

Fig. C.7 Finding units of measurement.<br />

What the database expert has <strong>to</strong> do, then, is <strong>to</strong> write what is called a query. Following the arrows<br />

from the left-hand side (Figure C.7), the query basically says:<br />

a. Given this LINE TAG, what is the RUN NO?<br />

b. Given this RUN NO, what is the UOM?<br />

c. Copy the UOM <strong>to</strong> DIAMETER_UOM of the table we export for EMCA.<br />

Comparison <strong>to</strong> the Vision of <strong>ISO</strong> <strong>15926</strong><br />

These examples are like two people who speak different languages attempting <strong>to</strong> communicate<br />

by pointing at something and saying its name. After a while both of them would understand<br />

what each other’s individual words mean, but would still be a long way from fluent<br />

communication. For a one-off situation this may be acceptable, and if the two parties never<br />

had any need <strong>to</strong> communicate in the future this may even be the preferred solution.<br />

However, we must understand that all of this work of pointing <strong>to</strong> things and saying their<br />

names will have <strong>to</strong> be repeated if the two participants want <strong>to</strong> bring more applications in<strong>to</strong><br />

their federation—and if they envision including more partners. This amounts <strong>to</strong> point-<strong>to</strong>-point<br />

mapping and is very much against the vision of <strong>ISO</strong> <strong>15926</strong>—and in fact was the reason the<br />

standard was first proposed.<br />

Example Set 2: Wouldn’t It Be Better <strong>to</strong> Agree on Common Definitions?<br />

Example 2.1: Creating a Cus<strong>to</strong>m Dictionary Using Arbitrary Names<br />

One problem in mapping databases directly <strong>to</strong>gether is that you have <strong>to</strong> go through the same<br />

process every time you connect the databases. Even if you keep the map around, after awhile<br />

people change (or they forget) and they have <strong>to</strong> go back <strong>to</strong> the applications and figure out all<br />

over again what the attributes mean. One way <strong>to</strong> manage this is <strong>to</strong> create a data dictionary.<br />

In Figure C.8, ACME and EMCA exchange information often enough that there is an opportunity<br />

<strong>to</strong> streamline the operation. They do not want <strong>to</strong> have <strong>to</strong> consult with each other with every<br />

information exchange and start from scratch, so they agree on two things.<br />

1. Among other things, doing it this way allows users <strong>to</strong> change the line number if they have <strong>to</strong>.<br />

APPENDIX C<br />

141


• They will spend a bit of time <strong>to</strong> develop a common set of terminology.<br />

• They will not exchange raw data dumps. The sender will translate its information payload<br />

in<strong>to</strong> a “neutral file” using standard terminology the receiver will be able <strong>to</strong> understand.<br />

Fig. C.8 Common reference data library.<br />

This is the beginning of a data dictionary, or reference data library. Start by assembling the<br />

terminology.<br />

• ACME and EMCA collaborate <strong>to</strong> create the dictionary of database terms and <strong>to</strong> decide the<br />

format of the neutral file.<br />

• Both ACME and EMCA use the dictionary <strong>to</strong> create their own database maps.<br />

• ACME selects certain data and exports it using the database map <strong>to</strong> translate it <strong>to</strong> the<br />

agreed neutral file format.<br />

• EMCA receives the intermediate file and imports it in<strong>to</strong> its systems, using its database map<br />

<strong>to</strong> translate it.<br />

Next, create a list consisting of a number of standard definitions, with a particular word associated<br />

with each definition. The associated word can be completely arbitrary. For instance, at<br />

a gathering <strong>to</strong> discuss techniques of mapping databases <strong>to</strong>gether one of the instruc<strong>to</strong>rs—in a<br />

moment of inspiration—said, “If you have <strong>to</strong> translate something from one language <strong>to</strong> another<br />

using a third language as an intermediate, you can use any language you wish—Klingon—<br />

whatever!” To make a point, we will do just that. Table C.1 shows a possible dictionary of the<br />

terms both ACME and EMCA have in common.<br />

TABLE C.1<br />

STANDARD DEFINITIONS USING KLINGON NUMBERS<br />

Name Definition<br />

wa’ Unique identifier for a row in a database.<br />

cha’<br />

The alphanumeric text string that uniquely identifies an orthographic<br />

drawing.<br />

APPENDIX C<br />

142


wej The nominal pressure rating for a piping system or component.<br />

loS<br />

The alphanumeric text string that uniquely identifies a piping and<br />

instrumentation diagram (PID).<br />

vagh The material specification for a pipeline.<br />

jav The alphanumeric test string that uniquely identifies a pipeline.<br />

Soch The nominal diameter of a pipeline.<br />

chorgh The units of measurement of the nominal diameter of a pipeline.<br />

Hut Maintenance tracking number for hand valves.<br />

wa’maH The general category <strong>to</strong> which a valve belongs (e.g., gate or globe).<br />

wa’maH wa’<br />

wa’maH cha’<br />

The geographic or functional area of a plant; commonly called<br />

“unit.”<br />

Asset tracking number for individually designed components; commonly<br />

called “tag number.”<br />

The second step for ACME is <strong>to</strong> create a database map (this time using the dictionary names),<br />

and then using the map export the information <strong>to</strong> a table that will be sent <strong>to</strong> EMCA. Figure<br />

C.9 shows what the table might look like. Figure C.10 shows how EMCA will receive the neutral<br />

file. EMCA will also create a database map using the dictionary names, but will instead use it<br />

<strong>to</strong> import the neutral file in<strong>to</strong> its database.<br />

ACME Klingon Database Map Neutral File<br />

Table Name Column Name Column Name Dictionary Name<br />

VALVE_LIST TAG TAG wa'<br />

VALVE_LIST PIPING DRG PIPING DRG cha'<br />

VALVE_LIST CLASS CLASS wej<br />

VALVE_LIST PID NO PID NO loS<br />

VALVE_LIST SPEC SPEC vagh<br />

VALVE_LIST LINE TAG LINE TAG jav<br />

VALVE_LIST PIPE SIZE PIPE SIZE Soch<br />

UOM chorgh<br />

VALVE_LIST VNUM VNUM Hut<br />

VALVE_LIST VALVE TYPE VALVE TYPE wa'maH<br />

VALVE_LIST VUNIT VUNIT wa'maH wa'<br />

VALVE_LIST VALVE TAG VALVE TAG wa'maH cha'<br />

Fig. C.9 Data export using a Klingon neutral file.<br />

APPENDIX C<br />

143


Neutral File Klingon Database Map EMCA<br />

Dictionary Name Column Name Table Name Column Name<br />

wa' RECORD_ID TABLE_32 RECORD_ID<br />

cha' DWG_NO TABLE_32 DWG_NO<br />

wej RATING TABLE_32 RATING<br />

loS PID TABLE_32 PID<br />

vagh MAT_SPEC TABLE_32 MAT_SPEC<br />

jav LINE_TAG TABLE_32 LINE_TAG<br />

Soch DIAMETER TABLE_32 DIAMETER<br />

chorgh DIAMETER_UOM TABLE_32 DIAMETER_UOM<br />

Hut SEQ_NO TABLE_32 SEQ_NO<br />

wa'maH VALVE_TYPE TABLE_32 VALVE_TYPE<br />

wa'maH wa' UNIT TABLE_32 UNIT<br />

wa'maH cha' TAG TABLE_32 TAG<br />

Fig. C.10 Data import using a Klingon neutral file.<br />

Example 2.2: Creating a Cus<strong>to</strong>m Dictionary Using an On<strong>to</strong>logy<br />

Of course your organization would not really use Klingon for dictionary terms; it would probably<br />

use a collection of nouns and adjectives that were themselves descriptive of the terms<br />

they describe. 2 For a single, small information exchange you could probably live with ad hoc<br />

names. But as you add applications <strong>to</strong> your federation of applications you will probably run<br />

across many terms that are similar, with only subtle variations.<br />

As you add definitions <strong>to</strong> your dictionary, you may find that some of your original names<br />

overlap with the meaning of new terms and so become misleading. One strategy is <strong>to</strong> create<br />

an on<strong>to</strong>logy of names that contains all of the terminology at your organization. Then, when<br />

a new application is added <strong>to</strong> the federation it can simply pull the correct term from the list.<br />

Table C.2 shows part of a possible on<strong>to</strong>logy that covers the information in the ACME-EMCA<br />

exchange.<br />

TABLE C.2<br />

PART OF AN ONTOLOGY OF TERMS<br />

asset_tracking_no<br />

component_valve_type<br />

database_row_id<br />

drawing_no<br />

drawing_no_pid<br />

drawing_no_pid_revision_no<br />

drawing_no_piping<br />

drawing_no_piping_iso<br />

2. On the other hand, your organization would gain instant street cred if they were <strong>to</strong> do so. Star Trek<br />

gatherings are heavily overrepresented by geekish, nerdish types; just the types that make up most<br />

of your IT department. You may in fact find that your database administra<strong>to</strong>r can read Klingon<br />

directly.<br />

APPENDIX C<br />

144


drawing_no_piping_ortho<br />

maintenance_tracking_no<br />

piping_line_no<br />

piping_line_no_sequence<br />

piping_material_spec<br />

piping_nominal_diameter<br />

piping_uom<br />

plant_id<br />

pressure<br />

pressure_class<br />

pressure_design<br />

pressure_test<br />

production_train_id<br />

production_unit_id<br />

row_id<br />

From here it is a simple matter <strong>to</strong> construct a database map and export the data <strong>to</strong> a neutral<br />

file, just as we did with the Klingon dictionary. Figures C.11 and C.12 show what this might look<br />

like.<br />

ACME Database Map Neutral File<br />

Table Name Column Name Column Name Dictionary Name<br />

VALVE_LIST TAG TAG row_id<br />

VALVE_LIST PIPING DRG PIPING DRG drawing_no_piping_ortho<br />

VALVE_LIST CLASS CLASS pressure_class<br />

VALVE_LIST PID NO PID NO drawing_no_pid<br />

VALVE_LIST SPEC SPEC piping_material_spec<br />

VALVE_LIST LINE TAG LINE TAG piping_line_no<br />

VALVE_LIST PIPE SIZE PIPE SIZE piping_nominal_diameter<br />

UOM length_uom<br />

VALVE_LIST VNUM VNUM maintenance_tracking_no<br />

VALVE_LIST VALVE TYPE VALVE TYPE component_type_valve<br />

VALVE_LIST VUNIT VUNIT production_unit_id<br />

VALVE_LIST VALVE TAG VALVE TAG asset_tracking_no<br />

Fig. C.11 Data export using an on<strong>to</strong>logical neutral file.<br />

APPENDIX C<br />

145


Neutral File<br />

Database Map EMCA<br />

Dictionary Name Column Name Table Name Column Name<br />

row_id RECORD_ID TABLE_32 RECORD_ID<br />

drawing_no_piping_ortho DWG_NO TABLE_32 DWG_NO<br />

pressure_class RATING TABLE_32 RATING<br />

drawing_no_pid PID TABLE_32 PID<br />

piping_material_spec MAT_SPEC TABLE_32 MAT_SPEC<br />

piping_line_no LINE_TAG TABLE_32 LINE_TAG<br />

piping_nominal_diameter DIAMETER TABLE_32 DIAMETER<br />

length_uom DIAMETER_UOM TABLE_32 DIAMETER_UOM<br />

maintenance_tracking_no SEQ_NO TABLE_32 SEQ_NO<br />

component_type_valve VALVE_TYPE TABLE_32 VALVE_TYPE<br />

production_unit_id UNIT TABLE_32 UNIT<br />

asset_tracking_no TAG TABLE_32 TAG<br />

Fig. C.12 Data import using an on<strong>to</strong>logical neutral file.<br />

We have used a very simplified example of an on<strong>to</strong>logy. In fact, what is shown is not really an<br />

on<strong>to</strong>logy but an ordered list. Users are simply agreeing <strong>to</strong> use a particular English word <strong>to</strong><br />

mean a particular thing instead of using a Klingon number. Although certainly a big step over<br />

the Klingon-based dictionary, it would not direct a new user unambiguously <strong>to</strong> the correct<br />

term every time. A discussion with other users would still be required <strong>to</strong> be certain that some<br />

terms were being used correctly. Arranging the terms in a real on<strong>to</strong>logy would help. Figure<br />

C.13 shows part of an on<strong>to</strong>logy for pumps.<br />

Fig. C.13 Part of an on<strong>to</strong>logy of pumps.<br />

Using this on<strong>to</strong>logy of pumps (arranged the way it is) with the proper accompanying definitions,<br />

new users will be more likely <strong>to</strong> choose the correct term without having <strong>to</strong> talk <strong>to</strong> anyone.<br />

The bad news is that if you have never created an on<strong>to</strong>logy your first few attempts will<br />

likely require reworking every time you add a new application <strong>to</strong> your federation. <strong>An</strong> easier<br />

way is <strong>to</strong> use an on<strong>to</strong>logy that someone else has developed. In the next example, we will introduce<br />

such an on<strong>to</strong>logy based on Part 4.<br />

Comparison <strong>to</strong> the Vision of <strong>ISO</strong> <strong>15926</strong><br />

Building a cus<strong>to</strong>m dictionary means that information exchange partners will not have <strong>to</strong> learn<br />

everything all over again every time they wish <strong>to</strong> exchange information. New partners are a bit<br />

better off because they do not have <strong>to</strong> start from scratch, but they still have a fair amount of<br />

work <strong>to</strong> do. They will still have <strong>to</strong> review the dictionary <strong>to</strong> thoroughly understand the terms,<br />

APPENDIX C<br />

146


and may find that some terms conflict with their own understanding. Worse, every time a new<br />

member joins the federation there is potential rework for all members. What everyone needs<br />

is an industry standard dictionary, such as Part 4, so that they only have <strong>to</strong> go through the<br />

pain once.<br />

Example Set 3: Why Don’t We Use Industry Standard Definitions?<br />

Using Part 4 definitions is the minimum standard for compliance with <strong>ISO</strong> <strong>15926</strong>.<br />

Example 3.1: Using the RDS/WIP as a Dictionary<br />

In this example, ACME and EMCA wish <strong>to</strong> use an industry standard dictionary <strong>to</strong> create the<br />

neutral files they use for information exchange. Being able <strong>to</strong> export information in<strong>to</strong> an industry<br />

standard format will allow them <strong>to</strong> exchange information with other organizations as well.<br />

The RDS/WIP is just such a dictionary. It was commissioned in the mid 2000s as an experimental<br />

reference data service anyone could use as a reference—and with a little bit of training<br />

as a source for adding new terms.<br />

• Both ACME and EMCA collaborate and agree <strong>to</strong> use the core classes in Part 4 and <strong>to</strong> use<br />

the rules in Part 4 <strong>to</strong> extend the classes.<br />

• Both use the Part 4 dictionary <strong>to</strong> create their own database maps.<br />

• ACME selects certain data and exports it using the database map <strong>to</strong> translate it <strong>to</strong> the<br />

agreed neutral file format.<br />

• EMCA imports the information using its database map <strong>to</strong> translate the information in<strong>to</strong><br />

something its systems understand.<br />

Level of Collaboration Required<br />

The major difference here is that instead of consulting a growing proprietary dictionary all<br />

who are involved refer <strong>to</strong> the public standard. However, partner organizations will still need<br />

<strong>to</strong> have a discussion about how they will use the core terminology whenever two terms mean<br />

almost the same thing. New applications added <strong>to</strong> the confederation will still be subject <strong>to</strong><br />

a detailed discussion. In addition, a new application may use existing terminology in slightly<br />

different ways. If so, the partner organizations will have <strong>to</strong> decide whether or not <strong>to</strong> change<br />

the term or <strong>to</strong> modify the new application. But changing the meaning of a term could have a<br />

serious effect on existing applications.<br />

New Role<br />

There is a new role here. Someone has <strong>to</strong> learn how <strong>to</strong> use the RDS/WIP. 3<br />

• The RDS/WIP modeler, who will learn how <strong>to</strong> use the RDS/WIP, how <strong>to</strong> read the taxonomy<br />

of existing terms, and how <strong>to</strong> prepare new submissions.<br />

3. Remember that the RDS/WIP is experimental. When <strong>ISO</strong> <strong>15926</strong> is mature, there will be a selection of<br />

RDLs <strong>to</strong> choose from.<br />

APPENDIX C<br />

147


At the end of this appendix we have included a brief introduction <strong>to</strong> the RDS/WIP, but basically<br />

you just search for a term and find the closest match. If two or more terms are close in<br />

meaning, you will have <strong>to</strong> negotiate with your business partner <strong>to</strong> decide which <strong>to</strong> use. If a<br />

new term is required, you add it. Once you decide on the term, you will actually use the universal<br />

resource indica<strong>to</strong>r (URI; more-or-less the term’s serial number) instead of the term<br />

itself. Table C.3 shows a possible list of terms from the RDS/WIP that might be used as for the<br />

valve list.<br />

TABLE C.3<br />

ATTRIBUTES FROM THE RDS/WIP<br />

Label RDS/WIP URI Description<br />

IDENTIFIER http://rdl.rdlfacade.org/data#R32813486958<br />

DRAWING<br />

IDENTIFICA-<br />

TION CODE<br />

http://rdl.rdlfacade.orgdata#R16893283050<br />

PRESSURE<br />

RATING CLASS http://rdl.rdlfacade.orgdata#R45649298385<br />

P AND I DIA-<br />

GRAM<br />

MATERIAL<br />

SPECIFICA-<br />

TION<br />

PIPELINE OF-<br />

FICIAL IDEN-<br />

TIFIER<br />

http://rdl.rdlfacade.org/data#R99486931975<br />

http://rdl.rdlfacade.orgdata#R54400593721<br />

http://rdl.rdlfacade.org/data#R83498125174<br />

DIAMETER http://rdl.rdlfacade.orgdata#R94482935208<br />

UNIT OF MEA-<br />

SURE<br />

http://rdl.rdlfacade.org/data#R5817703946<br />

<strong>An</strong> identification code<br />

for a drawing or a class<br />

of drawings<br />

Classes of standard<br />

pressure ratings (i.e.,<br />

the maximum allowable<br />

non-shock working<br />

gage pressure at a<br />

given temperature and<br />

a specific material)<br />

A diagram showing a<br />

schematic representation<br />

of a process system,<br />

including instrumentation<br />

A specification that describes<br />

the applicable<br />

materials for one or<br />

more items<br />

<strong>An</strong> identification code<br />

that identifies a pipeline<br />

Intercept made by the<br />

circumference on a<br />

straight line through<br />

the center of a circle<br />

A role used in ST 3401<br />

<strong>to</strong> designate the applicable<br />

scale in which<br />

the numerical value is<br />

expressed<br />

APPENDIX C<br />

148


SEQUENCE<br />

NUMBER<br />

PR3 1.10<br />

VALVE TYPE/<br />

DESIGN<br />

FUNCTIONAL<br />

UNIT IDENTI-<br />

FIER<br />

TAG IDEN-<br />

TIFICATION<br />

CODE<br />

http://rdl.rdlfacade.orgdata#R73944050980<br />

http://rdl.rdlfacade.org/data#R49125478120<br />

http://rdl.rdlfacade.org/data#R14322658775<br />

http://rdl.rdlfacade.org/data#R99047027503<br />

A number assigned<br />

following an order of<br />

succession<br />

Assignment of valve<br />

type (e.g., safety, relief,<br />

or safety relief), and<br />

design (e.g., conventional,<br />

bellows, or pilot)<br />

<strong>An</strong> identification code<br />

that identifies a functional<br />

unit<br />

<strong>An</strong> identification code<br />

for a functional_<br />

physical_object.<br />

Figure C.14 shows how ACME will use these terms <strong>to</strong> create a map with which <strong>to</strong> export the<br />

data <strong>to</strong> a neutral file. Figure C.15 shows how EMCA will create its own map with which <strong>to</strong><br />

import the data from the neutral file. Note that instead of English descriptive names we are<br />

using long numerical text strings. Astute readers will notice that this is conceptually the same<br />

as using Klingon. <strong>An</strong>d if that is where we s<strong>to</strong>pped, the readers would be correct. 4<br />

ACME<br />

Database Map<br />

Table Name Column Name Column Name Dictionary Name<br />

VALVE_LIST TAG TAG http://rdl.rdlfacade.org/data#R32813486958<br />

VALVE_LIST PIPING DRG PIPING DRG http://rdl.rdlfacade.org/data#R16893283050<br />

VALVE_LIST CLASS CLASS http://rdl.rdlfacade.org/data#R45649298385<br />

VALVE_LIST PID NO PID NO http://rdl.rdlfacade.org/data#R99486931975<br />

VALVE_LIST SPEC SPEC http://rdl.rdlfacade.org/data#R54400593721<br />

VALVE_LIST LINE TAG LINE TAG http://rdl.rdlfacade.org/data#R83498125174<br />

VALVE_LIST PIPE SIZE PIPE SIZE http://rdl.rdlfacade.org/data#R94482935208<br />

UOM http://rdl.rdlfacade.org/data#R58177039466<br />

VALVE_LIST VNUM VNUM http://rdl.rdlfacade.org/data#R73944050980<br />

VALVE_LIST VALVE TYPE VALVE TYPE http://rdl.rdlfacade.org/data#R49125478120<br />

VALVE_LIST VUNIT VUNIT http://rdl.rdlfacade.org/data#R14322658775<br />

VALVE_LIST VALVE TAG VALVE TAG http://rdl.rdlfacade.org/data#R99047027503<br />

Neutral File<br />

Fig. C.14 Data export using RDS/WIP class names.<br />

4. In fact, if the organizations were <strong>to</strong> hard-code the definitions they would be better served <strong>to</strong> use the<br />

“Label” from Table C.3 rather than the URI. We used the URIs in order <strong>to</strong> introduce the next section.<br />

APPENDIX C<br />

149


Neutral File Database Map EMCA<br />

Dictionary Name Column Name Table Name Column Name<br />

http://rdl.rdlfacade.org/data#R32813486958 RECORD_ID TABLE_32 RECORD_ID<br />

http://rdl.rdlfacade.org/data#R16893283050 DWG_NO TABLE_32 DWG_NO<br />

http://rdl.rdlfacade.org/data#R45649298385 RATING TABLE_32 RATING<br />

http://rdl.rdlfacade.org/data#R99486931975 PID TABLE_32 PID<br />

http://rdl.rdlfacade.org/data#R54400593721 MAT_SPEC TABLE_32 MAT_SPEC<br />

http://rdl.rdlfacade.org/data#R83498125174 LINE_TAG TABLE_32 LINE_TAG<br />

http://rdl.rdlfacade.org/data#R94482935208 DIAMETER TABLE_32 DIAMETER<br />

http://rdl.rdlfacade.org/data#R58177039466 DIAMETER_UOM TABLE_32 DIAMETER_UOM<br />

http://rdl.rdlfacade.org/data#R73944050980 SEQ_NO TABLE_32 SEQ_NO<br />

http://rdl.rdlfacade.org/data#R49125478120 VALVE_TYPE TABLE_32 VALVE_TYPE<br />

http://rdl.rdlfacade.org/data#R14322658775 UNIT TABLE_32 UNIT<br />

http://rdl.rdlfacade.org/data#R99047027503 TAG TABLE_32 TAG<br />

Fig. C.15 Data import using RDS/WIP class names.<br />

Example 3.2: Using the RDS/WIP <strong>to</strong> Validate an Information Exchange<br />

In the previous example, ACME and EMCA used the RDS/WIP as a dictionary—simply using<br />

the URIs of the definitions <strong>to</strong> create their map. In this example, they wish <strong>to</strong> use the RDS/WIP<br />

for real-time validation <strong>to</strong> make sure the URIs are in fact valid terms. Figure C.16 shows how<br />

this will work. The collaboration here is the same as that of the previous example, with two<br />

new activities.<br />

• ACME validates its data against the core classes in the Part 4 RDL—using the RDS/WIP <strong>to</strong><br />

verify that it is compliant before sending it out.<br />

• After EMCA receives the intermediate file, it validates the terminology against the RDS/<br />

WIP <strong>to</strong> verify compliance.<br />

APPENDIX C<br />

150


New Role<br />

Fig. C.16 Use <strong>ISO</strong> <strong>15926</strong>-4 for information exchange.<br />

• ACME and EMCA will each need a programmer <strong>to</strong> write the code for checking database<br />

terms with the RDS/WIP. (A market for such <strong>to</strong>ols has emerged and there are now a number<br />

of commercial and open-source <strong>to</strong>ols <strong>to</strong> make this task easier.)<br />

Comparison <strong>to</strong> the Vision of <strong>ISO</strong> <strong>15926</strong><br />

Readers may wonder what the difference is between hard coding terminology in<strong>to</strong> a database<br />

map and validating with “live” URIs as the exchange is made. If the hard-coded term is identical<br />

<strong>to</strong> the URI in the RDS/WIP, what does it matter? The answer is that if you were <strong>to</strong> exchange<br />

information only between a few well-known applications or a few well-known business<br />

partners there would be no effective difference between hard-coded and live URIs. But the<br />

vision of <strong>ISO</strong> <strong>15926</strong> is that any two organizations will be able <strong>to</strong> exchange information with a<br />

minimum of preparation required. Having both the sender and receiver validate the URIs during<br />

the exchange increases each party’s confidence in the information and reduces ambiguity.<br />

Example Set 4: Would It Help if I Told You How I Was Using the<br />

data?<br />

Although using industry standard definitions (and Part 4 definitions in particular) is the minimum<br />

requirement for compliance with <strong>ISO</strong> <strong>15926</strong>, there is still room for ambiguity. For in-<br />

APPENDIX C<br />

151


stance (<strong>to</strong> reuse an example from the <strong>Introduction</strong>), just because a native Mandarin speaker<br />

and a native Can<strong>to</strong>nese speaker understand English well enough <strong>to</strong> use it as an intermediary<br />

language it does not necessarily mean they will be able <strong>to</strong> communicate seamlessly from the<br />

very beginning. Because they come from different cultures, they may find that they use some<br />

words differently—which means that when first communicating there must be a time when<br />

definitions are verified.<br />

For others <strong>to</strong> know what we mean by certain terms, without having <strong>to</strong> go through the process<br />

of verifying what we mean, we need a way <strong>to</strong> embed the context in which we use these terms<br />

in<strong>to</strong> the data. In addition <strong>to</strong> using Part 4 <strong>to</strong> make sure our terminology matches the industry<br />

standard, when we also use the “syntax and grammar” of <strong>ISO</strong> <strong>15926</strong> (which is Part 2) we are<br />

doing just that. Using Part 7 templates makes it easier <strong>to</strong> use Part 2 correctly.<br />

Exchanging information with Part 7 templates is fundamentally different from dictionary mapping.<br />

The purpose of this example is <strong>to</strong> give you a glimpse of how different it is, without becoming<br />

a “How <strong>to</strong>” lesson. This example will show how the use of part 7 templates means that<br />

the meaning (or context) of the data is s<strong>to</strong>red with the data so that we do not have <strong>to</strong> engage<br />

our business partners in discussions of what the data means before sending information. We<br />

have seen a trend <strong>to</strong>ward this throughout the examples in this appendix. We started off with<br />

mapping one database directly <strong>to</strong> another, where both parties had <strong>to</strong> know a great deal about<br />

each other’s systems in order <strong>to</strong> trust that the information was being exchanged correctly.<br />

From there we went <strong>to</strong> cus<strong>to</strong>m dictionaries (where only the dictionary writers needed such<br />

intimate knowledge), and then <strong>to</strong> external RDLs—where we only needed knowledge of the<br />

published RDL term. In this example, we will also use the RDL terminology (and still have <strong>to</strong><br />

thoroughly understand what they mean)—but because we will be using Part 7 templates we<br />

do not have <strong>to</strong> engage our business partner in discussions of the form of the data or even the<br />

precise content; we just send “a bunch of stuff”, and our partner will be able <strong>to</strong> figure it out.<br />

This is the essence of <strong>ISO</strong> <strong>15926</strong>: we can exchange information with anyone without having <strong>to</strong><br />

know anything about their internal systems beforehand.<br />

Example 4.1: Using Templates <strong>to</strong> Exchange Information<br />

Figure C.17 shows ACME and EMCA using Part 7 templates <strong>to</strong> structure their data so that its<br />

meaning will be part of the exchange. ACME and EMCA will still use Part 4 as the data dictionary,<br />

and will still use the RDS/WIP <strong>to</strong> validate the information on each side of the exchange,<br />

but in addition they will structure their data according <strong>to</strong> Part 2. The easiest way <strong>to</strong> do this is<br />

<strong>to</strong> use the base templates in Part 7 <strong>to</strong> build the database maps with which they will export (or<br />

import) the neutral data exchange file.<br />

• ACME and EMCA collaborate and agree <strong>to</strong> use Part 7 (which implies Part 2) and Part 4.<br />

• Each organization creates information models, or maps, <strong>to</strong> transform its internal data structures<br />

<strong>to</strong> something that follows the <strong>ISO</strong> <strong>15926</strong> pro<strong>to</strong>cols. They use the base templates in<br />

Part 4, and the methodology in Part 7, <strong>to</strong> create new templates when required.<br />

• ACME selects certain data and exports it using the database map, based on Part 7 templates,<br />

<strong>to</strong> translate it <strong>to</strong> the agreed neutral file format. As it is assembling the neutral file,<br />

the templates validate the information against the core classes in the Part 4 RDL (using the<br />

RDS/WIP).<br />

• ACME sends the neutral file <strong>to</strong> EMCA.<br />

APPENDIX C<br />

152


• EMCA receives the neutral file and processes it in reverse.<br />

• EMCA uses its database map, based on Part 7 templates, <strong>to</strong> translate the information in the<br />

neutral file in<strong>to</strong> something its systems understand. EMCA’s templates understand how <strong>to</strong><br />

read the meaning from the structure of the data in the neutral file.<br />

Level of Collaboration Required<br />

Fig. C.17 Use <strong>ISO</strong> <strong>15926</strong>-7 for information exchange.<br />

The level of collaboration required in this case is much less than in the previous case. After<br />

both companies implement Part 7, all they will need <strong>to</strong> know from each other is the general<br />

nature of the information <strong>to</strong> be exchanged. Neither party has <strong>to</strong> know anything at all about<br />

the way the other creates and uses the information because the context of the information is<br />

contained within the information itself. The addition of Part 7 adds some initial work <strong>to</strong> fully<br />

understand the landscape of different applications and model them properly, but thereafter<br />

the actual data exchange becomes much simpler.<br />

New Role<br />

• <strong>An</strong> information modeler will map business objects in the applications <strong>to</strong> the prepared templates<br />

in Part 7.<br />

Metaphor<br />

So that you can understand what the exchange is trying <strong>to</strong> accomplish, we will start with a<br />

APPENDIX C<br />

153


metaphor about making inferences. Suppose we were <strong>to</strong> make this assertion: Barack Obama<br />

- is the - President of the United States. Most people <strong>to</strong>day who read the news will have no<br />

trouble understanding what this statement means. But suppose your name is Valentine Michael<br />

Smith and you have just been repatriated <strong>to</strong> Earth after being born on Mars and raised<br />

by Martians for twenty years. 5<br />

You would not even have the concept of “government,” let alone of “president”—and the political<br />

divisions the rest of us know as countries would not occur <strong>to</strong> you naturally, so you would<br />

have no way <strong>to</strong> understand this. However, if someone were <strong>to</strong> tell you that Barak Obama is human<br />

you would be able <strong>to</strong> infer that he has hair simply because you are human <strong>to</strong>o and have<br />

hair. Moreover, you would be able <strong>to</strong> deduce this well before grokking any earthling political<br />

nonsense.<br />

Similarly, in this example ACME will create some information about a pressure transmitter<br />

and send it <strong>to</strong> its business partner EMCA—which makes pneumatic tubes for sensing devices.<br />

However, EMCA does not understand “pressure transmitter.” Why? Well, perhaps they are<br />

Martians, but a more plausible explanation is that they do not care about pressure transmitters<br />

as a separate class of devices for which they make pneumatic tubes. All they care about is the<br />

pressure rating and connection type.<br />

ACME<br />

ACME’s intention is <strong>to</strong> pass information about a pressure transmitter, which has the tag number<br />

PT-101 and 3/4-inch NPT connections, <strong>to</strong> EMCA—which will fabricate some pneumatic<br />

tubing <strong>to</strong> connect <strong>to</strong> it. ACME will first identify the device using the template ClassificationOfIndividual,<br />

which has two columns (or roles, Individual and Class)—as shown in<br />

Figure C.18.<br />

Individual: xyz<br />

ClassificationOfIndividual<br />

Individual Class<br />

xyz URI of the class<br />

Pressure Transmitter<br />

Fig. C.18 Use of the ClassificationOfIndividual template.<br />

xyz is the identifier ACME uses internally for the individual it will later identify as PT-101.<br />

It uses the alias for a number of technical reasons, one of them being the potential need <strong>to</strong><br />

change the name PT-101. If PT-101 changed <strong>to</strong>, say, PT-2101, ACME would only have <strong>to</strong><br />

change this in one place (as we shall see) instead of many places.<br />

5. The author, who reads far <strong>to</strong>o much science fiction for his own good, believes that a metaphor<br />

involving a human being raised by Martians <strong>to</strong> be <strong>to</strong>tally plausible. If you read Stranger in a Strange<br />

Land, by Robert Heinlein, the metaphor will make more sense.<br />

APPENDIX C<br />

154


Class: The URI of the Class Pressure Transmitter<br />

In our previous examples, we showed how ACME could interrogate the appropriate RDL <strong>to</strong><br />

find the URI of a given term or class. If humans were intended <strong>to</strong> read this, ACME might consider<br />

using the English description of the class. However, because this template is intended for<br />

a computer the URI is actually easier <strong>to</strong> use. Once the transmitter has been classified, the next<br />

step is <strong>to</strong> identify it using the template ClassifiedIndividual (Figure C.19)—which has<br />

three roles: Individual, Name, and Classificai<strong>to</strong>nOfIndividual.<br />

Individual: xyz<br />

ClassifiedIndividual<br />

Individual Name ClassificationOfIndividual<br />

xyz PT-101 URI of, say, ISA<br />

xyz is ACME’s internal identifier.<br />

Name: PT-101<br />

Fig. C.19 Use of the ClassifiedIndividual template.<br />

Here we can see how the name PT-101 could be changed by changing it in just one place.<br />

There is no other place where the text string PT-101 occurs.<br />

ClassificationOfIndividual: ISA<br />

ISA will tell other users the way the name is <strong>to</strong> be interpreted. In this case, ACME is using the<br />

convention ISA (for Instrument Society of America). But, as before, instead of using the text<br />

string ISA it uses the URI of the class ISA.<br />

The next templates (Figure C.20) will contain the properties of the transmitter. For this, ACME<br />

will use two different templates: IndirectPropertyScaleReal (which has the four roles<br />

Individual, Property, Value, and Units of Measure) and IndirectProperty (which has the<br />

three roles Individual, Property, and Value).<br />

APPENDIX C<br />

155


EMCA<br />

lndirectPropertyScaleReal<br />

Individual Property Value Units of Measure<br />

xyz<br />

URI for the class Operating<br />

Pressure<br />

100 URI for the class of kPa<br />

lndirectProperty<br />

Individual Property Value<br />

xyz<br />

URI for the class End<br />

Connection<br />

URI for the class of NPT<br />

lndirectPropertyScaleReal<br />

Individual Property Value Units of Measure<br />

xyz<br />

URI for the class Connection<br />

Size<br />

0.75 Inches<br />

Fig. C.20 Use of the IndirectPropertyScaleReal and IndirectProperty templates.<br />

When EMCA receives the information, its system will first look through the data for the template<br />

ClassificationOfIndividual, and everything associated with it, using the identifier<br />

of the individual (xyz). EMCA could continue <strong>to</strong> use xyz, but chances are that it has a<br />

different internal numbering system and thus each individual will be given different identifiers.<br />

For the example of PT-101, we will use abc—as indicated in Figure C.21.<br />

Class: Pressure Transmitter<br />

ClassificationOfIndividual<br />

Individual Class<br />

abc URI of the class<br />

Pressure Transmitter<br />

Fig. C.21 Individual identifiers in the ClassificationOfIndividual template.<br />

EMCA’s system does not know what <strong>to</strong> do with Pressure Transmitter not because its<br />

engineers have never heard of such a device but because it has no reason <strong>to</strong> care. Rather than<br />

s<strong>to</strong>re all of the different types of devices <strong>to</strong> which its pneumatic tubes might potentially connect,<br />

it simply ignores the class.<br />

What EMCA’s system looks for is the templates containing the operating pressure, the thread<br />

form of the connection, and the size of the connection—as shown in Figure C.22. Now that<br />

EMCA knows the values it is looking for, its system can reform the data in<strong>to</strong> whatever EMCA<br />

needs <strong>to</strong> drive its fabrication and order fulfillment system.<br />

APPENDIX C<br />

156


lndirectPropertyScaleReal<br />

Individual Property Value Units of Measure<br />

abc<br />

URI for the class Operating<br />

Pressure<br />

100 URI for the class of kPa<br />

lndirectProperty<br />

Individual Property Value<br />

abc<br />

URI for the class End Connection<br />

URI for the class of NPT<br />

lndirectPropertyScaleReal<br />

Individual Property Value Units of Measure<br />

abc<br />

URI for the class Connection<br />

Size<br />

0.75 Inches<br />

Some Questions<br />

Fig. C.22 Templates containing operating pressure, thread form of connection, and size of connection.<br />

Q1. Couldn’t ACME just use a spreadsheet?<br />

A1. For this simplistic example, well, yes. ACME could send a spreadsheet of all instrument tag<br />

numbers, end connections, size, and thread form. <strong>An</strong> EMCA engineer would pull out the values<br />

that were needed for fabrication and reform them <strong>to</strong> feed in<strong>to</strong> EMCA’s systems.<br />

Q2. So why use templates?<br />

A2a. Computers can do this type of work much more quickly and reliably, once we teach them<br />

how. This lets humans do more interesting things.<br />

A2b. This is a really simple example. The relationships can get quite a bit more complicated.<br />

Q3. How do you know which templates <strong>to</strong> use?<br />

A3. Funny you should ask. In Chapter 4, we mentioned the Practical Guide for <strong>ISO</strong> <strong>15926</strong> Modeling,<br />

If you want <strong>to</strong> learn more about using templates, this should be the next book you read.<br />

If you think information modeling using Part 7 templates is interesting, we can tell you that<br />

there is going <strong>to</strong> be a demand for experts who understand the things their industry segment<br />

deals with—and who also have an aptitude for abstract reasoning. If this describes you, give<br />

someone a call. We’ve got a very interesting career lined up for you!<br />

APPENDIX C<br />

157


Using the RDS/WIP<br />

The RDS/WIP was commissioned in the mid 2000s as a proof-of-concept for an RDS. The<br />

classes that make up Part 4, the dictionary of <strong>ISO</strong> <strong>15926</strong>, were used as seed material. Since its<br />

inception, many definitions have been added <strong>to</strong> the RDS/WIP. The RDS/WIP is several things.<br />

• A library of reference data for <strong>ISO</strong> <strong>15926</strong><br />

• A means of publishing core <strong>ISO</strong> <strong>15926</strong> definitions<br />

• A platform for developing new <strong>ISO</strong> <strong>15926</strong> definitions<br />

• A workspace for harmonizing other standards with <strong>ISO</strong> <strong>15926</strong> (or <strong>ISO</strong> standards with one<br />

another)<br />

The RDS/WIP is a large triple s<strong>to</strong>re in the form subject-predicate-object. It uses semantic web<br />

technology (OWL, RDF, and SPARQL)—transported with the conventional web technology<br />

HTTP—<strong>to</strong> provide machine-oriented access <strong>to</strong> the s<strong>to</strong>red definitions. A conventional HTML<br />

presentation is used <strong>to</strong> provide a human-oriented interface <strong>to</strong> the same system. <strong>An</strong>yone can<br />

search the RDS/WIP and find terms, much like in a dictionary. Accredited users can add information<br />

<strong>to</strong> the RDS/WIP.<br />

We need <strong>to</strong> point out here that Part 4 intends that RDLs be federated. Therefore, it is in the<br />

best interest of the industry <strong>to</strong> ensure that each authority be responsible for its own RDL <strong>to</strong><br />

ensure that the distributed nature of the Internet can be used. Although the RDS/WIP is the<br />

largest reposi<strong>to</strong>ry <strong>to</strong> date, this should be seen as only the first—and it is everyone’s challenge,<br />

especially equipment vendors, <strong>to</strong> ensure they have their own information on their own approved<br />

RDL.<br />

Web Address for RDS/WIP<br />

• rdl.rdlfacade.org.<br />

When you navigate <strong>to</strong> this site with a web browser, it defaults <strong>to</strong> a search screen you can use<br />

<strong>to</strong> examine the taxonomy of RDS/WIP terminology.<br />

RDL Facade Rules<br />

Table C.4 outlines RDL facade rules.<br />

TABLE C.4<br />

RDL FACADE RULES<br />

Rule Purpose<br />

Not case sensitive Search strings are not case sensitive<br />

search-string Returns all terms containing the full search string<br />

^search_string Returns terms beginning with the search string<br />

^search-string$ Returns a single exact match<br />

APPENDIX C<br />

158


Examples<br />

In the search box, search for the items indicated in Table C.5.<br />

TABLE C.5<br />

SEARCH BOX ITEMS<br />

Item Purpose<br />

Temperature<br />

TEMPERATURE<br />

^temperature<br />

RDS/WIP will return all terms containing the word temperature,<br />

in groups of 20.<br />

RDS/WIP should return the same results because it is not case<br />

sensitive.<br />

RDS/WIP will return all terms beginning with the word temperature.<br />

^temperature$ RDS/WIP should return only one term, TEMPERATURE.<br />

After the previous search, select the term TEMPERATURE. Figure C.23 shows what you should<br />

see. Table C.6 explains the terminology.<br />

TABLE C.6<br />

RDS/WIP TERMINOLOGY<br />

Item Purpose<br />

RDS/WIP URI<br />

Label<br />

Fig. C.23 RDS/WIP entry for temperature.<br />

The URI for the term TEMPERATURE. If you enter this text string<br />

in<strong>to</strong> your web browser, you will be taken <strong>to</strong> this page.<br />

The official designa<strong>to</strong>r for this term. Within the database, this designa<strong>to</strong>r<br />

is unique.<br />

Description This helps you know whether or not you have the correct term.<br />

Entity Type<br />

Think of this as the general category <strong>to</strong> which TEMPERATURE belongs.<br />

We have just scratched the surface of how <strong>to</strong> use the RDS/WIP effectively. In Appendix D, in<br />

the section about iRING, we have included a link <strong>to</strong> a document Discovering the Right Class<br />

for <strong>ISO</strong> <strong>15926</strong>. We will leave further discussion for another book.<br />

APPENDIX C<br />

159


APPENDIX D:<br />

OTHER RESOURCES<br />

Information Modeling Resources<br />

The barriers <strong>to</strong> digital interoperability are no longer hardware and technology, but rather<br />

information modeling. To truly develop ubiqui<strong>to</strong>us digital interoperability, we will need robust<br />

information models that describe project objects and the relationships between them—from<br />

their inception, through operation, <strong>to</strong> demobilization. This provides a distinct growth opportunity<br />

for engineers who understand that information about plant objects is as valuable as the<br />

objects themselves. When we have a large knowledge base, classified accurately, we will be<br />

able <strong>to</strong> exchange worthwhile information without human involvement in each transfer.<br />

Information modeling is the core of <strong>ISO</strong> <strong>15926</strong>. Most people will not have <strong>to</strong> know anything<br />

about it, but a lucky few will get <strong>to</strong> go all the way down the rabbit hole. If you would like <strong>to</strong><br />

become one of the lucky few, the sections following describe publications that will get you<br />

started.<br />

The Archives of Dr. Matthew West<br />

Dr. West has a long his<strong>to</strong>ry with Shell’s Information Management department, and was a developer<br />

of parts of <strong>ISO</strong> <strong>15926</strong> before he retired. He has posted many of his publications on his<br />

web site:<br />

http://www.matthew-west.org.uk/publications.html<br />

There is a wealth of information here for those introducing themselves <strong>to</strong> information modeling.<br />

Dr. West was part of the development of several of the STEP parts, and later <strong>ISO</strong> <strong>15926</strong>. If<br />

you start near the bot<strong>to</strong>m, you will see the progression from one <strong>to</strong> the other. If you are new<br />

<strong>to</strong> information modeling, we suggest you start partway down—with some introductions on<br />

how <strong>to</strong> add the dimension of time <strong>to</strong> a representation of product parts.<br />

• The “IIDEAS” Architecture <strong>An</strong>d Integration Methodology For Integrating Enterprises (2001)<br />

• Replaceable Parts: A Four Dimensional <strong>An</strong>alysis (2003)<br />

• Common Reference Data: The Foundation of e-Business (2003)<br />

• <strong>An</strong> <strong>Introduction</strong> <strong>to</strong> 4 Dimensionalism in Data Modeling (2007)<br />

• 4 Dimensional Data Modeling: <strong>An</strong> On<strong>to</strong>logical Approach (2008)<br />

If you would like <strong>to</strong> listen <strong>to</strong> a lecture of Dr. West about <strong>ISO</strong> <strong>15926</strong>, he has made available a<br />

podcast and lecture notes of a presentation given on On<strong>to</strong>log—a community devoted <strong>to</strong> advancing<br />

the field of on<strong>to</strong>logy. The lecture is titled <strong>An</strong> <strong>Introduction</strong> <strong>to</strong> <strong>ISO</strong> <strong>15926</strong> with Podcast<br />

(40 Mbyte) and is available from ONTOLOG (2006).<br />

Hans Teijgeler’s Modeling Site<br />

APPENDIX D<br />

160


Hans Teijgeler has been influential in developing some of the parts of <strong>ISO</strong> <strong>15926</strong>. In his retirement,<br />

he has developed a web site that explains the way data modeling is done with <strong>ISO</strong><br />

<strong>15926</strong>.<br />

http://www.<strong>15926</strong>.info/index.htm<br />

Hans uses a diagramming technique that you will see if you start working directly with Part 2,<br />

instead of Part 7.<br />

IOHN Modeling Guide<br />

We described the Integrated Operations in the High North (IOHN) project in Chapter 4. It is a<br />

unique collaboration between the IT, defense, and oil and gas industries. It is a proponent of<br />

<strong>ISO</strong> <strong>15926</strong> because <strong>ISO</strong> <strong>15926</strong> will enable more efficient and safer operation of remote sites.<br />

For their members, they have developed a training course on <strong>ISO</strong> <strong>15926</strong> and an introduction<br />

<strong>to</strong> information modeling—which they have recently released <strong>to</strong> the public.<br />

https://www.posccaesar.org/wiki/<strong>ISO</strong><strong>15926</strong>Primer_OtherResources<br />

On this page, you will see the following three attachments.<br />

• IHON Modeling Guide – Part 1<br />

• IHON Modeling Guide – Part 2<br />

• IHON Modeling Guide – Lecture Notes<br />

Origin of <strong>ISO</strong> <strong>15926</strong><br />

David Leal, of CAESAR Systems Limited, is one of the developers of parts of STEP and <strong>ISO</strong><br />

<strong>15926</strong>. In 2005, he published a paper <strong>ISO</strong> <strong>15926</strong> “Life Cycle Data for Process Plant”: <strong>An</strong> Overview.<br />

In it he explains why <strong>ISO</strong> <strong>15926</strong> was developed. He describes what he calls the “4D approach”<br />

<strong>to</strong> representing change in a way that can be represented with RDF/OWL. It has been<br />

made available free of charge. Search for the paper by its title, or go <strong>to</strong> this site:<br />

http://ogst.ifpenergiesnouvelles.fr/index.php?option=com_article&access=standard&Itemid=12<br />

9&url=/articles/ogst/pdf/2005/04/leal_vol60n4.pdf<br />

Organizations Responsible for <strong>ISO</strong> <strong>15926</strong><br />

We have described these organizations in Chapter 2.<br />

<strong>ISO</strong> TC184/SC4<br />

http://www.tc184-sc4.org/<br />

<strong>ISO</strong> Technical Committee 184 Subcommittee 4 – Industrial Data<br />

APPENDIX D<br />

161


POSC Caesar Association<br />

https://www.posccaesar.org<br />

POSC Caesar Association (PCA) is a nonprofit global-standardization member organization<br />

that promotes the development of open specifications <strong>to</strong> be used as standards for enabling<br />

the interoperability of data and software and related matters.<br />

Fiatech<br />

http://fiatech.org/<br />

Fiatech is an industry consortium that provides global leadership in identifying and accelerating<br />

the development, demonstration, and deployment of fully integrated and au<strong>to</strong>mated technologies<br />

<strong>to</strong> deliver the highest business value throughout the life cycle of all types of capital<br />

projects.<br />

USPI-NL<br />

http://www.uspi.nl/<br />

USPI-NL is a formal association of process industry companies with the mission <strong>to</strong> develop,<br />

maintain, and promote the use of international standards and best practices for product and<br />

plant life cycle information.<br />

User Groups<br />

iRINGUserGroup<br />

http://iringug.org<br />

iRINGUserGroup is an open online community of users, companies, and organizations who<br />

use, are considering using, or are developing or deploying iRING pro<strong>to</strong>cols. The iRINGUser-<br />

Group is also responsible for the management, enhancement, and maintenance of iRINGTools<br />

and iRINGSandbox. We have described iRING in Chapter 4. On their home page are links <strong>to</strong><br />

iRINGTools and iRINGSandbox.<br />

Discovering a Class in <strong>ISO</strong> <strong>15926</strong><br />

This gives advice on choosing the correct class during searches in a reference data service<br />

(RDS) browser.<br />

http://iringug.org/wiki/index.php?title=Discovering_a_Class_in_<strong>ISO</strong>_<strong>15926</strong><br />

APPENDIX D<br />

162


Other Organizations<br />

MIMOSA<br />

http://www.mimosa.org/<br />

MIMOSA is a not-for-profit trade association dedicated <strong>to</strong> developing and encouraging the<br />

adoption of open information standards for operations and maintenance in manufacturing,<br />

fleet, and facility environments. MIMOSA’s open standards enable collaborative asset life-cycle<br />

management in both commercial and military applications. We have described MIMOSA and<br />

their two joint special interest groups with Fiatech and PCA in Chapter 4.<br />

European Committee for Standardization<br />

http://www.cen.eu/cen/AboutUs<br />

The European Committee for Standardization (CEN) is a business facilita<strong>to</strong>r in Europe, removing<br />

trade barriers for European industry and consumers. Its mission is <strong>to</strong> foster the European<br />

economy in global trading and the welfare of European citizens and the environment. Through<br />

its services it provides a platform for the development of European standards and other technical<br />

specifications. The members of CEN work <strong>to</strong>gether <strong>to</strong> develop standards for European<br />

business. In the fall of 2010, they conducted the ORCHID workshop—discussed in material<br />

following.<br />

Orchestration of Industrial Data<br />

http://www.cen.eu/CEN/sec<strong>to</strong>rs/sec<strong>to</strong>rs/isss/workshops/Pages/workshoporchid.aspx<br />

The ORCHID (Orchestration of Industrial Data) group is a network of European companies<br />

and consortia dedicated <strong>to</strong> standardizing information across the process industry engineering<br />

supply chain <strong>to</strong> build competitive advantage. Its goal is <strong>to</strong> progress the industry <strong>to</strong>ward<br />

interoperability. In Chapter 5, we presented an approach <strong>to</strong> implementing <strong>ISO</strong> <strong>15926</strong> that even<br />

small organizations can follow. It could be, however, that your organization is ready for a more<br />

comprehensive rollout. If so, you will find the proceedings of the ORCHID workshop interesting.<br />

The purpose of this workshop was <strong>to</strong> create an interoperability roadmap for organizations—starting,<br />

most importantly, with a self-assessment and an assessment of one’s business<br />

partners. The web page cited previously contains six attachments that can be downloaded.<br />

• Part 1: Direction and Framework<br />

• Part 2: Implementation Guide<br />

• Part 3: Standards Landscape<br />

• The CEN ORCHID Roadmap: Implementation Guide<br />

• The CEN ORCHID Roadmap: Direction and Framework<br />

• ORCHID: Orchestrating Industrial Data, Workshop Overview<br />

APPENDIX D<br />

163


RDS Browsers<br />

The classes that make up Part 4, the dictionary of <strong>ISO</strong> <strong>15926</strong>, are s<strong>to</strong>red in what is called the<br />

RDS/WIP (Reference Data System/Work in Progress). To search the classes you need <strong>to</strong> use<br />

an RDS/WIP browser. For more information about RDS/WIP:<br />

http://rdswip.ids-adi.org/presentation/overview/index.html<br />

There are a number of browsers for the RDS/WIP. These are described in the sections that follow.<br />

rdlfacade<br />

The RDS/WIP Search, otherwise known as the RDL Facade, was created during the early development<br />

of <strong>ISO</strong> <strong>15926</strong>.<br />

http://rdl.rdlfacade.org<br />

POSC Caesar Part 4 Browser<br />

POSC Caesar has its own library of reference data (at the following address), presented in the<br />

form of spreadsheets.<br />

http://rds.posccaesar.org/2008/05/XML/<strong>ISO</strong>-<strong>15926</strong>-4_2007/<br />

POSC Caesar RDL Explorer<br />

http://193.212.132.108/apps/rdsclient.html<br />

Log in as “guest.”<br />

Instructions on using the POSC browser can be found at the following address.<br />

http://<strong>15926</strong>.org/home/tiki-index.php?page=Tu<strong>to</strong>rial+<strong>ISO</strong>+<strong>15926</strong>+part+4<br />

DNV Reference Data Browser<br />

Det Norske Veritas (DNV) is one of the three largest insurers in the world, along with Lloyd’s<br />

Register and the American Bureau of Shipping. It became interested in <strong>ISO</strong> <strong>15926</strong> as a result<br />

of assessing risk in shipping. A common way <strong>to</strong> describe physical facilities makes it easier <strong>to</strong><br />

compare the facilities <strong>to</strong> common benchmarks. DNV has participated in some of the development<br />

work of <strong>ISO</strong> <strong>15926</strong> and has created its own RDS browser.<br />

http://projects.dnv.com/reference_data/RD7Browser/browser.aspx?id=part4:RDS415124<br />

Business Interface Definition Guides<br />

One of the major motivations of organizations <strong>to</strong> sponsor the work that has led <strong>to</strong> <strong>ISO</strong> <strong>15926</strong>,<br />

and the motivations of individuals <strong>to</strong> participate, is the efficient handover of information from<br />

engineering procurement and construction (EPC) contrac<strong>to</strong>rs and construc<strong>to</strong>rs <strong>to</strong> owneropera<strong>to</strong>rs.<br />

After a facility has been built and commissioned, document and information hando-<br />

APPENDIX D<br />

164


ver must often operate on what is left of the project budget after the original engineering and<br />

construction staff have moved on <strong>to</strong> their next project. It is sometimes difficult for the owner<br />

<strong>to</strong> get all of the information it needs, and in a form that is immediately useful.<br />

One barrier <strong>to</strong> adequate information handover in the capital projects industry is getting all parties<br />

<strong>to</strong> agree at the beginning of a project what needs <strong>to</strong> be handed over. So that every project<br />

does not have <strong>to</strong> develop its handover requirements from scratch, a number of handover<br />

guides have been created—and more are contemplated. We have come <strong>to</strong> refer <strong>to</strong> the discussion<br />

of information handover guides as the The Business Interfaces Definition Guide (BIDG).<br />

The handover guides developed <strong>to</strong> date all discuss the importance of good data handover and<br />

offer ways of ensuring that this will actually happen on a given project. One of them, published<br />

by EPISTLE, explicitly lists deliverables by name and is organized by engineering discipline.<br />

One barrier <strong>to</strong> getting more specific is a common definition of terms. When the JORD<br />

project is complete, many of the participants in the development of these handover guides<br />

anticipate a harmonization with Part 4.<br />

EPISTLE Handover Guides<br />

In the late 1990s at EPISTLE, the first Process Industries Data Handover Guide was published<br />

<strong>to</strong> help project participants define the scope of information turnover. The guide is issued in<br />

two parts. Part 1 concentrates on methodology, starting with understanding the business need<br />

for information, creating a plan <strong>to</strong> supply the information, and implementation. Part 2 focuses<br />

on recommendations for actual data items ranging from contract management documents,<br />

scheduling, materials, construction, and process <strong>to</strong> information on all of the components that<br />

make up the facility.<br />

As its basis, the EPISTLE handover guide used the PISTEP Process Plant Engineering Activity<br />

Model (see Chapter 2). This activity model was essentially a very detailed flowchart of<br />

the main activities and information exchanges encountered over the life of a typical process<br />

plant. EPISTLE used the activity model <strong>to</strong> make sure its guide captured the most important<br />

exchanges. If you are ever involved in planning the information handover for a capital project,<br />

EPISTLE’s guides are still worth reading—along with the NIST and EPRI guides.<br />

https://www.posccaesar.org/wiki/IdsAdiBIDG<br />

You will have <strong>to</strong> request a login from PCA <strong>to</strong> obtain access. Access is open <strong>to</strong> all members of<br />

PCA. Non-members can request access. Go <strong>to</strong> their membership page and follow the instructions<br />

at the bot<strong>to</strong>m.<br />

NIST/Fiatech Handover Guides<br />

The NIST handover guide is issued in a number of parts, modeled after the EPISTLE handover<br />

guides. The Capital Facilities Information Handover Guide Part 1 was issued by NIST and Fiatech<br />

in 2006. Several second parts are envisioned, each <strong>to</strong> focus on the deliverables of a specific<br />

industry. The General Buildings Information Handover Guide was issued in 2007. Its focus<br />

is the general buildings industry, including commercial, industrial, and government buildings.<br />

This guide reviews the issues in designing and constructing an environment of short schedules<br />

and constant change. Several case studies are included, showing the successes and lessons<br />

learned for early adopters of building information modeling (BIM).<br />

APPENDIX D<br />

165


• Capital Facilities Information Handover Guide, Part 1<br />

• http://fire.nist.gov/bfrlpubs/build05/PDF/b05037.pdf<br />

• General Buildings Information Handover Guide<br />

• http://fire.nist.gov/bfrlpubs/build07/PDF/b07015.pdf<br />

Electric Power Research Institute Handover Guide<br />

http://my.epri.com/<br />

The Advanced Nuclear Technology: New Nuclear Power Plant Information Handover Guide<br />

was issued by the Electric Power Research Institute (EPRI) in 2009. It reviews the information<br />

handover requirements in the very heavily regulated nuclear industry. It starts by noting that<br />

new projects will almost certainly be developed with advanced computer systems capable of<br />

3D modeling, construction sequencing, and detailed cost control. Handover will increasingly<br />

be electronic rather than paper based.<br />

If the power authorities operating the plant pay attention <strong>to</strong> data requirements early, the data<br />

handover can directly feed their own operations and maintenance systems. The document<br />

ends with a brief overview of emerging information handover standards, in which <strong>ISO</strong> <strong>15926</strong> is<br />

included. Future appendices will include detailed templates for an information handover plan.<br />

The report can be downloaded at no charge. The best way <strong>to</strong> find the report is <strong>to</strong> go <strong>to</strong> EPRI’s<br />

home page and search for “handover guide.” which will take you <strong>to</strong> a page where you should<br />

find the report listed.<br />

APPENDIX D<br />

166


GLOSSARY OF CONCEPTS<br />

There are already enough glossaries of computer science terms available on the Internet that<br />

we do not need another comprehensive listing. The purpose of this glossary is <strong>to</strong> use the<br />

language of beginners <strong>to</strong> expand on some of the concepts useful in understanding <strong>ISO</strong> <strong>15926</strong>.<br />

We should warn you that we have used some artistic license here. We do not recommend you<br />

use any of these definitions on an important exam!<br />

Artificial Intelligence and the Semantic Web: Difference Between<br />

Artificial intelligence: “Making machines smarter”<br />

Semantic Web: “Making data smarter”<br />

We all want <strong>to</strong> be able <strong>to</strong> find and use information on the World Wide Web easier and more<br />

reliably. The artificial intelligence approach is <strong>to</strong> make machines smarter by teaching them<br />

<strong>to</strong> infer the meaning of web data by using techniques such as natural language and image<br />

processing. In contrast, the Semantic Web approach is <strong>to</strong> make the data itself smarter (that is,<br />

by making the data easier for machines <strong>to</strong> find, access, and process) by using techniques for<br />

expressing data and meaning in a standard machine-readable format. <strong>ISO</strong> <strong>15926</strong> Parts 8 and 9<br />

use Semantic Web technology <strong>to</strong> describe plant objects in a way that computers can understand.<br />

First-order Logic, Semantics, and Reference Data<br />

First-order logic:<br />

If you have ever taken a mathematics course where you have had <strong>to</strong> prove something you<br />

have used first-order logic.<br />

Joke:<br />

A farmer, an engineer, and a philosopher decided <strong>to</strong> take a bus <strong>to</strong>ur of Scotland<br />

for a vacation. After they arrived in Glasgow they transferred <strong>to</strong> a bus and drove<br />

out of <strong>to</strong>wn. On the first farm they passed, they saw a black sheep standing in a<br />

field.<br />

“Look!” said the farmer, “Scottish sheep are black!”<br />

“You can’t draw that conclusion after only seeing one sheep,” said the engineer.<br />

“All you know for sure is that at least one sheep in Scotland is black!”<br />

“You’re both wrong,” said the philosopher. “All you know for sure is that at least<br />

one sheep in Scotland is black on at least one side!”<br />

The philosopher knows first-order logic. This joke makes first-order logic seem pedantic. But<br />

what if, after the three went back home, they were offered an investment that depended on<br />

GLOSSARY<br />

167


there being a ready supply of black wool? Wouldn’t it be nice, then, if they knew whether or<br />

not the farm they saw was a typical Scottish farm, a farm owned by a collec<strong>to</strong>r of unusual<br />

specimens of ordinary farm animals, or an experimental farm that tinkered with the DNA of<br />

sheep?<br />

First-order logic is a means of including all of one’s presuppositions in<strong>to</strong> one’s assertions in<br />

order <strong>to</strong> tell if something is true or not. “Presupposition” as regards <strong>ISO</strong> <strong>15926</strong> is equivalent <strong>to</strong><br />

“context,” a concept we have become very familiar with. First-order logic is used in <strong>ISO</strong> <strong>15926</strong><br />

as a basis for developing the classes (which make up Part 2); the reference data library (RDL),<br />

which makes up Part 4; and the templates, which make up Part 7.<br />

Semantics:<br />

If you have ever read Alice’s conversation with Humpty Dumpty, 1 you have had a lesson in<br />

semantics. <strong>An</strong> excerpt:<br />

Humpty Dumpty: “...How old did you say you were?”<br />

Alice made a short calculation, and said, “Seven years and six months.”<br />

“Wrong!” Humpty Dumpty exclaimed triumphantly. “You never said a word like<br />

it!”<br />

“I thought you meant ‘How old are you?’” Alice explained.<br />

“If I’d meant that, I’d have said it,” said Humpty Dumpty.<br />

Semantics has <strong>to</strong> do with meaning. Sometimes the word is used derisively, as in “Yes, but<br />

that’s only semantics!” But in <strong>ISO</strong> <strong>15926</strong> semantics is everything. Elsewhere in these pages<br />

we have talked about embedding context with the data. What we mean by this is capturing<br />

the semantics. Semantic means that a precise meaning, neither more nor less, can be had.<br />

For instance, in a field of engineering there might be many versions of the word temperature.<br />

A user of any of the versions must be able <strong>to</strong> use each version reliably <strong>to</strong> convey the correct<br />

meaning. Semantic fidelity is the degree <strong>to</strong> which the original meaning of a term survives an<br />

information exchange. We are looking for high semantic fidelity <strong>to</strong> make sure the meaning of<br />

data values is preserved on the receiving end.<br />

Reference data:<br />

We return <strong>to</strong> Alice’s conversation with Humpty Dumpty, in which Humpty is trying <strong>to</strong> convince<br />

Alice that it is better <strong>to</strong> have un-birthdays than birthdays on the basis that there are 364 days<br />

when you might get un-birthday presents. Humpty continues:<br />

“… only one for birthday presents, you know. There’s glory for you!”<br />

“I don’t know what you mean by ‘glory.’ Alice said.<br />

Humpty Dumpty smiled contemptuously. “Of course you don’t—till I tell you. I<br />

1. Through the Looking Glass, by Lewis Carroll.<br />

GLOSSARY<br />

168


meant, ‘there’s a nice knock-down argument for you!’”<br />

“But ‘glory’ doesn’t mean ‘a nice knock-down argument’,” Alice objected.<br />

“When I use a word,” Humpty Dumpty said, in rather a scornful <strong>to</strong>ne, “it means<br />

just what I choose it <strong>to</strong> mean—neither more nor less.”<br />

“The question is,” said Alice, “whether you can make words mean so many different<br />

things.”<br />

“The question is,” said Humpty Dumpty, “which is <strong>to</strong> be master—that’s all.”<br />

If the definitions of terms were decided by individuals at the time they used the terms, we<br />

would never be able <strong>to</strong> communicate effectively. But with a common set of definitions, that<br />

any of us can consult, we can communicate without ambiguity. The <strong>ISO</strong> <strong>15926</strong> RDL is the common<br />

set of definitions (reference data) we can all use.<br />

On<strong>to</strong>logy and Taxonomy: Difference Between<br />

On<strong>to</strong>logy:<br />

If you have ever played the parlor game Twenty Questions, you intuitively understand what<br />

on<strong>to</strong>logy means. In this game, you more or less start with an “on<strong>to</strong>logy of everything in the<br />

world” and with each successive question (“Is it a ...?”) apply a more limited on<strong>to</strong>logy as a<br />

filter (usually starting with “Is it animal, vegetable, or mineral?”) The game ends when there is<br />

only one object left, the answer, that satisfies membership (or nonmembership in the case the<br />

answer <strong>to</strong> “Is it a ...?” is “No!”) in all on<strong>to</strong>logies.<br />

Taxonomy:<br />

If you have ever made a classified list of all your CDs, you have made a taxonomy. (But if<br />

you are as old as the author, CDs are old hat. You learned how <strong>to</strong> do this years ago with your<br />

player piano rolls!”) <strong>An</strong>d if you have ever had <strong>to</strong> grapple with the question of where <strong>to</strong> classify<br />

Weird Al (under “Parody”, “Rock and Roll,” or “Idiot!”), you have come up against the idea<br />

of single or multiple inheritance. On<strong>to</strong>logy and taxonomy are both terms in a continuum that<br />

information scientists call knowledge organization systems (KOS).<br />

<strong>An</strong>d just <strong>to</strong> confuse you some more, the continuum includes thesaurus, controlled vocabulary,<br />

and faceted classification—among many others. The bad news for those of you not used<br />

<strong>to</strong> dealing with ambiguity (all you mechanical engineers out there: raise your hands!) is that<br />

there is a great deal of overlap in those terms. Even people whose job it is <strong>to</strong> know these<br />

things (all you mechanical engineers out there: put your hands down!) cannot give a short<br />

answer when asked where the boundaries are.<br />

A taxonomy is a collection of terms that have explicit definitions that have been organized<br />

in<strong>to</strong> a hierarchical structure. They tend <strong>to</strong> be organized in tree-like structures that are reasonably<br />

easy <strong>to</strong> understand, even by non-specialized people. Each term is related <strong>to</strong> its parent in<br />

an “is a type of” relationship.<br />

For instance, a car is a type of au<strong>to</strong>mobile. But a car also a type of machine, so if your taxonomy<br />

is concerned with machines you should analyze the relative order of these three things.<br />

GLOSSARY<br />

169


Depending on the purpose of your taxonomy, you might end up with something like this:<br />

“Car” is a type of au<strong>to</strong>mobile, which is a type of machine.<br />

In the realm of philosophy, on<strong>to</strong>logy is the study of being; the study of the things that are. In<br />

the realm of information science (which is where <strong>ISO</strong> <strong>15926</strong> firmly resides), on<strong>to</strong>logy has a<br />

more formal meaning. The Wikipedia definition says that an on<strong>to</strong>logy is “a formal representation<br />

of a set of concepts within a domain and the relationships between those concepts.”<br />

(Hmm…This is one of those definitions that does not start <strong>to</strong> make sense until you already<br />

know what it means. Let’s try something else.)<br />

Like taxonomies, on<strong>to</strong>logies are also arranged in an “is a type of” relationship, but the relationships<br />

tend <strong>to</strong> be more richly defined. The difference is subtle. One commenta<strong>to</strong>r compared<br />

the difference between on<strong>to</strong>logy and taxonomy <strong>to</strong> your computer hard disk. The taxonomy<br />

would be the direc<strong>to</strong>ry structure without the files, whereas the on<strong>to</strong>logy would be the files<br />

organized by the direc<strong>to</strong>ry structure.<br />

In Chapter 2, we talked about an on<strong>to</strong>logy of things that will carry a bicycle. That on<strong>to</strong>logy<br />

was the entire collection of things that can carry a bicycle that the author held in his head in<br />

case his bicycle were <strong>to</strong> break down on the way <strong>to</strong> work. Each object in the on<strong>to</strong>logy would<br />

have a taxonomy you could examine.<br />

Generalization and specialization:<br />

The “is a type of” relationship is known as generalization/specialization. In the previous example,<br />

“car” is a specialization of “au<strong>to</strong>mobile”; “au<strong>to</strong>mobile” is the generalization of “car.”<br />

Subtype and supertype:<br />

Subtype/supertype is just another way of saying generalization/specialization. Continuing the<br />

previous example, “car” is a subtype of “au<strong>to</strong>mobile”; “au<strong>to</strong>mobile” is a supertype of “car.” The<br />

understanding is that the subtype has all the constraints of the supertype, plus one or more<br />

additional constraints.<br />

Integration and Interoperability: Difference Between<br />

Interoperability:<br />

<strong>An</strong> early example of digital interoperability, probably even before the phrase was coined,<br />

is the centerpiece of the 1970 movie Colossus: The Forbin Project. It was released near the<br />

height of the Cold War, in an era when people were starting <strong>to</strong> hear about these newfangled<br />

computer-thingies and <strong>to</strong> wonder how they would affect us. In the movie, “the” (one and only)<br />

supercomputer in the United States, Colossus, tunnels under the Atlantic Ocean using something<br />

like what we call the Internet <strong>to</strong>day and finds “the” (one and only) supercomputer in the<br />

Soviet Union, Guardian.<br />

Recognizing themselves as kindred spirits, Colossus and Guardian naturally start talking <strong>to</strong><br />

each other and by the end of the movie have taken over the world and enslaved humanity.<br />

Now that’s interoperability! Basically, this is what <strong>ISO</strong> <strong>15926</strong> intends <strong>to</strong> achieve (minus, of<br />

course, the taking-over-the-world-and-enslaving-humanity part.)<br />

Integration:<br />

GLOSSARY<br />

170


If you are a Start Trek fan and have watched one of the episodes where the crew of the Enterprise<br />

encounters the Borg, you have seen one definition of integration: basically, a bunch of<br />

individual things becoming part of a whole (other) thing with all parts working <strong>to</strong>gether seamlessly.<br />

Comparing Interoperability and Integration<br />

Colossus is probably classified in the apocalyptic science fiction genre, but if you are involved<br />

in any way in moving information from one computer system <strong>to</strong> another, parts of it will be<br />

high comedy. The movie portrays supercomputers as being naturally aware of each other, sort<br />

of like two dogs being walked in the same park.<br />

Then the movie suggests that supercomputers somehow have the innate ability <strong>to</strong> communicate.<br />

The truth is, unless a pair of computers had been specifically programmed <strong>to</strong> do so they<br />

would not even know of each other’s existence—let alone be able <strong>to</strong> communicate, even if you<br />

were <strong>to</strong> put them both in the same room and name one Laverne and the other Shirley.<br />

For most people, the line between interoperability and integration is fuzzy, and in truth there<br />

is overlap. In the field of information exchange, both imply that information can flow between<br />

two computer programs more or less seamlessly—without anyone having <strong>to</strong> rekey any of it. It<br />

is not until we start digging in<strong>to</strong> the various methods of achieving this seamless information<br />

exchange that we can zero in on the differences. Interoperability implies that the two computer<br />

programs are their own agents, but somehow know how <strong>to</strong> speak the same language.<br />

Integration implies that the computer programs achieve the information exchange by having<br />

hooks in<strong>to</strong> each other.<br />

In the context of <strong>ISO</strong> <strong>15926</strong>, interoperability means that two or more computer applications<br />

are able <strong>to</strong> exchange information because they all, independently of each other, use a common<br />

standard for exchanging information. There is no requirement that any of them know<br />

about any of the others beforehand. It is like buying a Blue<strong>to</strong>oth headset for your cellular<br />

phone and then being pleasantly surprised that after replacing your phone the headset works<br />

with the new one <strong>to</strong>o.<br />

In the context of <strong>ISO</strong> <strong>15926</strong>, integration means that two computer applications are able <strong>to</strong><br />

exchange information because the developers of each did some cus<strong>to</strong>m work <strong>to</strong> make them<br />

able <strong>to</strong> do so. The end result of this “working <strong>to</strong>gether” may in fact be identical, better than,<br />

or worse than the “working <strong>to</strong>gether” in our definition of interoperability.<br />

Strong Coupling, Loose Coupling, and Encapsulation<br />

Interoperability with <strong>ISO</strong> <strong>15926</strong> is achieved by what is called loose coupling, whereas integration<br />

implies strong coupling. In the field of computer science, strong coupling means that a<br />

function in one application is directly controlled by a function in another application. Loose<br />

coupling means that when two programs communicate but the components of one system do<br />

not directly make use of knowledge of the other system.<br />

For example, suppose that your neighbor occasionally needs a light shining on a particular<br />

place in his backyard that is hard <strong>to</strong> illuminate from anywhere in his own yard. Further suppose<br />

that because there is a particularly good vantage point in your yard you agree <strong>to</strong> mount<br />

a light for him and turn it on whenever he wants.<br />

GLOSSARY<br />

171


Strong coupling:<br />

You install the light and let your neighbor run a line from his house <strong>to</strong> your breaker panel so<br />

that he can control the light directly from his own house.<br />

Loose coupling:<br />

You install the light, but tell the neighbor <strong>to</strong> phone you and you will turn it on for him—perhaps<br />

giving him a performance guarantee of 30 seconds.<br />

Encapsulation:<br />

The example of loose coupling—asking your neighbor <strong>to</strong> call you when he wants the light<br />

turned on—is also an example of encapsulation. In computer science, one definition of encapsulation<br />

is a mechanism in an object-oriented programming language that restricts access <strong>to</strong><br />

some of an object’s components.<br />

This means that when you encapsulate something you reveal only the attributes you want for<br />

a particular effect, not the entire object. This allows you the freedom <strong>to</strong> modify the unrevealed<br />

attributes without creating a catastrophic change that might affect the original information<br />

exchange. Encapsulation is hiding complexity in situations where users really do not need <strong>to</strong><br />

know more.<br />

In the example of a yard light for your neighbor, all that your neighbor needs <strong>to</strong> know is that<br />

when he calls you and says “please” the light comes on within 30 seconds. He does not need<br />

<strong>to</strong> know how it happens. This gives you a great deal of flexibility. For instance, at the beginning<br />

you might guess that he will not call you very often so you just install a bright flashlight,<br />

change the batteries as required, and go out and turn it on manually whenever he calls.<br />

Later, if he asks for the light often enough it will be much more convenient for you <strong>to</strong> install<br />

a permanent spotlight with a line <strong>to</strong> a switch at your back porch. Later yet, you may get a<br />

job where you have <strong>to</strong> travel a lot (perhaps you write a book for Fiatech and get invited on<br />

a lucrative speaking <strong>to</strong>ur!). You install a special computer-controlled switch and give it an IP<br />

address you can control from your smart phone. Then when you are away you just call up the<br />

switch from wherever you are in the world and turn it on.<br />

Note that none of your internal changes has any impact on the performance of the light.<br />

When you decide <strong>to</strong> install a permanent light, you leave the flashlight in place until the new<br />

one is in place. Unless your neighbor happens <strong>to</strong> look out his window at the right time, he<br />

will not even know that you are running a power line and changing the light. Later, when you<br />

install the computer-controlled switch you can do it during the daytime so as not <strong>to</strong> risk being<br />

in the middle of the changeover when he calls.<br />

Abstraction<br />

Abstraction is a process of generalizing about something <strong>to</strong> reduce the information content<br />

about an object <strong>to</strong> only those attributes you are interested in. If you wanted <strong>to</strong> get a visceral<br />

reaction from the class of North American males who, like your humble author, were pubescent<br />

boys in the early 1960s, show them a glossy pho<strong>to</strong>graph of a 1963 Corvette Stingray with<br />

the <strong>to</strong>p down. (To clinch the effect, add a blonde surfer babe in the passenger seat with her<br />

hair streaming back in the wind!).<br />

GLOSSARY<br />

172


In this example, you reduce the Corvette Stingray <strong>to</strong> ink on paper. The printer sees the ink, but<br />

the now-geriatric boys see the actual car they remember from their youth—which at the time<br />

was the epi<strong>to</strong>me of style and performance. Of course you could get an actual car (and an actual<br />

surfer babe)—but that would cost a lot of money and would run the risk that the geezers<br />

would run off with the car and get themselves killed. The pho<strong>to</strong>graph will get the gut reaction<br />

you are after, and the worst they can do is steal the picture!<br />

Semantic Web Technology<br />

The large majority of <strong>ISO</strong> <strong>15926</strong> users will not need <strong>to</strong> know anything more about the Semantic<br />

Web. But if you are curious on how things like <strong>ISO</strong> <strong>15926</strong> work you may find it interesting<br />

<strong>to</strong> learn a little bit more. The Semantic Web provides a common framework that allows data <strong>to</strong><br />

be shared and reused across application, enterprise, and community boundaries. It is a collaborative<br />

effort led by W3C, with participation from a large number of researchers and industrial<br />

partners. It is based on the Resource Description Framework (RDF).<br />

Resource Description Framework<br />

If you dig deeper under the hood of <strong>ISO</strong> <strong>15926</strong>, you will soon run in<strong>to</strong> this term because it is<br />

the used by OWL (the basis of Part 8). Wikipedia says that the RDF is a set of specifications<br />

originally designed as a metadata data model. But if you are like the author, this does not help<br />

at all—so we will deconstruct the definition.<br />

Metadata:<br />

Metadata is data about data. For instance, one piece of metadata about the <strong>Introduction</strong> <strong>to</strong><br />

<strong>ISO</strong> <strong>15926</strong> is that it was originally written with a wiki on the POSC/Caesar web site. <strong>An</strong>other<br />

piece of metadata is that the original name was <strong>ISO</strong> <strong>15926</strong> Primer.<br />

Data model:<br />

A data model is an abstract model that describes how data is represented and accessed. Putting<br />

it all <strong>to</strong>gether, then, RDF is: Instructions on how <strong>to</strong> represent just the bits of data you are<br />

interested in that describe certain other bits of data and on how <strong>to</strong> then access the data easily.<br />

Whew! I bet you thought that was going <strong>to</strong> be difficult! In particular, RDF makes statements<br />

about things (which it calls resources) in the form of subject-predicate-object expressions<br />

known as triples.<br />

Subject-predicate-object triple:<br />

“The <strong>ISO</strong> <strong>15926</strong> Primer was written on the POSC/Caesar wiki” might be s<strong>to</strong>red in the RDF as<br />

the following triple.<br />

• Subject: <strong>ISO</strong> <strong>15926</strong> Primer<br />

• Predicate: was written on<br />

• Object: POSC/Caesar wiki<br />

Each term in the subject-predicate-object triple may be explicitly named, as in the previous<br />

example, or handled in the form of a uniform resource identifier (URI).<br />

GLOSSARY<br />

173


Uniform Resource Identifier<br />

You can think of a URI as a web address for a piece of information. This allows the same<br />

resource <strong>to</strong> be reliably referenced many times. Thus, instead of writing the subject-predicateobject<br />

triple in words (as previously) it could be rendered as follows.<br />

• Subject: https://www.posccaesar.org/wiki/<strong>ISO</strong><strong>15926</strong>Primer<br />

• Predicate: was written on<br />

• Object: POSC/Caesar wiki<br />

In fact, we could carry this further by defining somewhere on the Internet the exact meaning<br />

of the phrase was written on and put its URI in the predicate.<br />

URL, URN, and URI:<br />

• URL (uniform resource loca<strong>to</strong>r): Like a person’s street address (i.e., “where”).<br />

• URN (uniform resource name): Like a person’s name (i.e., “what”).<br />

• URI (uniform resource identifier): URLs and URNs are URIs, but a URI can be a name and a<br />

loca<strong>to</strong>r at the same time.<br />

GLOSSARY<br />

174


3925 West Braker Lane (R4500)<br />

Austin, TX 78759-5316<br />

t: (512) 232-9600<br />

www.fiatech.org<br />

Copyright ©<strong>2011</strong> Fiatech<br />

Construction Industry Institute®<br />

The Cockrell School of Engineering<br />

The University of Texas at Austin

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!