[[TracNav(TracNav/ISO15926Primer)]] = The Need for Context in Information Exchange = Status of this document: Working Draft This page is open for feedback in the forum at the bottom of this page. You [wiki:WikiStart#Contactpoints need a login] to post in the forum. {{{ #!comment This document is open for feedback, please post questions and comments in the forum at the bottom of this page. You will [WikiStart#Contactpoints need a login] to post in the forum. }}} ---- [[PageOutline(2-4,Contents,inline)]] == Abstract == This section introduces the concept of Context. When we exchange plant information with traditional methods we rely on context to retain meaning. Information in ISO 15926 format is rich enough that we no longer need context to retain meaning. ---- == How it Used to Be == When your humble author started his career in plant design, computers were not commonly used by designers and engineers. Drafting was by pencil on paper. Specifications were written with a typewriter. When information was transferred from one document to another the only choice was for a human to read the original document, find the value to be transferred, then write it by hand on the target document. If the target document was something like a specification it was usually given to a secretary for typing. Transferring information from one storage location to another was cumbersome, but conceptually simple--you would take all the specifications and drawings, sort them into some logical order, perhaps bind them into books, and move them to the new location. Data turnover to the client at the end of a plant design project was similar to the last scene of the movie ''Raiders of the Lost Arc''. A forklift carried a wooden box down an aisle of identical wooden boxes and put it on a pile. It sometimes took years for the owner to review all the boxes and categorize the binders of information. No one really liked this (as in: "I really liked that piece of chocolate cake, may I have another!"), but that was just the way it was. It started to change when computers made their way into the design office. Binders of data sheets gave way to spreadsheets burned onto CDs and people started to think there might be a better way. == Current Situation == There have been some improvements, but in our work processes for plant design or plant operations, a large proportion of an engineer's activities still involve manually transferring information from one document to another. For instance, after the engineer chooses, say, an instrument, the only practical way to record the information about the instrument is to read the manufacturer's data, interpret it to decide which of the data values to transcribe, then figure out where to put the data values in the plant design system. Some of the operations are simple transcription, such as transferring a model number from one spot to another. But some involve calculation, such as changing from one unit of measurement to another. Others involve interpretation ranging from ignoring the data value altogether to decisions involving judgment, such as orientation or handedness. The work is done on a computer, but often the only real difference is that you do the typing yourself instead of giving it to your secretary. == Why we Need Context == Suppose you have to transfer information from one data sheet to another and you see this: || 1034 || This means nothing. So you "back up" and look for more context. || Pressure: 1034 || OK, so you know a bit more, but still nothing usable. || Pressure: 1034 kPa || Now you expect other values to be in SI units, but you still really don't know what is going on, so you "back up" some more. || Seal Flush || || Pressure: 1034 kPa || You still have questions so you continue to "back up". || Tag No: P-101 || || Service: Chemical Injection to D-101 || || Seal Flush || || Pressure: 1034 kPa || Now you are getting a clearer picture. When you "back up" and read the entire data sheet you can finally put the initial value, 1034, into context. || Centrifugal Pump Data Sheet || || Client: ABC Chemical Company || || Tag No: P-101 || || Service: Chemical Injection to D-101 || || ... || || Seal Flush || || Pressure: 1034 kPa || || ... || Without context, we are lost. == Another Example == Figure 1 shows sections of two centrifugal pump data sheets. One data sheet might be from a manufacturer's Internet site; the other belonging to the client. It is the engineer's job to interpret the manufacturer's data sheet and fill in the correct values in the project data sheet. [[Image(Introduction01.JPG, 600px)]] '''Figure 1: Compare Two Data sheets''' One obvious difference is that one data sheet expects Metric units, the other Imperial. But beyond that, the data sheets are organized differently--the data are grouped differently, and the groups are arranged differently. These two excerpts only have eight data spots in common. But looking closer, of the eight spots, only three are obviously identical: * Discharge Pressure * Rated Suction Pressure * Differential Pressure The rest require some interpretation: ||'''Metric Data sheet''||'''Imperial Data sheet''||'''Comments'''|| ||Normal Flow||Capacity: Normal||Probably the same|| ||Rated Flow||Capacity: Rated||Probably the same|| ||Max. kPag||Suction: Max.||No data entry spot|| ||Differential Head||Diff. Head: Rated||Possibly the same|| ||NPSH Available||NPSH Avail.: Rated||Possibly the same|| What the engineer really wants is something like the Microsoft Windows "cut and paste" functions to just be able to "copy all of the manufacturer's information on that pump" and "paste it to my company’s plant database for that pump." But, as we have seen above, the copy and paste function would have to do more than copy a bunch of data values from one data sheet and paste them into the same (x,y) coordinates on the other data sheet; it would have to figure out where to put each one, and perhaps do a mathematical transformation. Writing the "interpreter" function is not conceptually difficult. Assuming that the program would be able to read the data labels, you could make a list of equivalent data fields and have the interpreter simply copy the values, converting between Metric and Imperial at the same time. Decisions involving judgment and interpretation would take longer, perhaps involving a telephone call to the manufacturer to confirm the intent of obscure terms, but in the end would end up as a lookup table of equivalent terms. This process is called "Mapping the data sheets", or "Mapping the databases", and it is essentially what plant engineers spend much of their time doing manually one data sheet at a time. So although doing this is not ''conceptually'' difficult, making our "Cut & Paste" tool would involve solving some practical difficulties because of the scale of the entire industry. == The Challenge == When we exchange information without context we make it difficult for others to understand what we mean. [TO DO: Robin Benjamin's cartoon about putting information in a bag] '''Fig. X - Putting Information in a Bag''' Figure X starts with someone having a bright idea. To achieve some business result he has to pass the information to someone else. If he just sends the information without context, he is just throwing it all in a bag and hoping the person on the other end can figure it out. The reason information exchange worked in the past was that we exchanged entire sets of data (for instance, a complete data sheet) where the context was preserved. But the disadvantage is precisely that, we have to exchange whole sets of data and have humans interpret them item-by-item. What we want is to be able to let machines exchange information directly without relying on context to retain meaning. == Why Can't we Just Cut and Paste? == What we really need is a "cut and paste" tool for plant information. We want to be able to just "cut it from that data base over there" and "paste it to this data base over here. But it's not that simple. The obvious reason we can't just use a simple Cut and Paste tool is because the data values we want to transfer seldom map to the same (x,y) coordinates on any two data sheets. But beyond that, re rely so much on context to convey meaning that we cannot trust machines to make the right decisions. Using ISO 15926 to exchange information removes the need for context. [TO DO: Robin's cartoon exchanging information with ISO 15926 bag] ''' Fig. Y - Putting Information in an ISO 15926 Bag ''' When we encode information in ISO 15926 format, we include enough context that other ISO 15926-enabled tools will clearly understand what we mean. == Next == [wiki:ISO15926Primer_Mapping_Expensive Mapping Databases is Expensive] When we want to exchange information between two software applications, the traditional way is to map the respective databases together. We preserve context by examinging the terms in each data base to determine which are equivalent. This is expensive and only done in a few high-value situations. --- [[ViewTopic(ISO15926Primer_Introduction)]]