UNIVERSITY OF OSLO Department of Informatics
SemTask — Semantic Task Support in Integrated Operations Master thesis Aleksander Blomskøld [aleksabl@ifi.uio.no] Fredrik Klingenberg [fredrkl@ifi.uio.no]
August 1, 2008
Abstract StatoilHydro and other oil companies are introducing Integrated Operations (IO) (IO) in the manage managemen mentt of their oil and gas assets. assets. Accord According ing to OLF, OLF, IO has an estimated value potential of 300 billion NOK on the Norwegian Cont Contin inen enta tall Shel Shelf. f. IO incl includ udes es incr increa ease sed d use use of real real-t -tim imee data data,, mo more re collaboration collaboration in multidisc multidisciplin iplinary ary teams, and increased automation. automation. With the increased use of real-time data, operators may experience information overload overload.. This thesis thesis focuses on the “Daily Production Production Optimization”(DPO) Optimization”(DPO) work work process process at Statoi StatoilHy lHydro dro.. A struct structure ured d workfl workflow ow applic applicati ation, on, called called SemT SemTask, ask, is present presented. ed. Its main purpose is to help help operator operatorss overc overcome ome the informa informatio tion n overl overload oad problem problem by sugges suggestin tingg which which data source sourcess to use in differe different nt situati situations ons.. It supports supports operators operators in execut executing ing the DPO work work proce process ss,, ensu ensurin ringg that that the the righ rightt tasks tasks are done done at the the right right time time.. SemTask uses ontologies in OWL to describe workflows, data sources, and workflow workflow execution execution states. states. The workflow workflow ontology ontology is based on the OMGstandard Business Process Modeling Notation (BPMN). The ontologies form an extendable, extendable, flexible model. We propose using rules in Jena, a Semantic Web framework, framework, to implement implement a workflow workflow execution execution engine. A prototype that shows that this leads to an elegant solution solution was created. The SemTask SemTask model, and how it deals with the DPO scenario as well as possible further extens extension ions, s, is discus discussed sed.. SemT SemTask offers an extend extendabl ablee soluti solution on for data data source suggestions and active help to operators during execution of workflows in Integrated Operations.
Acknowledgements This This maste masterr thes thesis is is the the resu result lt of a coll collabo aborat ratio ion n projec projectt betw between een the the Depart Departmen mentt of Inform Informati atics, cs, at the Unive Universi rsity ty of Oslo, Oslo, and Statoil StatoilHyd Hydro. ro. Many Many people people have have helped helped us to prepare prepare this this thesis thesis.. First First we would would like like to thank Trond Lilleng (Integrated Operations coordinator at StatoilHydro) who who was was the the init initia iato torr of this this projec project, t, Torhi orhild ld Rio Rio (Hydr (Hydroo IS Partn Partner er)) who gave us an initial introduction to APOS, and Espen Halvorsen, our main ma in con contact tact perso person n in Stato Statoil ilHy Hydr dro. o. Seco Second ndly ly,, we than thank k Jon He Henr nrik ik Forssell, Magne Valen-Sendstad, and P˚ al Rylandsholm from Det Norske Veritas (DNV), especially for the ISO 15926-workshop, and the PRODMLpresen presentat tation ion held held by Jan Ingv Ingvar Rivela Riveland nd (Tietoe (Tietoenato nator). r). We would would also also like to thank tha nk Fr´ ed´ ed´eric eri c Verhelst Verh elst and B˚ ard Henning Hen ning Tvedt from fro m Epsi E psiss for f or the two-d two-day ay semina seminarr that that gave gave an excell excellen entt introdu introducti ction on to oil reserv reservoir oir and oil production. Kjetil Torvanger (Technical Manager in Cronus Automation West) also deserves our acknowledgement for the introduction to the Process Data Portal. Portal. Thanks Thanks to the people at the IRC-ch IRC-chann annels els ##logic, ##logic, #swig, #swig, and #jena on Freenode for always giving quick and helpful answers to our questi questions ons.. We apprec appreciat iatee and thank Olaf Owe (profe (professo ssor, r, UiO/If UiO/IfI) I) for the time he spent answering our questions about Pi calculus and Maude. Fredrik would like to thank Computas for the summer job in 2007 that gave him a good insight in ontologies and workflow systems for the oil and gas industry. From Computas we would especially like to thank David Norheim for answering questions about OWL and Steinar Carlsen for the introduction to BPMN and access to the BPMN 1.1 specification. We would also like to thank Rolf Schwitter at Macquarie University, Sydney for introducing us to the excitin excitingg field field of Seman Semantic tic Web. Web. Last Last we thank our advisors advisors Arild Waaler (professor, UiO/IfI), especially for helping us with issues regarding the ontologies and establishing the contact with Epsis and DNV, and Roar Fjellheim (Computas and professor II, UiO/IfI) for creating the problem description, establishing the contact with Hydro, proofreading, and giving us general feedback during the work with this thesis.
Contents Abstract
i
Acknowledgements
ii
Contents
iii
Figures
vii
Listings
viii
1 Introd Introduct uction ion 1.1 Problem Problem state statemen mentt — Semantic Semantic task task support support 1.1.1 1.1.1 Origin Original al proble problem m stat stateme ement nt . . . . . . 1.1. 1.1.22 Chan Change gess . . . . . . . . . . . . . . . . . 1.2 1.2 Mo Moti tiv vation ation . . . . . . . . . . . . . . . . . . . 1.3 1.3 SemT SemTas ask k. . . . . . . . . . . . . . . . . . . . . 1.4 Organiz Organizati ation on of thesis thesis . . . . . . . . . . . . . 2 Integrate Integrated d Operations Operations and Statoil StatoilHydro Hydro 2.1 2.1 Oil Oil and and gas gas prod produc ucti tion on . . . . . . . . . . . 2.1.1 2.1.1 Producti Production on optimi optimizat zation ion . . . . . . 2.2 Integ Integrate rated d Operati Operations ons . . . . . . . . . . . 2.2.1 2.2.1 Be Bene nefit fitss . . . . . . . . . . . . . . . 2.2.2 2.2.2 The IO develo developme pment nt . . . . . . . . 2.2.3 Implemen Implementation tation requiremen requirements ts . . . 2.2.4 2.2.4 Slow Slow adop adopte ters rs . . . . . . . . . . . . 2.3 2.3 Stato Statoil ilHy Hydr droo . . . . . . . . . . . . . . . . 2.3.1 2.3.1 Statoi Statoill and Hydro Hydro merger merger . . . . . 2.3.2 2.3.2 Hydro Hydro at at Sand Sandsli sli — Osebe Oseberg rg East East 2.3. 2.3.33 Data Data . . . . . . . . . . . . . . . . . 2.4 Indust Industry ry standa standards rds . . . . . . . . . . . . . 2.4. 2.4.11 ISO ISO 1592 159266 . . . . . . . . . . . . . . 2.4. 2.4.22 WITS WITSML ML . . . . . . . . . . . . . . 2.4. 2.4.33 PROD PRODML ML . . . . . . . . . . . . . . iii
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . .
1 1 1 1 2 2 2
. . . . . . . . . . . . . . .
6 6 8 9 9 10 12 13 13 14 14 14 17 18 19 20
CONTENTS
CONTENTS
3 Workfl orkflo ow 3.1 3.1 Defin Definit itio ion n . . . . . . . . . . . . . 3.2 Differe Different nt workfl workflow ow system systemss . . . . 3.3 Why Why use use work workflo flow w syste systems? ms? . . . 3.4 3.4 Limi Limita tati tion onss . . . . . . . . . . . . 3.5 Busine Business ss Proce Process ss Manag Manageme ement nt . . 3.6 3.6 Solu SoluDy Dyne ne . . . . . . . . . . . . . 3.6.1 3.6.1 Prob Proble lems ms . . . . . . . . . 3.6.2 3.6.2 Altern Alternati ative vess to SoluDy SoluDyne ne 3.7 3.7 BPMN . . . . . . . . . . . . . . . 3.7.1 3.7.1 Flow Flow object objectss . . . . . . . 3.7.2 3.7.2 Connec Connectin tingg objects objects . . . . 3.7.3 3.7.3 Swim Swimla lane ness . . . . . . . . . 3.7.4 3.7.4 Arti Artifac facts ts . . . . . . . . . . 3.7.5 3.7.5 Benefit Benefitss over over SoluDy SoluDyne ne .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
4 Introducin Introducing g SemTask SemTask 4.1 Daily Daily Producti Production on Optimi Optimizati zation on (DPO) (DPO) . 4.1.1 4.1.1 Desc Descri ript ptio ion n . . . . . . . . . . . . 4.1.2 4.1.2 DPO — Opti Optimiz mizatio ation n poten potential tialss 4.2 4.2 Scen Scenar ario io . . . . . . . . . . . . . . . . . . 4.2.1 4.2.1 Parti Particip cipan ants ts . . . . . . . . . . . . 4.3 SemTask SemTask implementa implementation tion overvie overview w . . . 4.3.1 4.3.1 Our focus focus on SemT SemTask . . . . . . 4.4 4.4 SoluD SoluDyn ynee to BPMN BPMN . . . . . . . . . . . 5 Onto Ontolo logy gy 5.1 5.1 An intro introdu duct ctio ion n. . . . . . . . . . . . . 5.1.1 5.1.1 Defin Definit itio ion n . . . . . . . . . . . . 5.1. 5.1.22 Exam Exampl plee . . . . . . . . . . . . . 5.1.3 5.1.3 Clas Classe sess . . . . . . . . . . . . . 5.1.4 5.1.4 Prope Properti rties es . . . . . . . . . . . . 5.1.5 5.1.5 Langua Language ge requir requireme ement ntss . . . . 5.1.6 5.1.6 TBox TBox and and AB ABox ox . . . . . . . . 5.1.7 Expressiv Expressiveness eness vs. decidabilit decidability y 5.1.8 5.1.8 Reason Reasoning ing/inf /infere erence nce tasks tasks . . . 5.2 Short Short Introd Introduct uction ion to Seman Semantic tic Web Web . 5.2. 5.2.11 XML . . . . . . . . . . . . . . . 5.2. 5.2.22 RDF . . . . . . . . . . . . . . . 5.2. 5.2.33 RDFS RDFS . . . . . . . . . . . . . . 5.2. 5.2.44 OWL . . . . . . . . . . . . . . 5.2.5 5.2.5 SPAR SPARQL QL . . . . . . . . . . . . 5.3 Web Ontolo Ontology gy Languag Languagee . . . . . . . . 5.3.1 5.3.1 OWL OWL Full ull . . . . . . . . . . . . iv
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . .
21 21 23 23 24 25 25 27 28 29 29 31 31 31 33
. . . . . . . .
34 34 35 37 37 37 40 41 41
. . . . . . . . . . . . . . . . .
46 46 46 47 48 48 49 50 51 51 52 53 54 54 55 55 57 57
CONTENTS
CONTENTS
5.3. 5.3.22 OWL WL-D -DL L . . . . . . . . . . . . . . . . . 5.3. 5.3.33 OWL Lite Lite . . . . . . . . . . . . . . . . . 5.3.4 5.3.4 OWL OWL repres represen entat tation ion . . . . . . . . . . . 5.4 Representa Representation tion of SemTask SemTask . . . . . . . . . . . 5.4.1 5.4.1 Altern Alternati ative vess . . . . . . . . . . . . . . . . 5.4.2 5.4.2 Using Using OWL OWL for Seman Semantic tic Task Task Suppo Support rt
. . . . . .
6 SemTask SemTask ontolog ontologies ies 6.1 6.1 Topolo opology gy . . . . . . . . . . . . . . . . . . . . . . 6.2 Develo Developme pment nt . . . . . . . . . . . . . . . . . . . . 6.2. 6.2.11 Tools ools . . . . . . . . . . . . . . . . . . . . 6.2.2 6.2.2 Me Meth thodo odolo logy gy . . . . . . . . . . . . . . . . 6.2.3 6.2.3 Upper Upper ontolo ontologie giess . . . . . . . . . . . . . . 6.2. 6.2.44 Reus Reusee . . . . . . . . . . . . . . . . . . . . 6.2.5 6.2.5 Other Other design design decisi decisions ons . . . . . . . . . . . 6.3 Ontol Ontology ogy statis statistic ticss . . . . . . . . . . . . . . . . . 6.4 6.4 BPMN BPMN Onto Ontolog logy y . . . . . . . . . . . . . . . . . . 6.4.1 6.4.1 Overal Overalll strate strategy gy . . . . . . . . . . . . . . 6.4.2 6.4.2 Clas Classe sess . . . . . . . . . . . . . . . . . . . 6.4.3 6.4.3 Prope Properti rties es . . . . . . . . . . . . . . . . . . 6.4.4 6.4.4 Deviat Deviation ionss from from the BPMN BPMN speci specifica ficatio tion n. 6.4.5 6.4.5 BPMN BPMN as langu language age . . . . . . . . . . . . . 6.4.6 6.4.6 Compar Compariso ison n to the sBPMN sBPMN ont ontolo ology gy . . . 6.5 Seman Semantic tic task task suppor supportt ontol ontology ogy . . . . . . . . . . 6.5.1 6.5.1 Clas Classe sess . . . . . . . . . . . . . . . . . . . 6.5.2 6.5.2 Prope Properti rties es . . . . . . . . . . . . . . . . . . 6.6 6.6 Data Data onto ontolo logy gy . . . . . . . . . . . . . . . . . . . . 6.6. 6.6.11 Data Data mo mode dell . . . . . . . . . . . . . . . . . 6.6.2 6.6.2 The Data Data Ont Ontolo ology gy in OWL OWL . . . . . . . 6.6.3 6.6.3 Instan Instances ces of the ontol ontology ogy . . . . . . . . . 6.6.4 6.6.4 Exte Extens nsio ions ns . . . . . . . . . . . . . . . . . 6.7 Execut Execution ion ontol ontology ogy . . . . . . . . . . . . . . . . . 6.7.1 6.7.1 The The ov overal eralll ide ideaa . . . . . . . . . . . . . . 6.7.2 6.7.2 Exampl Examplee execut execution ion . . . . . . . . . . . . . 6.7.3 6.7.3 Clas Classe sess . . . . . . . . . . . . . . . . . . . 6.7.4 6.7.4 Prope Properti rties es . . . . . . . . . . . . . . . . . . 7 Exec Execut utio ion n mode modell 7.1 7.1 Intr Introdu oduct ctio ion n. . . . . . . . . . . 7.1.1 7.1.1 Execut Execution ion alternat alternativ ives es . 7.2 7.2 Rule Ruless . . . . . . . . . . . . . . . 7.2.1 7.2.1 Triple riple patter pattern n matc matchin hingg 7.3 7.3 Rule Ruless in Jena Jena . . . . . . . . . . 7.3.1 7.3.1 Testing esting platfo platform rm . . . . v
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . .
57 57 57 58 58 60
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
63 63 64 64 65 65 65 66 66 67 67 68 72 73 73 74 75 75 76 77 78 79 80 80 80 81 82 84 84
. . . . . .
86 86 88 88 89 90 90
CONTENTS
CONTENTS
7.3.2 Execution Execution engine implement implementation ation . . . . . . . . . . . . 90 7.3.3 7.3.3 Comple Completin ting g the the execu execution tion engine engine . . . . . . . . . . . . 90 7.4 Fulfillm ulfillmen entt of the the scenar scenario io . . . . . . . . . . . . . . . . . . . . 92 8 Conclu Conclusio sion n and furth further er work work 8.1 Contri Contribut bution ionss and and conclu conclusio sion n . . . . . . . 8.2 Further urther work work . . . . . . . . . . . . . . . . 8.2.1 8.2.1 Finish Finishing ing SemT SemTask . . . . . . . . . 8.2.2 8.2.2 Automa Automatio tion n of tasks tasks . . . . . . . . 8.2.3 8.2.3 Extens Extension ion of the the Data Data Ontol Ontology ogy . 8.2.4 8.2.4 Guaran Guarantee teess in a workfl workflow ow diagr diagram am 8.2.5 8.2.5 Constr Constrain ainss chec checkin kingg . . . . . . . . 8.2.6 8.2.6 Extend Extending ing with with other other ontolo ontologie giess .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
95 95 97 97 97 98 98 98 98
Acronyms
100
Bibliography
102
Appendix
112
A The A.1 A.2 A.3 A.4
113 113 1 22 22 125 128
SemTask SemTask OWL Ontologie Ontologiess The BPMN BPMN Ontol Ontology ogy . . . . . The SemT SemTask ask Ontol Ontology ogy . . . . The Data Data Ontol Ontology ogy . . . . . . . The Execu Executio tion n Ontolo Ontology gy . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
B The RDF RDF Documen Documents ts 132 B.1 The Daily Production Production Optimiza Optimization tion . . . . . . . . . . . . . . 132 B.2 Data Source Sourcess . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 C Jena Jena Rul Rules es
155
vi
Figures 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.7
Image of two Image two types types of oil platfor platforms ms . . . . . . . . . . . . . . . Producti Production on and and cost cost with with and with without out IO IO . . . . . . . . . . . Differe Difference ncess between between G1 and and G2 work proces processes ses . . . . . . . . Topology opology before before PDP . . . . . . . . . . . . . . . . . . . . . . Topology opology with with PDP . . . . . . . . . . . . . . . . . . . . . . . SharePoint SharePoint interface interface for the daily morning meetings meetings . . . . . A scre screen ensh shot ot show showin ingg the the Ac Acti tiv veX cont contro roll for subs subsea ea well ell monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.8 Data inte integration gration with human human inter interaction action . . . . . . . . . . . .
7 11 12 16 16 17 18 19
3.1 The BPM Life-C Life-Cycl yclee . . . . . . . . . . . . . . . . . . . . . . . 26 3.2 Example Example of a workflo workflow w diagram diagram in the SoluDyne SoluDyne system system used used by the operators at StatoilHydro, Sandsli . . . . . . . . . . . 26 3.3 The basi basicc eleme element ntss making making up up BPMN BPMN . . . . . . . . . . . . . 30 3.4 Original Original SoluDyne SoluDyne diagram represent represented ed in BPMN . . . . . . . 32 4.1 4.2 4.3 4.4
Overview Overview of the approach approach in making making SemT SemTask ask The architec architecture ture of the SemT SemTask ask applicat application ion . Daily Daily Producti Production on Optimi Optimizati zation on in BPMN BPMN . . The sub-processe sub-processess of of Production Production follow-up follow-up . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. 40 . 42 . 43 . 44
5.1 An exam example ple of an an ontol ontology ogy . . . . . . . . . . . . . . . . . . . 5.2 The use of a cove coverin ring g axiom axiom . . . . . . . . . . . . . . . . . . . 5.3 The Sema Semant ntic ic Web Web Laye Layerr Cake Cake . . . . . . . . . . . . . . . . .
47 49 56
6.1 6.2 6.3 6.4
. . . .
64 69 78 83
7.1 An exam example ple of relev relevan antt data data . . . . . . . . . . . . . . . . . . .
87
The topolog topology y of the ontol ontologi ogies es in SemT SemTask ask . . . . . Three Three kind kindss of BPMN BPMN-ev -even ents ts . . . . . . . . . . . . A UML class class diagra diagram m represe represent nting ing the the data model model An illus illustra tration tion of of four exec executi ution on steps steps . . . . . . .
vii
. . . .
. . . .
. . . .
. . . .
. . . .
Listings 5.1 5.1 6.1 6.2 6.3 6.4 6.5 6.6 7.1 7.2 A.1 A.2 A.3 A.4 B.1 B.2 C.1
Exam Exampl plee of N3 not notati ation on . . . . . . . . . . . . . . . . . . . . . Some Some of the OWL-c OWL-code ode regardi regarding ng the Even Events ts . . . . . . . . . Some Some of the OWL-cod OWL-codee regardin regarding g the Activit Activities ies . . . . . . . . Example Example RDF-N3 RDF-N3 code code of a ServiceCom ServiceCompensatio pensationSubPr nSubProcess ocess An exam example ple of a sequen sequence ce flow flow . . . . . . . . . . . . . . . . . A Form FormDocu Documen mentt in in RDF RDF . . . . . . . . . . . . . . . . . . . . The definition definition of DecisionGat DecisionGatewa eway y . . . . . . . . . . . . . . . The rule rule for creatin creatingg Task Taskss out of Trigg Triggers ers . . . . . . . . . . . Weekly P&I plan plan SP SPARQL ARQL query query . . . . . . . . . . . . . . . . The BPMN BPMN Ontol Ontology ogy in OWL-A OWL-AS S . . . . . . . . . . . . . . . The Semantic Semantic Task Task Support Ontology Ontology in OWL-AS OWL-AS . . . . . . The Data Data Ontol Ontology ogy in OWLOWL-AS AS . . . . . . . . . . . . . . . . The Execution Execution Ontol Ontology ogy in OWL-AS OWL-AS . . . . . . . . . . . . . . Daily Productio Production n Optimizati Optimization on in Notation Notation33 . . . . . . . . . . A sample sample of data source sourcess in Notation Notation33 . . . . . . . . . . . . . Two Two executi execution on rules rules in Jena Jena . . . . . . . . . . . . . . . . . . .
viii
55 70 71 71 72 76 76 91 92 113 122 1 25 25 128 132 1 51 1 55
Chapter 1
Introduction The best way to be boring is to leave nothing out Voltaire
1.1 1.1.1 1.1.1
Proble Problem m state statemen mentt — Seman Semantic tic task task suppor supportt Origin Original al prob problem lem statem statemen entt
The candidates shall examine the tasks and information sources for operators in Hydro’s Operations Operations Center of Oseberg East at Sandsli Sandsli (Bergen). A task ontology shall be established (in OWL), which can be used to describe the tasks / work processes and how these are related to different situations and information information sources. sources. Moreover Moreover,, the candidate shall show show how a reasoning reasoning system based on the ontology can help the operators to select the right source of information in various working conditions (normal conditions and critical situations).
1.1. 1.1.2 2
Chan Change gess
The original problem statement has been slightly changed during the work with with this thesi thesis. s. As we did did not not get get as much much time time with the opera operator torss at Oseberg East as we needed, we never learned enough about their different working working conditions, conditions, especially in critical situations. situations. As a consequenc consequence, e, we only looked at how a workflow system based on ontologies could help the operators in normal working conditions.
1
1. INTRODUCTION
1.2 1.2
1.2. MOTIVATION
Moti Motiv vatio ation n
The oil and gas indust industry ry is highly highly techni technical cal.. Large Large sums sums are invest invested ed in research research and developme development, nt, and cutting cutting edge technology technology is used. Currently Currently there is an important focus on Integrated Operations (IO). IO is a new way of working with increasing focus on multidisciplinary teams and use of realtime data. The goal is to make better decisions, which result in lower costs and increased incomes. One problem with increased use of real-time data is the possibility possibility of information overload overload.. It has been b een said that operators use about 40% of their working time searching for the information they need. The problem will not be smaller in the future when even more real-time data is available for the operators. When experienced operators are leaving, new ones need to be trained. One way of reducing the problem of losing intellectual capital, is by having good They help help inexper inexperien ienced ced employ employees ees to do the work work the workflow systems. They experienced employees might just know by heart.
1.3 1.3
SemT SemTas ask k
SemTask is an abbreviation for Semantic Task support. This thesis presents the SemTask application. It is a workflow system based on ontologies, meant to help the operators in Hydro’s Operations Center of Oseberg East getting suggestions on data sources to look at while working on a particular task. It can also serve as a general workflow system helping the employees doing the right tasks at the right time. We have ideas on how SemTask may work, and have proposed an internal model based on ontologies.
1.4 1.4
Orga Or gani niza zati tion on of thes thesis is
Chapter 2 — Integrated Operations and StatoilHydro To understand the problem statement one needs to understand sufficiently enough enough of the oil and gas domain domain.. This This chapt chapter er gives gives an introduct introduction ion to oil and gas production. The oil industry is currently undergoing some huge technologi technological cal and organizational organizational changes, changes, which which go by the name “Integrated “Integrated Operations” Operations”,, and these are discussed. discussed. The chapter chapter also gives information information about StatoilHydro and the key IT applications the company uses to support workflow and information storage and retrieval. At last, the chapter presents some of the most important industry standards in the field of oil and gas production.
2
1. INTRODUCTION
1.4. ORGANIZATION OF THESIS
This chapter is a summarization of the information collected from meetings and seminars at StatoilHydro and Det Norske Veritas DNV in addition to available IO material. Chapter 3 — Workflow A major focus of Integrated Operations is to improve the work processes. To be able to carry out these changes in an organization, workflow systems are of great great help. help. This This chapt chapter er is a summar summariza izatio tion n of workfl workflow ow literatu literature re with: with: what what workfl workflow ow systems systems are, why they they are important important,, and examples examples of workfl workflow ow languages languages and system systemss that that exist exist today today. SoluDyn SoluDyne, e, Hydro’s Hydro’s workflow workflow system, system, and the Business Business Process Modeling Notation Notation (BPMN) (BPMN) are presented. This chapter outlines the weaknesse weaknessess of SoluDyne SoluDyne and explains why BPMN is a better alternativ alternativee as a workflow workflow notation. An example of how SoluDyne diagrams can be mapped into BPMN is also presented. Chapter 4 — Introducing SemTask This chapter presents the most important work process for this thesis: Daily Production Optimization (DPO). It is a work process that the operators at Hydro’s operation center of Oseberg East go through every day. We outline the weaknesses and optimization potentials of the current way DPO is done. A scenario exemplifies how these weaknesses can be addressed by using the SemTask application. application. Then a comprehensiv comprehensivee mapping from DPO in SoluDyne into BPMN shows how much knowledge can be transferred from documentation into workflow diagrams. This mapping is the first step in mak making ing the SemT SemTask scenario scenario possible. possible. The chapter chapter also provid provides es an overview on how the rest of SemTask is to be implemented. Chapter 5 — Ontology Onto Ontolo logi gies es will will be disc discus usse sed d in this this chapt hapter er,, as they they are are a key part part of the the SemT SemTas ask k archi archite tect ctur ure. e. An intro introdu duct ctio ion n to the the Web Onto Ontolog logy y Language (OWL) along with some of the other Semantic Web technologies is presented. The chapter outlines different ways of representing the workflow model in SemTask, and explains why ontologies are the best choice.
3
1. INTRODUCTION
1.4. ORGANIZATION OF THESIS
Chapter 6 — SemTask SemTask ontologies ontologies In this chapter the four ontologies we created, which are part of the SemTask architectu architecture, re, are presented: presented: BPMN, SemTask, SemTask, Data, and Execution. Execution. The chapt chapter er starts starts with with some some general general inform informatio ation n on methodol methodology ogy and high high level level design decisions decisions regarding the ontologies ontologies.. Then some design design decisions decisions around the BPMN ontology are explained. As BPMN currently does not have a standardized serialization format, we propose propose using our ontolo ontology gy for this. this. The ontolog ontology y is also com compare pared d to the sBPMN ontology by the SUPER project, which also brings semantics into BPMN. Finally we have created a highly modular and extendable architecture used for workfl workflow ow execut execution ion using using ontol ontologi ogies. es. This This archit architect ecture ure is thoroug thoroughly hly explained. Chapter 7 — Execution model Until now a model which can represent workflows, with state along with data sources, has been discussed. discussed. This chapter chapter explains how an execution model based upon rules could work. work. We start with a general general introduction introduction to rules rules and and rule rule langua language ges. s. In SemT SemTas ask, k, the the rule ruless are separa separate ted d from from the model. This makes makes it easy to extend extend the functionality functionality by adding rules without without altering the model. We have created examples examples of rules that partly implement implement the workflow workflow execution engine. Thoughts Thoughts about how the rest of the different workflow diagram elements could be implemented, to complete the workflow execution engine, are presented. Chapter 8 — Conclusion and further work The last chapter contains conclusions and offers some thoughts about further work and possible possible extensions extensions of SemTask. SemTask. Acronyms A list list of acron acronym ymss used used in this this thes thesis is is incl includ uded ed on page page 100. For a list of oil-specific terms we refer to The Norwegian Petroleum Directorate http://www.npd.no/English/Om+OD/Nyttig/ Om+OD/Nyttig/ “Terms and definitions”-page at http://www.npd.no/English/ Olje-ABC/Ordliste/olje_ordliste.htm.
4
1. INTRODUCTION
1.4. ORGANIZATION OF THESIS
Appendix A — The SemTask OWL Ontologies The appendix appendix gives gives the full full source source of our four ontologi ontologies. es. The source source is presented in the OWL Abstract Syntax format. Appendix B — The RDF Documents In this appendix two two RDF documents documents are presented presented in full source. source. First, the DPO workflow workflow RDF document document is presented presented (based upon the BPMN and the Semantic Semantic Task Task Support ontologies). ontologies). Then an RDF document document of some data sources is presented (based upon the Data ontology). The RDF documents are written in the N3 format. Appendix C — Jena Rules The The last last appen appendi dix x pres presen ents ts two two rule ruless whic which h show show some some basi basics cs of how how a workflo orkflow w ma may y be exec execut uted ed with with the the help help of the the Jena Jena Sema Semant ntic ic Web Framework.
5
Chapter 2
Integrated Operations and StatoilHydro This chapter gives a brief introduction to oil and gas production on the Norwegian Continental Shelf (NCS). Some of the general challenges of the oil and gas industry industry are outlined, outlined, and an introduction introduction to Integrated Integrated Operations is presented. presented. In addition, addition, it is focused on ex-Hydro ex-Hydro at Sandsli Sandsli and how the Hydro operators are coping with their daily tasks. StatoilHydro’s workflow system systems, s, IT applic applicati ations ons,, and data data source sourcess with with regard regardss to producti production on optimization optimization are also presented presented..
2.1
Introducti In troduction on to offshore offshore oil and gas production production
The Norwegian oil adventure started in the middle of the 1960s, when the Ekofis Ekofisk k field field was was disco discove vered red and develo developed. ped. Since Since then more more than 60 oil and gas fields fields have have been succes successfu sfully lly develope developed d and recove recovered red.. Oil and gas producti production on on the NCS is a highly highly techni technical cal task task invo involvi lving ng several several engineering disciplines. The life cycle of an offshore oil and gas project starts with searching for hydrocarbons1 . Data is amo among ng others others gathere gathered d with with airplan airplanes es (measu (measurin ringg magneti magneticc fields) fields) and with with seismi seismicc surve survey y boats. boats. The data is transforme transformed d into into visual visual models models and analyze analyzed d by geologis geologists. ts. If there is a high high enough enough probability that sufficient amounts of hydrocarbons exist, test drillings start. This is done with drilling rigs which drill exploration wells. These wells are either wildcat wells (used to check whether hydrocarbons exist) or appraisal wells wells (used (used to determin determinee the size of a petrole petroleum um deposit). deposit). Rock Rock and sand 1
Hydrocarbons Hydrocarbons is a term used for oil, gas, condensate, and Natural Gas Liquids Liquids (NGL).
6
2. INTEGR INTEGRA ATED OPERA OPERATIONS TIONS AND STA STATOILH TOILHYDR YDRO O
2.1. 2.1. OIL AND GAS PRODU PRODUCTI CTION ON
Figure 2.1: A picture of a normal oil platform with a topside production plan plant, t, and and a grap graphic hical al repres epresen entat tation ion of an unde underw rwate ater r installation that bring fluids to an onshore production plant. samples are brought onshore to be interpreted by different geologists and other oil experts. If the experts find the discovery discovery commercially commercially viable the recovery (or production) phase can start. Several types of production platforms exist: those that are completely subsurface with the processing plant onshore (for instance Ormen Lange), the more usual ones with an oil rig with a topside processing plant, and floating boat-like processing plants. Figure 2.1 shows how these two types of platform look like. After the exploration phase has finished, the exploration wells are plugged and new production wells are drilled. There are three types of wells: recovery wells, where oil and gas are flowing to the processing plant, injection wells, which are used for regulating the pressure of the reservoir, and observation which are used for observ observati ation on and testin testingg purpose purposes. s. Some Some of the wells, which wells may be a combination of these three types. The wells are drilled with the help of real-time drilling data (including seismic data) and with the presence of multidisciplinary teams including geologists, physicists, oil and drilli drilling ng experts experts.. In order order to produce produce max maxim imum um amount amountss of hydroca hydrocarbons rbons from a field, it is crucial that the wells are drilled in order to cover as much of the the field field as possi possibl ble. e. For an offshor offshoree field field,, tens tens of wells ells are typic typical ally ly drilled. The producti production on phase phase starts starts when when the product production ion platfor platforms ms are placed placed offshore offshore,, and the first first product production ion wells wells are drilled. drilled. This This phase phase typical typically ly lasts for a couple couple of decades. decades. It involves involves monitoring, monitoring, maintenance, maintenance, regular production production optimization optimization,, and various types of manual manual day-to-da day-to-day y work. work.
7
2. INTEGR INTEGRA ATED OPERA OPERATIONS TIONS AND STA STATOILH TOILHYDR YDRO O
2.1.1 2.1.1
2.1. 2.1. OIL AND GAS PRODU PRODUCTI CTION ON
Product Production ion optimi optimizat zation ion
One part of the production phase is to perform production optimization. Production optimization is to monitor several measurements from sensors and adjust some parameters parameters that lead to enhanced production. production. Examples Examples of measurements include temperatures, wellhead pressure rates, flow rates, and well/pipe/t well/pipe/tank/pr ank/process ocess capacities. capacities. Short-term Short-term parameters that may be adjusted are mainly choke values (regulations of valves) and adjustment of pressure pressure with the injection wells. wells. Examples Examples of long-term long-term actions that can be done done to increas increasee producti production on are: are: drilli drilling ng new wells wells,, pump pump acids acids in the reservoir to increase the flow, and increasing topside processing capacities by replacing or improving equipment. There are several several things that make production optimization optimization difficult. difficult. One problem problem is the large amount amount of data avail availabl able. e. As more inform informatio ation n ma may y actually lead to worse decisions [Schroder [ Schroder et al. 1967], 1967], information overload is a big problem. There may be tens of thousands of sensors connected to a field/platform field/platform sending sending data several several times a minute. minute. Finding Finding the important informa informatio tion n is difficul difficult. t. To cope with this this problem problem,, the industry industry is trying trying to come come up with with new new ways ways to visu visuali alize ze the the data data to ma make ke search searchin ingg for for information information easier. Computer Computer programs watching watching for measurements measurements that are outsid outsidee predet predeterm ermine ined d thresh threshold old values alues and abnorm abnormal al trends trends (like (like a well pressure that is falling unnaturally fast) may also help to minimize the information overload problem. Another problem is uncertainty . Each Each mea measur sureme ement nt is associa associated ted with an amoun am ountt of unce uncert rtai aint nty y. Ther Theree are not not enoug enough h sens sensors ors to cov cover all all the the nece necess ssary ary informa informati tion on.. For inst instan ance ce,, it is very very diffic difficul ultt to get get enou enough gh information information to decide the ratio of water/gas/oil water/gas/oil in a production well. This ratio is important to know when dealing with production optimization, as one always always wants to minimize minimize the amount amount of water to pump up and increase the amount of oil. What typically typically is known is the well’s well’s volume flow in total and the ratio after the well has mixed its fluids with other wells in the field. With a manual process it is possible to find the ratio in a single well, but one cannot check check this continuously continuously.. Hence, Hence, the data used for making making decisions decisions might might be out-of-date. out-of-date. A third problem that makes production optimization difficult is that a local optimization may affect the global properties of the reservoir. For instance, if one wants to decrease the choke in one production well and increase the choke on a second because there is a larger ratio of oil in the first one, a third third well may be affe affecte cted d because because of the change changed d pressu pressure. re. Comple Complex x reservoir simulations need therefore to be run at regular intervals, to help the operators making the right decisions.
8
2. INTEGR INTEGRA ATED OPERA OPERATIONS TIONS AND STA STATOILH TOILHYDR YDRO O
2.2. 2.2. INTEGR INTEGRA ATED OPE OPERA RATIO TIONS NS
Yet another issue about production optimization is that there is often a trade off between higher productivity and lower safety levels. Increasing the well pressure may yield a higher production rate, but it will probably also increase the risk for equipment damage, etc.
2.2 2.2
Inte In tegr grat ated ed Opera Operati tions ons
The oil and gas industry sees a large economic potential in increased use of IT. IT. Inte Integr grate ated d Operat Operatio ions ns (IO) (IO) is an init initia iati tiv ve me mean antt to chang hangee the the way peop people le work work,, enab enable led d by IT tools. tools. IO is a broa broad d term term used used for for increased collaboration across multiple locations and disciplines, increased automation, more streamlined work processes, and increased use of real-time data. Implementing IO involves organizational changes and new information and comm communicat unication ion technologies. technologies. It promises promises to increase increase efficiency, efficiency, reduce costs, costs, and enhance hydrocarbon hydrocarbon recovery recovery.. Moderate calculation calculationss by The Norwegian Norwegian Oil Industry Industry Association (OLF) state that the value potential of implementing IO on the Norwegian continental shelf is at least 300 billion NOK [OLF 2007]. 2007]. Throughout the industry, different definitions and opinions about IO exist. Exampl Examples es of simila similarr terms terms are: are: “Smart “Smart Operatio Operations” ns”,, “eOperat “eOperation ions” s”,, and “Smart “Smart Field” Field” to name a few. few. As StatoilHy StatoilHydro, dro, OLF, and The Norwegi Norwegian an Oil and Energy Ministry are using “Integrated Operations”; this term will be used here. Some in the industry focus mostly on increased collaboration betwe between en vendo vendors rs and producer producers, s, some some on increa increased sed automat automation ion of work work processes, processes, while others others focus on better use of real-time real-time data. IO is defined by the Norwegi Norwegian an Go Gove vernm rnmen entt to be: “Use “Use of inform informatio ation n technol technology ogy to change the work processes to achieve better decisions, steer by remote control equipment and processes and to move functions and personnel to land”[ OLF 2006]. 2006 ]. Information Information technology technology has been used for several decades decades by the oil companies. companies. So even if the IO definition includes includes the key elements: elements: “Use of information technology”, technology”, “change in the work work processes”, processes”, and “the relocation of functions” these are not exclusive to the definition of IO. What IO does to optimize the industry is to use IT as a strategic tool for increasing the effectiveness of work tasks and make the decision processes in oil and gas production production on a large scale easier. IO has also introduced introduced a comprehensi comprehensive ve redistribution of work tasks between units placed on land and at sea.
2.2. 2.2.1 1
Bene Benefit fitss
There are several reasons for introducing IO. The economic motives include: •
Increased exploitation [Ministry of Petroleum and Energy 2007a] 2007a ] 9
2. INTEGR INTEGRA ATED OPERA OPERATIONS TIONS AND STA STATOILH TOILHYDR YDRO O
2.2. 2.2. INTEGR INTEGRA ATED OPE OPERA RATIO TIONS NS
•
Accelerated production 5%-10% [OLF [OLF 2005]
•
Reduced operating costs 20%-30% [OLF [ OLF 2005]
•
Higher safety levels
•
Extended field life (See figure 2.2 on the following page)
•
Enhanced oil and gas recovery (EOR) 3%-4% [OLF [ OLF 2005] 2005]
2.2.2 2.2.2
The IO develo developme pment nt
IO enab enable less incr increa ease sed d inte intera ract ctio ion n and and coll collabo aborat ratio ion n betwe between en offsho offshore re platfor platforms ms and onshore onshore support support centers centers.. Concen Concentra tratin tingg inform informati ation on and decision making onshore make it possible to let experts work on different offshore fields during during the day. day. Real-time Real-time data from sensors sensors are transferred transferred via high capacity fiber links from offshore facilities to operational centers on land. Here multidiscip multidisciplinary linary teams collaborate collaborate to optimize optimize operations and rapidly rapidly solve solve problems, problems, often using video conference equipment. equipment. The tradit tradition ional al practi practices ces have have been: been: self-s self-sust ustaina ainable ble fields, fields, special specialize ized d onshore units, and periodic onshore support. There is limited work process inter interact action ion across across discip disciplin lines, es, betwe between en onshor onshoree and offshor offshore, e, and across across companies. companies. Fragmented ragmented problem solving and solutions solutions created in isolation isolation are some of the unfortunate consequences of today’s work processes. “Integrated Work Processes will most likely be implemented in two stages, i.e. first by Generation 1 (G1), then by Generation 2 (G2) processes” [ OLF 2005]. 2005 ]. G1 of IO is impro improvi ving ng and, to some some extent extent,, solv solvin ingg the the prob proble lem m of fragmen fragmented ted problem problem solvin solving. g. This This is done done by using integrate integrated d onshore onshore and offshore processes and centers, and also providing continuous onshore support. The disciplines work together in making plans and executing them. Some of the platforms are running pilots, while others are already into the implem implemen entat tation ion phase. phase. Well planning planning was, was, in the tradition traditional al way way before before G1, done in a more more or less less sequen sequentia tiall way way. Implem Implemen entati tation on of G1 leads to a more integrated process where several people with different expertise work together. together. Howeve However, r, it is a potential potential improvemen improvementt related related to real-time real-time integration of acquired data and updating of geological and reservoir models. In production optimization several improvements are brought into life as a result result of implem implemen entin tingg G1 work work process processes. es. One example example is that that onshore onshore functions are more available for the offshore operators. G1 work work process processes es are implem implemen ented ted in differe different nt ways ways dependi depending ng on the company company in question. question. Howeve However, r, several several common features features are present: present: •
Onshore centers staffed by professionals
10
2. INTEGR INTEGRA ATED OPERA OPERATIONS TIONS AND STA STATOILH TOILHYDR YDRO O
2.2. 2.2. INTEGR INTEGRA ATED OPE OPERA RATIO TIONS NS
Figure 2.2: This This is an exam exampl plee of how how cost ost and and pro product ductio ion n at an oil oil platf platfor orm m may may deve develo lop p with with and and with without out IO. When When the cost ost is reduce duced with with 15% and the pro production duction is incr increased ased with a small percentage, the lifetime of the platform may be increased substantially. substantially. The numbers numbers used for making making these graphs graphs are based ased upon upon [ OLF OLF 2006] . The The Brag Bragee platf platfor orm m is a concr oncrete ete example of a field that has increased its lifetime, probably for at least 10 years. [ Holst Holst and Nystad 2007 ]
11
2. INTEGR INTEGRA ATED OPERA OPERATIONS TIONS AND STA STATOILH TOILHYDR YDRO O
2.2. 2.2. INTEGR INTEGRA ATED OPE OPERA RATIO TIONS NS
Figure 2.3: Differences between G1 and G2 work processes •
•
•
24/7 onshore support for areas like drilling “What-if” “What-if” analysis analysis performed onshore onshore Direct involvement of production and maintenance vendors
In well completion, the phase where a well is prepared for production of oil and gas, virtual virtual realit reality y models models of com comple pletio tion n are being used. used. In addition, addition, real-time monitoring of the wells with advanced equipment is utilized. Trends and benefits of G1 will be enhanced further in G2 IO. Operators offsho offshore re in No Norw rway ay have have alrea already dy start started ed prot protot otyp ypin ingg and and pilo piloti ting ng G2 processes. Digital services will be introduced, and vendors will be included in a different manner. “The vendors will participate actively in the operation of fields through delivery of digital drilling, well, production, and maintenance services” [OLF 2005]. 2005]. The field field operators operators will will be operational operational 24/7. 24/7. Daily Daily production will be automated and run safely. Complex IT applications will be used used to a large large exten extentt in provid providing ing useful 3D models, models, statis statistic tical al and analytical analytical decisions decisions guidance to name a few areas. More intelligen intelligentt filtering, filtering, automation automation of processes processes and decisions will prevent prevent information information overload overload for the operators. operators. The next and final step of IO would be to automate more and more of the work processes, which depends heavily on IT applications.
2.2.3
Implemen Implementatio tation n requireme requirement ntss
Sev Several eral requ requir irem emen ents ts must ust be me mett to ma mak ke G2 proc proces esse sess a real realit ity y. Development and implementation of G2 processes will naturally be more
12
2. INTE INTEGR GRA ATED TED OPER OPERA ATION TIONS S AND STA STATOIL OILHYDR HYDRO O
2.3. 2.3. STA STATOILH OILHYD YDR RO
dema demand ndin ingg than than G1 proc proces esse sess as they they are are mo more re comp comple lex x. Digi Digita tall infras infrastruc tructure ture is necess necessary ary to support support connec connection tionss betwe between en vendo vendors rs and operat operators ors.. An infor informa mati tion on secu securi rity ty frame framewo work rk for for reli reliab able le and secu secure re connec connection tion with third party party access access will be requir required. ed. Data standar standards ds are necessary to ensure that data is correct and understood correctly across disciplines and companies, and they need to be developed and implemented. Here Semantic Web technology is a promising approach [Teijgeler 2007]. 2007]. “New “N ew tec technol hnologi ogies es and and solu soluti tion onss for broad broad scal scalee inst instrum rumen enta tati tion on of installations, real-time gathering of information and real-time optimization of operations are required” [OLF [ OLF 2005]. 2005]. Organiz Organizati ationa onall change changess will will be a necessary precondition to be able to fully take advantage of G2 processes. Several of these issues have been addressed by OLF projects.
2.2.4 2.2.4
Slo Slow ad adop opte ters rs
Unfortunately Unfortunately,, the oil industry industry is a conserv conservativ ativee business. Although Although there are strong forces working for modernizing the business (such as OLF), there are also people who are more satisfied with the ways things currently work. It has been said that many of the changes with IO we are seeing happening now, happened more than a decade ago in the automotive industry [Øystein Fossen 2007]. 2007]. There may be several reasons for the somewhat slow transition to IO. One is that offshore oil production companies earn a lot of money, even even though they are lagging in their use of technology technology.. Another Another problem with introducing new technology in an oil company is that they are rather short-handed short-handed on human resources. resources. Every Every work-hour work-hour spent on testing testing and evaluating new technology is an hour lost spending on short-term production optimization. David Ottesen, CEO in Ziebel (a multinational company working with smart wells), wells), said this about the situation: “The technology technology is here, yes. It’s the determination we are lacking. The contracts are designed such that suppliers earn more when things things take more time and more people people are used. used. That That is the exact opposite of what we should be striving towards.” [Rasen 2008] 2008]
2.3 2.3
Stat Statoi oilH lHyd ydro ro
Statoil StatoilHyd Hydro ro is one of the largest largest offshore offshore oil compani companies es in the world. world. It operates in about 40 countries, and is worth more than 500 billion NOK. NOK .2 . The company has most of its activities in Norway, and is the largest operator 2
StatoilHydro StatoilHydro was worth worth about 540 billion NOK at 31. December December 2007 [StatoilHydro 2008]. 2008].
13
2. INTE INTEGR GRA ATED TED OPER OPERA ATION TIONS S AND STA STATOIL OILHYDR HYDRO O
2.3. 2.3. STA STATOILH OILHYD YDR RO
on the NCS (about 80% of the total production) [Ministry [ Ministry of Petroleum and Energy 2007b]. 2007b].
2.3.1 2.3.1
Statoi Statoill and and Hydro Hydro merger merger
During During the work with with this this thesis thesis the two two com compan panies ies Hydro and Statoil Statoil merged merged.. The companie companiess are now harmon harmonizi izing ng their their differe different nt processes processes,, policie policies, s, and IT applic applicati ations ons.. In areas areas with with differe difference ncess in IT applic applicatio ations ns between the two companies we will mainly focus on Hydro’s application unless unless otherwise otherwise specifie specified. d. For instan instance ce for documen documentin tingg work work process processes es Statoil used Business Process Management (BPM) along with a software call called ed Docma Docmap, p, and Hy Hydr droo used used APOS APOS (“A “Arbe rbeid idsP sPro rose sess ss Orie Orien ntert tert Styringss Styringssystem ystem”” or “W “Work ork Process Oriented Oriented Administrati Administration on System” System”)) and a 3 software called SoluDyne . As a basis for this thesis we will use ex-Hydro’s system, APOS.
2.3.2 2.3.2
Hydr Hydro o at Sand Sandsl slii — Oseber Oseberg g East East
StatoilHydro has a department at Sandsli, Bergen that was previously owned by Hydro. At this department department several several offshore oil platforms are operated, including the Oseberg East. Operator rooms Each platform platform has its own dedicated dedicated operator room onshore. onshore. In the operator room dedicated dedicated for Oseberg East, video conferencing conferencing equipment equipment is installed. This helps to share experts between between different different platforms, and let more people work on land. The video conference equipment equipment has possibilitie possibilitiess for showing live live video video and shared shared IT applicati applications ons on large large screen screens. s. It is used several several times times a day day to have have meetings meetings with offshore offshore and onshore onshore personn personnel. el. Some Some of the meetings are recurring, such as the daily morning meeting (going through plans for the day) and the daily production optimization meetings. A 3D display is used for getting a visual representation of the reservoir served by the platform. Wells can be seen along with geological data.
2.3. 2.3.3 3
Dat Data
StatoilHydro uses many IT applications for oil and gas development, divided into the following categories: 3
http://www.soludyne.com/
14
2. INTE INTEGR GRA ATED TED OPER OPERA ATION TIONS S AND STA STATOIL OILHYDR HYDRO O
•
Well design
•
Flow assistance
•
Well surveillance
•
Production optimization
•
Reporting
2.3. 2.3. STA STATOILH OILHYD YDR RO
As previously mentioned, the oil industry is continuously increasing their use of data, data, especia especially lly real-tim real-timee data. data. Each Each oil field has thousand thousandss of sensor sensorss regularly regularly sending measuremen measurements ts in fixed interv intervals. als. Currently Currently most of the fields operated by the operating center at StatoilHydro in Sandsli have data coming in at an interv interval al of 4 seconds. This makes makes the load of data very high. The data is currently stored in a database called IP21 from AspenTech 4 . To help the operators visualize and make use of the data a portal layered on top of IP21, named Process Data Portal, is being utilized. Process Data Portal Traditi raditional onally ly,, differe different nt techno technologi logies es are chose chosen n for differe different nt oil and gas platforms. platforms. This leads to different interfaces interfaces and operating environmen environments. ts. Operators may therefore potentially waste time looking for the required piece of data. Also, if an operator is working working with different different platforms, she might might not be familiar familiar with the interfaces, interfaces, which which may be b e cumbersome. cumbersome. Because Because of this, the Process Data Portal (PDP) was created. Its purpose is to streamline access to real-time data from different sensors, historical data, alarms and events events,, and finally reports. reports. In addition, it is an integration integration layer layer for other applications. PDP is originally from former Hydro. With PDP the topology has changed considerably from what can be seen at figure 2.4 on the next page to more structured as can be seen in figure 2.5. We will not go into detail on the new topology. topology. Howeve However, r, a quick quick overview overview explains explains which direction direction IO is going. Two IP21 databases which which are mirrors of one another are present; one located onshore, the other located offshore. PDP PDP has has an abst abstra ract ctio ion n lay layer betw between een the the appl applic icat atio ions ns and and the the IP21 IP21 database. It handles data requests from applications so clients do not have to deal with the native IP21 format. There is also a web server with differen differentt applications. Both onshore and offshore users access the applications in the same same way way. Data moves moves both to and from the central central IP21 database database.. Data Data going back to the database are typically the results of heavy computations so they only need to be done once. 4
http://www.aspentech.com/ 15
2. INTE INTEGR GRA ATED TED OPER OPERA ATION TIONS S AND STA STATOIL OILHYDR HYDRO O
Figure 2.4: Topology before PDP
Figure 2.5: Topology with PDP
16
2.3. 2.3. STA STATOILH OILHYD YDR RO
2. INTE INTEGR GRA ATED TED OPER OPERA ATION TIONS S AND AND STA STATOIL TOILHY HYDR DRO O
2.4. 2.4. INDU INDUSTR STRY Y STAN STAND DARDS ARDS
Figure 2.6: SharePoint interface for the daily morning meetings PDP PDP is in addi additi tion on a pac package of diffe differe rent nt stand standard ard appl applic icat atio ions ns like like “production overview” and “subsea well outline” outline”.. Consequently, Consequently, the operator does not have have to use much much time time searc searchin hingg for data. A fixed fixed templa template te has 5 been made out of Web Parts which is integrated in SharePoint . The Web Parts are dynamic in the sense that one can click on them to bring up more detailed information or other numbers. See figure 2.6 for a screenshot. Another example of PDP would be subsea well overview with alarms (see figure 2.7 on the follo followi wing ng page page). ). He Here re the the operat operator or can can easi easily ly see the the actual actual producti production on com compar pared ed to the planne planned/e d/esti stimat mated ed one for the wells wells.. Different Different color codes, red for “alarm” “alarm”,, green for “normal”, “normal”, and yellow yellow for “need attention”, make it easy to focus on the subsea wells that need watched closely. One has the option to look at the state of the system in intervals of 1hr, 6hr, 24hr, and 72hr to see trends and to get a good general view of the wells at hand.
2.4 2.4
Indu In dust stry ry stan standa dard rdss
As IO is about collaboration between different entities, much work is being done to make petroleum specific standards. 5
Shar ShareP ePoi oin nt is an intr intran anet et port portal al solu soluti tion on for for Micr Micros osof oftt — see see http://en. wikipedia.org/wiki/SharePoint for more information. information.
17
2. INTE INTEGR GRA ATED TED OPER OPERA ATION TIONS S AND AND STA STATOIL TOILHY HYDR DRO O
2.4. 2.4. INDU INDUSTR STRY Y STAN STAND DARDS ARDS
screeenshot enshot showin showingg the ActiveX ctiveX contr ontrol for subse subsea a well Figure 2.7: A scr monitoring
2.4. 2.4.1 1
ISO IS O 1592 15926 6
ISO 15926 (“Industrial automation systems and integration — Integration of life-cycle data for process plants including oil and gas production facilities”) is a large large standard standard for data integrat integration ion.. It has its roots from a European European Union project started in 1991, and it is not currently finished. It consists of seven parts, where the first five have been standardized, and the remaining two have just been submitted to ISO for review. The standard is a large ontology that covers definitions of meta objects (thing, (thing, class, class, individual individual), ), generic generic engineering engineering concepts concepts (such (such as physical physical objects, objects, connec connection tions, s, activi activitie ties, s, etc.), etc.), and text text book concep concepts ts typic typicall ally y found found in process processing ing plant plantss in the petrole petroleum um indust industrie riess (pump, (pump, reduce reducer, r, heat, etc.) [David Leal 2005]. 2005]. It will will also also cove coverr more more user-d user-defin efined ed classes classes such such as com compan pany y com commodit modity y classe classess and catalo catalogue guess from from suppli suppliers ers and manufactures. The ontology is quite large — part 4 of the standard, which is called called the refere reference nce library library,, cove covers rs about about 100. 100.000 000 classe classess importan importantt to process plants and the petrole p etroleum um industry industry.. The standard covers covers everythi everything ng from specific specific types of pumps pumps and “A standard standard gas hour” to “Class of of class of physical object”. A mai main n use of ISO1592 ISO159266 is to ease ease data data integ integrat ration ion.. Today oday much much time is being spent convert converting ing data to different different data systems systems from different different entities entities
18
2. INTE INTEGR GRA ATED TED OPER OPERA ATION TIONS S AND AND STA STATOIL TOILHY HYDR DRO O
2.4. 2.4. INDU INDUSTR STRY Y STAN STAND DARDS ARDS
example from from a real-wor al-world ld proje project ct of how much much human human Figure 2.8: An example interaction is required because different entities use different data formats. The figure is taken from [ Valen-Sendstad Valen-Sendstad 2008 ]. in the value chain. chain. In figure 2.8 one can see an example of how much human interaction is done in a real-world project. For more informa informatio tion n about about ISO 1592 159266 see the Wikiped Wikipediaia-pag pagee6 or the standards themselves [ISO [ ISO 2004; 2003; 2003; 2007] 2007]..
2.4. 2.4.2 2
WITS WITSML ML
WITS WITSML ML [Energis Energistic ticss 2008 2008]] (Well (Wellsit sitee Inform Informatio ation n Transfer ransfer Standa Standard rd Markup Markup Languag Language) e) is a standa standard rd for data access access and integ integrati ration on in the domain domain of well well drilli drilling. ng. It is being being develo developed ped by POSC/Ene POSC/Energi rgisti stics cs7 and is much used in the industry. Technically, the standard is a set of XML schemas (XSDs) with documented descri descripti ptions ons of terms. terms. The standard standard also cove covers rs an API for access accessing ing the data, which are based upon web services (SOAP and WSDL). For more information about WITSML see the WITSML-Wikipedia page 8 6
http://en.wikipedia.org/wi http://en.wikipedia.org/wiki/ISO_15926 ki/ISO_15926 POSC (Petrotechnical Open Standards Consortium) — see http://posc.org. In 2006 POSC was rebranded to Energistics — see http://www.energistics.org. 8 See http://en.wikipedia.org/wi http://en.wikipedia.org/wiki/Wellsite_in ki/Wellsite_information_tra formation_transfer_ nsfer_ standard_markup_language 7
19
2. INTE INTEGR GRA ATED TED OPER OPERA ATION TIONS S AND AND STA STATOIL TOILHY HYDR DRO O
or the WITSML homepage
2.4. 2.4.3 3
2.4. 2.4. INDU INDUSTR STRY Y STAN STAND DARDS ARDS
9
PROD PRODML ML
“[PR “[PROD ODML ML is] is] a share shared d solu soluti tion on for info informa rmati tion on exc exchange hange allow allowin ingg Upst Upstre ream am Oil Oil & Ga Gass Comp Compan anie iess mo more re easi easily ly exec execut utee thos thosee soft softw ware applic applicati ations ons used used to optimi optimize ze product production ion”” [Mo [Morne rneau au 2007 2007]]. PRODML (Production Markup Language) is a standard for data integration between different applications dealing with production optimization and production reportin reportingg [Energistics Energistics 2006 2006]. ]. It was was crea create ted d by a worki orking ng group group with with participants from 13 upstream oil and service companies in the oil and gas domain [Shipley [Shipley et al. 2008]. 2008 ]. It was later handed over to POSC/Energistics for maintena maintenance nce.. The standard standard is based based upon two Norwegi Norwegian an standa standards rds that that were were used used for producti production on reports reports sent sent to gove governm rnmen entt agencie agenciess and to partners: Partner Partner Production Daily Reporting and Monthly Production Production Reporting Data Transfer Standard. More specifically the data that PRODML can represent is mostly about what flows where, where, how much much and when. An example of a statement statement represented represented in PRODML is: “X Sm 3 of condensate flowed between pipe connection A and pipe connection B between timestamp X and timestamp Y”. The aim is that all sensors sensors should should produce produce PRODM PRODML-d L-data. ata. The data should should then then be process processed ed by product production ion optimi optimizat zation ion applic applicati ations ons or sent sent direct directly ly to partners partners or gov governme ernment nt agencies for reporting. reporting. PRODML is built up much in the same way as WITSML. There are XML schemas that describe how to represent some terms found inn ISO 15926. The standard covers a data access API in the same way as WITSML. For more information about PRODML, see the PRODML homepage10 .
9 10
http://www.witsml.org/. http://www.prodml.org/ 20
Chapter 3
Workflow The object of all work is production or accomplishment and to either of these ends there must be forethought, system, planning, intelligence, and honest purpose, as well as perspiration. Thomas Edison
The previous chapter presented an overview of the oil industry in general, and StatoilHydro StatoilHydro in particular. Additionally Additionally an introduction introduction to Integrated Integrated Operations along with there challenges and opportunities were made. As a part of those challenges, changed work processes were proposed to handle the issue with fragmented problem solving process and to enable support of tasks in multidiscipli multidisciplinary nary teams. To be able to change change the work processes, processes, they they should should first be documen documented ted.. This This documen documentat tation ion is often often done done in a Workflow System . This chapter takes a look at the area of workflow and workflow systems. SoluDyne, the workfl workflow ow system system Statoil StatoilHyd Hydro ro uses uses today today is presen presented ted,, as well as Business Business Proc Process ess Modeling Modeling Notation Notation (BPMN), an OMG workflow notation standard.
3.1 3.1
Defin Definit itio ion n
Accord Acco rdin ingg to the the Dict Dictio iona nary ry of Comp Comput uter er Scie Scienc nce, e, Engi Engine neer erin ing, g, and Technology, workflow is defined as: “Workflow: “Workflo w: multiple multiple tasks/steps/act tasks/steps/activiti ivities, es, of which which there are two two types: types: simple, representing indivisible activities, and compound, representing those 21
3. WORKFLOW
3.1. DEFINITION
which which can be decompos decomposed ed into sub activi activitie ties. s. An entire entire workfl workflow ow can be regarded regarded as a large compound task. The workflow workflow defines the relationship relationshipss among the activities in a project, from start to finish. Activities are related by different types of trigger relation. Activities may be triggered by external events events or by other activities. activities. Also the movement movement of documents around an organization for purposes including sign-off, evaluation, performing activities in a process and co-writing.” [Laplante 2000] 2000] A more informal definition and more according to the use of StatoilHydro would include the control and flow of tasks. The flow is formally described and is repeatable and reliable. The workflow can be described in a static way where participant participants, s, data and processes are linked linked together. Some workflow workflow descriptions may be executable, while others may only serve as a manual or documentation for humans. It helps the people working together to have a common understanding of the overall goal and how they can get there. By formally describing the workflow one can also better document and see improvem improvement ents. s. These improvem improvements ents can then be included included in the better and newer newer workflows. workflows. In that way not only the work of the participan participants ts in the workflow, but also the workflow itself is always the current best practice. This means that the workflow describes the best way of doing something. An exampl examplee coul could d be the the workflo orkflow w of buyi buying ng a mo movi viee tick ticket et.. He Here re the the participants are the customer and the ticket seller. Resources are money and ticket. The order of events is not incidental, for instance: the seller must first make sure that she has more tickets tickets to sell before b efore selling selling to the buyer. buyer. For a more comprehensive comprehensive description description of workflow workflow systems see [Georgakopoulos et al. 1995]. 1995]. There is also the question of what level of abstraction the workflow should descri describe. be. Should Should one describe describe the inner inner worki workings ngs of every every aspect aspect of the workflow workflow components? components? To continue continue the “selling “selling a mov movie ie ticket” ticket” example, example, should should one remov removee the workflo workflow w part that is includ included ed in the process process of checking whether there are any tickets left? In other words should one model the database transaction, data transfer protocols, etc.? This clearly depends on the domain. domain. From a cinema cinema’s ’s standpoin standpointt the database database transact transaction ionss concerned concerned in the “ticket “ticket selling” selling” is irrelevant. irrelevant. The workfl workflow ow can be descri described bed using using illust illustrat rativ ivee symbols symbols repres represen entin tingg a given given functionalit functionality y or process. The Business Business Process Modeling Notation Notation has for example the symbols shown in figure 3.3 on page 30. Also here the level of abstraction comes into play. The language might have elements describing low level operations or higher level elements.
22
3. WORKFLOW
3.2
3.2. DIFFERENT WORKFLOW SYSTEMS
Differe Differen nt workflo orkflow w syste systems ms
In general general there exist exist three three kinds kinds of workfl workflow ow applicatio applications. ns. The first two two support long-lived workflows that are controlled by humans, and tend to focus on human interaction: interaction: sending sending documents documents from one person to another, another, nice nice user user inter interfac face, e, etc. etc. The term term “huma “human-c n-cen entri tric” c” is often used used for such such workflows. The human human-ce -cent ntric ric workfl workflow ow system systemss ma may y either either be passiv passivee or activ active. e. Pass Passiv ivee workflo orkflow w syst system emss are are just just a type type of docum documen enta tati tion on syst system ems. s. SoluDyne, discussed in section 3.6 on page 25, is such a workflow system. User Userss can can read read and and writ writee docum documen ents ts and workfl workflow ow diagram diagrams. s. Ac Acti tive ve workflow workflow systems systems have have an execution engine. The engine interprets interprets events (e.g., timer going of, documents submitted to server), and acts on these according to the predefined business processes. It also facilitates the flow of information, tasks, and events. The other type of workflow applications has little or no concept of human roles. These workflows workflows are typically typically written in BPEL or similar similar language. They focus on automating interactions among software components (often Web Services), and are sometimes called “engineering workflows”. workflows”.
3.3 3.3
Why Why use use wor workfl kflo ow sys syste tems ms? ?
Intr Introd oduc ucin ingg workfl orkflow ow into into a busi busine ness ss or comp compan any y lead leadss to sev several eral benefits: benefits: more formal understanding understanding of the key processes processes and discovery discovery of improvements. One can argue that by having a formal notation and diagram of a work process it is more likely to be improved upon due to the fact that improvements can more easily be implemented and documented. Not just in the making of the workflow diagrams, but also later there is a possibility to discover improvements. There are side effects when improving the diagrams such such as increased increased safety. safety. Errors are less likely likely to occur when work processes are formal and documen documented ted.. They They are directly directly connecte connected d to the safety safety of onshor onshoree and offshore offshore personn personnel. el. Equipm Equipmen entt that that once once had a functi function on can become redundant as a result of work process improvements or other more cost efficient solutions is discovered. Efficiency could increase and ultimately save money and time. Knowledge and expertise are often centered on a few individuals. It would be more beneficial to have it in the company company itself. In that way the company is not as dependent on the individuals, but keeps the knowledge independent of the working working staff. When key individuals individuals leave leave the company company, replacing replacing them becomes easier. Training inexperienced crew operators is easier when
23
3. WORKFLOW
3.4. LIMITATIONS
manuals manuals of working working tasks are available available.. Computer Computer applications applications that guide the users through the workflow may be especially beneficial for inexperienced personn personnel. el. Another Another aspect aspect of separat separating ing knowle knowledge dge from experts experts in the company by using workflow systems, is that process optimization is easier. Optimization is difficult when there is great emphasis on human knowledge and judgment judgment.. In strict strict workflo workflow w system systemss optimiz optimizati ation on does not depend depend so much on the skill and knowledge of the operator, but is instead on the workflow workflow itself. itself. As a result result of optimization optimization the productivity productivity could could also be be improved. By havi having ng a forma formall notat notatio ion n and diagr diagram am of the the work work proce process sses es,, they they are more likel likely y to be impro improv ved. ed. This This is because because impr improv ovem emen ents ts can can be more easily implemented implemented and documented documented in diagrams. diagrams. One may discover discover improvements, not just in creating workflow diagrams, but also later in their lifecycle. lifecycle. Finally Finally by introducing introducing workflow workflow diagrams the work processes go from ad-hoc human oriented control to well documented, repeatable, and predictable. With active workflow systems the tasks will be executed in the same way given given that the data input is the same. same. As a result result one gets no deviat deviation ionss from the initial optimized workflow due to human interactions as could be the case with passive human centric workflow.
3.4 3.4
Limi Limita tati tion onss
Even though workflow systems clearly have several advantages, they also have weaknesses. There are areas and uses where other modeling languages are used with better better result results. s. One such such langua language ge is Π − calculus, which is a theory theory of mobile mobile processes processes.. The word mobilit mobility y refers refers to the moveme movement nt of links links in a space space of linke linked d processe processes. s. An example example could be the changi changing ng connections between telephones and the network of base stations as they are carried around1 . A regular regular workflow workflow language/notati language/notation on has problems problems in accomplishing this. The execution of a single workflow is easily done, but problems could occur in an execution execution of several several tightly connected parallel workflows: workflows: two two workflows workflows from two different vendors trying to simultaneously buy the last product from a service provider for example. Workflow systems often rely on one database and one workflow engine. This architecture could easily become a bottleneck in a large enterprise. 1
For more information about the Pi-calculus see [ Sangiorgi and Walker 2003, 2003 , Milner 1999]. 1999].
24
3. WORKFLOW
3.5. BUSINESS PROCESS MANAGEMENT
A limi limita tati tion on due due to diffe differe ren nt vendo endors rs and and thei theirr propr proprie ieta tary ry work workflo flow w notations is the lack of collaboration between different workflow systems. Workflow systems incorporate in their design very concrete and exclusive inter interpre pretat tation ion of the world world which which mak makes es it difficul difficultt to federa federate te differe different nt systems [Alonso [Alonso and Schek 1996, Jae-Yoon Jung and Hoontae Kim and Suk-Ho Kang 2006]. 2006]. To over overco come me this this,, effort effortss are underw underway ay to ma mak ke a standard workflow/process notation (section 3.7 on page 29 presents BPMN, which which is such such a standard). standard). In our domain of interest, interest, Integrated Integrated Operations, Operations, where different vendors, oil and gas companies and different experts are to collaborate, such a standard is of high relevance.
3.5
Busine Business ss Process Process Manag Managem emen entt
When talking about workflow, Business Process Management (BPM) and business processes are often mentioned. A business process is: “a collection of relate related, d, struct structure ured d activi activitie tiess that produce a servic servicee or product product that that meet the needs of a client” [Wikipedia [ Wikipedia 2008a]. 2008a]. One One can argue argue that these these processes are of great value and that a company would like them to be as efficient as possib p ossible. le. Business Business processes are implemented implemented as information Information processes processes relate to automated automated processes or material processes. Information tasks tasks and partia partially lly automat automated ed tasks tasks (i.e., (i.e., tasks tasks performe performed d by program programss and tasks performed by humans interacting with computers, respectively) [Georgakopoulos et al. 1995]. 1995]. Material Material processes refer refer to human human tasks rooted in the physical world (i.e., moving, storing, transforming, and assembling physical physical objects). In this thesis we will focus on business processes processes related to information information processes. processes. BPM is the method for managi managing ng busine business ss processes. processes. Workflo orkflows ws fit into into the BPM by covering covering the first two parts of the BPM lifecycle: lifecycle: Design Design and Modeling (see figure 3.1 on the next page).
3.6 3.6
SoluD oluDyn yne e
For documenting best practices, workflows, and so on, the pre-Hydro part of StatoilHydro StatoilHydro uses a solution solution from the Norwegian Norwegian company SoluDyne. SoluDyne. The product, product, also also named named SoluDy SoluDyne, ne, has several several modules modules where where the workfl workflow ow module is one of them. The workflow notation is a proprietary one, created by the company. We were not able to get any documentation from SoluDyne despite our emails. However, some documentation was found in [Engum and Wathne 2004 2004]] and the diagram elements where more or less self-explanatory. The notation consists of “role lanes” keeping track of who the responsible
25
3. WORKFLOW
3.6. SOLUDYNE
Figure 3.1: The BPM Life-Cycle
Figure 3.2: Example of a workflow diagram in the SoluDyne system used by the operators at StatoilHydro, Sandsli
26
3. WORKFLOW
3.6. SOLUDYNE
person or group of the activity activity is. Simple Simple atomic and compound activities activities are represented by squares. A simple example of a SoluDyne workflow diagram is shown in figure 3.2 on the preceding preceding page. The diagram is in Norwegian, Norwegian, but when talking about the tasks and roles roles we use their English English translati translations ons.. The numbers numbers in the diagram diagram and text help to see which which task task is discusse discussed. d. The diagram diagram is also also translated into BPMN in figure 3.4 on page 32 using the English translation. The four participants are: 1. Executing Executing (Techn (Technical ical manager, operation) operation) 2. Organizer Organizer (production engineer, engineer, onshore) 3. Executing Executing (Production engineer, engineer, onshore) 4. Executing Executing (Process/Operation (Process/Operation engineer, onshore) The The arrow arrow from from an acti activi vity ty can can spli splitt into into sev several eral other otherss suc such as “02 “02 - Producti Production on Optimi Optimizat zation ion Meetin Meeting” g” split splittin tingg into: into: “03 - Execut Execution ion of updated plan”, “05 - Production follow up”, and “08 - Topside production optimi optimizat zation ion””. We assume assume there is an implicit implicit fork presen present. t. Two Two arrows arrows can join into one like like it does before before “04 “04 Need Need for process” process”.. Neithe Neitherr here here is the exact semantics defined, but we assume it means a regular XOR-join operation (i.e. wait until both have finished) where two separate flows merge into one. By clicking on a process one can move into a lower level of abstraction and see the workfl workflow ow diagram diagram repres represen entin tingg the selecte selected d process process.. At the leaf leaf nodes of the workflows one may find further documents and descriptions explaining explaining the step. These These details are typically typically written written in a Microsoft Microsoft Word document document or similar. similar. Improvem Improvement entss in a work process could b e discovered discovered as it is being used or as a result result of an analysis. analysis. The workflo workflow w descripti description on should be continu continuously ously updated to reflect reflect such such improvem improvement ents. s. In this way way the diagrams and the documents describe the current best practice of an operation. The level of abstraction of the workflows is relatively high. This is due to the fact that they apply to all pre-Hydro oil and gas platforms belonging belonging to StatoilHydro. StatoilHydro. Details Details belonging to individual individual fields are up to the specific platform at hand to determine.
3.6.1 3.6.1
Prob Proble lems ms
There are several problems and areas of possible improvements regarding the workflo workflow w soluti solution on with with SoluDy SoluDyne. ne. The notation notation is not very rich in its possibilities, and it has been mentioned that some of the details from the work processes were lost when expressing it in that notation. 27
3. WORKFLOW
3.6. SOLUDYNE
The workflow diagrams are of such high level of abstraction that it is in reality up to the main operator and her level of experience to control the tasks tasks in operator operator room and not up to the strict strict rules or methodol methodology ogy.. The workflow documents are mainly a guideline more than a strict definition of how how things things should should be done. done. After After attend attending ing several several well well meetin meetings, gs, we observed how some of the much used workflow diagrams are used in practice. The high-level workflow diagram was shown on a shared screen by offshore and and onsh onshor ore. e. This This acted acted as an agend agendaa for for the the me meet etin ing. g. Ho How wever ever,, the the diagrams were mostly used as a checklist making sure that the operators had covered all the main important parts of a process.
3.6.2 3.6.2
Altern Alternati ative vess to to Solu SoluDyn Dyne e
The The prob probab ably ly best best know known n workflo orkflow w lang langua uage ge is the the Busi Busine ness ss Proce Process ss Execution Language (BPEL). It is an XML-based language for describing a business process in which most of the tasks represent interaction between the process and external Web Services [OMG 2005]. 2005]. As BPEL BPEL is used used for orchestrating services more than documentation of human workflow it is not seen seen as a real alterna alternativ tivee in our contex context. t. There There is a relati relation on bet b etwe ween en the graphical notation BPMN and BPEL. BPMN can be translated into BPEL, which which is specifie specified d in the specificat specification ion.. Ho Howe weve ver, r, there there is not a one-to one-to-on -onee translation and there exist elements in BPMN that cannot be mapped into BPEL, and vice versa [Ouyang [ Ouyang et al. 2006, Recker Recker and Mendling: Mendling: 2006 2006]. ]. Anot Anothe herr work workflo flow w lang languag uagee is the the Yet Anoth Another er Workflo orkflow w La Lang ngua uage ge 2 (YAWL ), whic which h came came out out as a resu result lt of a proje project ct with with rese resear arcchers hers at Eindho Eindhove ven n Unive Universi rsity ty of Techno echnolog logy y and Queens Queenslan land d Unive Universi rsity ty of Techno echnology logy as partic participa ipant nts. s. It has a clear clear and formal semantic semanticss [ YAWL Foundation 2007]. 2007]. YAWL has not got the number number of user userss and and is not a standard, and for that reason not considered in this thesis. BPMN is a much much more known process modeling notation notation than SoluDyne. It is a public standard, standard, as opposed to SoluDyne which is a proprietary proprietary solution used only by a few companies. companies. The community community and resources resources available available to support support BPMN BPMN is consid considera erable ble.. There There are several several other altern alternati ative vess that that could be used, but as BPMN is arising as the most important standard for modeling business processes we are using this in our master thesis. 2
http://www.yawlfoundation.org/
28
3. WORKFLOW
3.7
3.7. BPMN
BPMN
BPMN [Ste [Steph phen en A. Whit Whitee 2004 2004]] is a stan standa dard rdiz ized ed graph graphic ical al model modelin ingg notation notation used for drawing workflow workflow diagrams of business processes. processes. It was developed by the Business Process Management Initiative (BPM I3 ), but is now being maintained by the Object Management Group (OMG 4) after their merge in 2005 [Wikipedia [Wikipedia 2007 2007]. ]. As of July 2008, the current adopted version is 1.0 and a new version, 2.0, is currently under construction [OMG [ OMG 2008]. 2008 ]. The designers designers of BPMN had two goals for their notation. notation. First they wanted wanted it to be simp simple le to crea create te diagra diagrams ms.. Seco Second ndly ly they wante wanted d it to be able able to handle the complexit complexity y inherent in business processes. processes. The solution was to create create a small small set of notati notation on symbols symbols grouped grouped into into differe different nt sets. sets. This This makes it easy for the modeler to create a basic diagram which captures most of the intended meaning meaning of the business business process itself. itself. The small set of symbols can be extended to support the requirements for complexity without dramatically dramatically changing changing the look and feel of the diagram. An example is the gateway gateway object. A regular gateway gateway is depicted as a diamond diamond with nothing inside. One can further expand the semantics by adding a star inside making it a “complex “complex decision”. decision”. We will briefly explain the basic elements making up most BPMN diagrams 5 . An example will will be depicted as well. well. Figure 3.3 on the following page depicts the basic elements. Examples of diagrams in BPMN are found in chapter 4 (figure 4.3 on page 43 and figure 4.4 on page 44 44). ). The basic elements are divided into: •
Flow Objects
•
Connecting Connecting Objects
•
Swimlanes
•
Artifacts
3.7.1 3.7.1
Flow Flow object objectss
These These are objects objects that appear appear in the flow flow of the workflo workflow w diagram diagram.. There There are three different kinds of flow objects: 3
http://www.bpmi.org/ Object Management Group is also the group behind the ubiquitous UML-standard. http://www.omg.org/. 5 There are several other entities making up BPMN. For a full overview, see: http: //www.bpmn.org/. 4
29
3. WORKFLOW
3.7. BPMN
N M P B p u g n i k a m s t n e m e l e c i s a b e h T : 3 . 3 e r u g i F
30
3. WORKFLOW
3.7. BPMN
Events An event is something that may happen during the course of a business process. process. Even Events ts affe affect ct the flow of the business business,, and usually usually have have a trigge triggerr and a result result.. They They can start, start, interr interrupt upt or end the flow. flow. There There are several several different event-types, like message event, timer event, etc. Activities This This is some someth thin ingg that that is to be done done (e.g (e.g., ., “find “find rese reserv rvat atio ion” n”). ). We differentiate between compound and atomic activities where the atomic ones are called tasks. Compound activities can be broken down into a finer level of detail. If the activities have more details, and can be expanded, they are called sub-processes. Gateways Gatewa Gate ways ys are depi depict cted ed as diam diamon ond d shape shaped d figure figures. s. In BPMN BPMN they they are divided into two types, forks and joins, which again can be divided into several different sub types. Forks split the flow into two or more directions, while joins take two or more flows and merge them together into one.
3.7.2 3.7.2
Conn Connec ecti ting ng object objectss
The connecting connecting objects are represented represented by arrows in a diagram. They are used to represent paths of messages, sequences, and associations.
3.7.3 3.7.3
Swiml Swimlan anes es
There There are two types types of swimlane swimlanes. s. The “mai “main” n” one one is called called a Pool and represents participants in business-to-business processes. The other is called a Lane which most often represents different roles. All elements must belong to a pool or a lane.
3.7.4 3.7.4
Arti Artifa fact ctss
Artif Artifac acts ts are othe otherr types ypes of graph graphic ical al elem elemen ents ts.. They They are are divi divide ded d into into three: three: Data Data Objects, Objects, Text Text Annotat Annotation ion,, and Group. Group. These These are presen presentt in the notation to be able to show information beyond the basic flow-chart structure of the process.
31
3. WORKFLOW
3.7. BPMN
e n y D u l o S f o d a e t s n i N M P B n i d e t n e s e r p e r y l n o , 2 . 3 e r u g fi n i d n u o f s a m a r g a i d e m a s e h T : 4 . 3 e r u g i F
32
3. WORKFLOW
3.7.5 3.7.5
3.7. BPMN
Benefit Benefitss ove overr S Solu oluDyn Dyne e
BPMN has a broader notation than SoluDyne, with several types of events depicting depicting what triggers the event. event. SoluDyne SoluDyne has only a blank start event event type. type. BPMN BPMN mak makes es it possibl possiblee to show flow of data data using using artifacts artifacts with assoc associa iati tion ons, s, some someth thin ingg whic which h is not not possi possibl blee in Solu SoluDy Dyne ne.. BPMN BPMN,, in contras contrastt of SoluDy SoluDyne, ne, mak makes es it possibl possiblee to show show differe different nt types types of forks forks and joins, gateways, default paths, exceptions, if a task is user-based or application-based, etc. The extra power of BPMN enables the architects who draw the diagram to express their diagrams closer to the reality, compared to the diagrams expressed in for instance SoluDyne.
33
Chapter 4
Introducing SemTask The previous chapters gave an introduction to Integrated Operations and workflow workflow.. This chapter chapter will bring these two aspects together, together, and explain how they form the SemTask SemTask application. application. SemTask SemTask is an abbreviation abbreviation for Seman Semantic tic Task Task support. support. It is an applicati application on mea meant nt to help help the operators operators make better decisions, faster. SemTask will be explored with its functionality at a high level. It gives an indication of what role SemTask may play in IO as well as how it relates to other applications available at StatoilHydro. Reasons why SemTask is needed and what it solves are examined. Workflo orkflow w is a cent centra rall and and fund fundame ament ntal al part part of SemT SemTas ask k as they they form form the the found foundat atio ion n of work process process exec execut utio ion. n. The The am ambi bigu guous ous and weak weak seman semantic ticss in the SoluDyne SoluDyne diagrams diagrams is not adequate, adequate, so BPMN BPMN is used used as a replacemen replacement. t. The new diagrams have additional additional semantics semantics because of the higher expressiveness of BPMN. Additional information found in the APOS documentation is also added into the diagrams. The conversion and the diagrams themselves will be explained. A scenario where SemTask is used is introduced, based on Hydro’s work process “Daily Production Optimization” (DPO). DPO is a central part of exemplifyi exemplifying ng how SemTask SemTask works, works, and will be explained in detail. Let us start by looking at the common work process DPO, and outline some of the problems with today’s work method.
4.1
Daily Daily Product Production ion Optimi Optimiza zatio tion n (DPO (DPO))
DPO is a work processes the operators at StatoilHydro at Sandsli execute every weekday, designed to get maximum production out of an oil field. The process starts each day with a meeting where production increasing initiatives are discussed. 34
4. INTR INTROD ODU UCIN CING SEMT SEMTAS ASK K
4.1. 4.1. DAILY PROD PRODUC UCTI TION ON OPT OPTIMI IMIZATI ZATION ON (DPO (DPO))
Differe Different nt activiti activities es of this this work work process will will be shown shown in detail detail.. This This is important for the understanding of the scenario, and for several other parts of this thesis. The process involves several people and resources. The SoluDyne version is depicted in figure 3.2 on page 26. The workflow consists of four role-lanes, or participants. From top to bottom: •
Executing (Technical manager operation)
•
Organizer Organizer (Production (Production engineer, engineer, onshore) onshore)
•
Executing Executing (Production (Production engineer, engineer, onshore) onshore)
•
Executing (Process/operation engineer, onshore)
The organiz organizer er owns owns the daily daily morning morning meetin meetingg (also (also called called producti production on opti optimi miza zati tion on me meet etin ing) g),, and is respo respons nsib ible le for for acce accept ptin ingg or reje reject ctin ingg optimization suggestions. Following is the descriptions of each of the tasks/sub processes in the work process process DPO, DPO, as descri described bed in APOS. APOS. The inter interact action ionss and connec connectio tions ns between the given tasks and sub processes will then become more evident.
4.1.1 4.1.1
Desc Descri ript ption ion
01 — Weekly P&I Plan The Production and Injection plan is taken as a starting point for the meeting. 02 — Product Production ion optim optimiza izatio tion n me meeti eting ng The The first first acti activi vitty in the the work workflo flow w is the the produ product ctio ion n opti optimi miza zati tion on me meet etin ing. g. It has both both onsh onshore ore and offshore offshore partic participa ipant nts. s. The result result of the meeting meeting is a list list of activi activitie ties, s, consisting of production increasing initiatives that the technical manager for operations operations uses as input in the activity activity “Execution “Execution of updated plan”. plan”. All participants of the meeting should create an overview of different types of data. The Production engineer should in advance create an overview of: •
Well capacities
•
Process capacities
•
Well status
•
•
Variances from the production and injection plan as well as the results from the previous day Need for change of steering parameters
35
4. INTR INTROD ODU UCIN CING SEMT SEMTAS ASK K
4.1. 4.1. DAILY PROD PRODUC UCTI TION ON OPT OPTIMI IMIZATI ZATION ON (DPO (DPO))
The technical team should be prepared for questions about: •
Categorization of losses in relation to the budget
•
Capacity constraints in the plant
•
Planned activities
A representative from the operation group should be prepared to give input about: •
Capacity constraints
•
Process technical issues that may affect the production
03 — Execute updated plan The plan for the day should be updated with with the actio action n list list from the dail daily y mo morni rning ng me meet etin ing. g. It must must also also be updated when new actions are found. If it is not possible to follow the plan, the technical manager should discuss this with the organizer (production engineer). 04 — Co Con ntin tinuous uous prod produc ucti tion on supe superv rvis isio ion n The The prod produc ucti tion on is supervi supervised sed by the Execut Executing ing (Tec (Techni hnical cal manage managerr operatio operation). n). When When new initiatives are found these are sent to the Organizer (Production engineer, onshore). Trends and analysis for the wells are some of the parameters that are supervised. 05 — Product Production ion follo follow-u w-up p Producti Production on follow follow-up -up is a sub-pr sub-proces ocesss consis consistin tingg of severa severall activi activitie ties. s. The production production engineer engineer is dedica dedicated ted to production follow-up, and she should be located in the operation room at least 4 hours daily. The action list from the production optimization meeting should be checked checked to see the effects of the planned changes. changes. The production engineer should continuously evaluate the wells and processes to look for additional optimization potentials. If an optimization potential is found, it should be tested with computer simulations before it is implemented. onshoree producti production on 08 — Topside opside product production ion optim optimiza izatio tion n One onshor engine engineer er should should be dedica dedicated ted to finding finding producti production on increa increasin singg potential potential regarding regarding the topside topside processing processing plant. plant. 09 — Proposition for initiative The organizer (the onshore production engineer) engineer) should consider consider any action that may increase increase the production. If there is a need for collaboration between between onshore and offshore, offshore, the organizer organizer
36
4. INTRODUCING SEMTASK
4.2. SCENARIO
arrange arrangess this this meetin meetingg to discuss discuss this. If the proposit proposition ion is accept accepted, ed, it is sent to the Executive (Technical manager) who adds it to the plan for the day.
4.1.2 4.1.2
DPO — Optim Optimiza izatio tion n poten potentia tials ls
SoluDyne is a documentation application, and does its intended meaning in a good way. The operators use it to look up documentation about the work process process when when needed needed.. Ho Howe weve ver, r, some some of the informati information on about processes processes was lost while creating the documentation as a result of SoluDyne’s lack of expressiveness. There is no automation automation of work processes. processes. Operators can easily forget tasks in a complex workflow. Ultimately, the workflow system should be executed. In that way no tasks are missed or done in an incorrect order. It is claimed that engineers use up to 40% of their working time to look for the right right data to use. use. The number number may actually actually grow in the future future as the availability of real-time data increases. The workflow application should assist the operators in getting the right data at the right time. The current current work processes processes have no associated flow flow of data. Data sources that a person uses while performing a task may be useful for the users of the subsequent tasks. Decisions are most likely based upon them. Some of the problems with today’s workflow workflow system have been outlined. As the different parts of SemTask are explained more benefits and details are presen presented ted.. But let us take take it one step step furthe furtherr looking looking at a scenari scenarioo where where SemTask is used to solve some of these optimization potentials. The scenario is based on the DPO process.
4.2 4.2
Scena cenari rio o
4.2.1 4.2.1
Parti Particip cipan ants ts
•
Frida — Executing (Technical manager operation, offshore)
•
Per — Organizer (Production engineer, onshore)
•
Pernille Pernille — Executing Executing (Production engineer, engineer, onshore) onshore)
•
Didrik — Executing Executing (Process/operation (Process/operation engineer, onshore)
1. SemTask SemTask notifies notifies Per that it is time for the process “Daily Production Production Optimi Optimizat zation ion””. Per Per asks asks SemT SemTask to notify notify the other other partic participa ipant ntss
37
4. INTRODUCING SEMTASK
4.2. SCENARIO
(Frida, Pernille, and Didrik) that they should connect to start this workfl workflow ow.. They They all notify notify SemT SemTask at their their presence presence and head head for the meeting meeting room. As Per is the meeting meeting owner owner he gets gets an overvi overview ew of who have have joined the meetin meeting, g, and whethe whetherr anyo anyone ne is curren currently tly missin missing. g. SemT SemTask knows knows the connecti connections ons between between tasks and data data and can therefore infer that the weekly Production and Injection plan (P&I) should be available to study. SemTask brings the P&I plan up on the screen. 2. As this this is a me meet etin ingg betw between een part partic icip ipan ants ts onsh onshore ore and and offshor offshore, e, SemTask suggests opening a video conference to connect to Frida who is offshor offshore. e. After After the video conferen conferencin cingg system system has connec connected ted the teams, SemTask automatically shows some important key information like well and process capacities, well statuses, and differences between yeste yesterda rday’s y’s actual and planne planned d product production ion.. The key informa informatio tion n is gathered in a preconfigured workspace in PDP. Per suspects a negative trend trend in oil producti production on in well well A6. He clicks clicks on this this well well to get more information, and uses PDP to look at the historical data in different interv intervals. als. His suspicion suspicion turns out to be true, and upon investiga investigating ting the pressure level for the well in question he sees a quite dramatic decrea decrease. se. He asks Frid Fridaa about about her opinion opinion as she can see the same same as Per on her screen. screen. SemTask SemTask will automatically automatically present present information information about well A6 like type, parts and manufactures, and start-up date, on the screen as Per looks at the production data for that specific well. Per and the others decide to contact an expert for her opinion as the pressure decrease is abnormal, since this may suggest that something is dramatic dramaticall ally y wrong, or that that it is just just a sensor sensor malfunct malfunction ion.. Per Per clicks on the pressure sensor for well A6 to get information about manufacturer and contact person. The expert who is listed as contact person is currently not available and SemTask automatically suggests another person registered as a contact for the well pressure sensor. It turns out that there is a known problem with this type of sensor, and an action to survey the well and continue the normal production is made. The surveilla surveillance nce initiative initiative action action is logged in PDP and Per instructs SemTask to continue the process. 3. As the meeting meeting ends, everyone everyone goes to their own working working place. place. Now it is time for Frida, Frida, Pernille, Pernille, and Didrik to work in parallel. Frida gets the activity “Execute updated plan” activated as well as “Continuous production production supervising”. supervising”. SemTask SemTask shows her the action list from the production optimization meeting along with a planning program that lets lets her put differe different nt activitie activitiess up at differe different nt times. times. SemT SemTask also shows production supervision information available in PDP. She does not see any immediate optimization potentials at the moment, but is prepared to give them, with the help of SemTask, to Per at any time. 38
4. INTRODUCING SEMTASK
4.2. SCENARIO
Frida sees the newly made “surveilla “surveillance” nce” action, action, and follows follows it up. 4. Didrik gets the activity activity “Topsid “Topsidee production production optimization optimization” ” activated activated on his screen. SemTask SemTask brings relevant relevant information to this activity activity, which is an overview of the oil and gas capacities, pollution rates in the waste water, alarm, and event logs. He notices that the pollution rate is increasing more than it normally should. As he is unsure of the cause so he writes in SemTask that he is concerned about the pollution rates in the waste water from the processing plant, and that he needs to have a meeting with some of the engineers engineers offshore. SemTask SemTask sends his reports to Per. 5. Per receives receives Didrik’s report, and gets the screen for “Proposition “Proposition for initiativ initiative” e” shown shown on his display display.. As the report from Didrik covers covers a concer concern n about about the processin processingg plant plant,, Per Per sees sees the same data data of the processing plant as Didrik did when he asked for a meeting. SemTask automat automatica ically lly presen presents ts a list list of offshore offshore engine engineers ers who mig might ht have have experie experience nce with with the problem problem and the equipm equipmen entt mentio mentioned ned in the report. report. Per Per is also able able to see the sched schedule ule of the differen differentt engine engineers ers and the meeting room, which enables him to find a time for the meeting between Didrik and the offshore engineer. 6. At this point Mona, which which is currently currently working working with a domain expert regarding a malfunction in one of the subsea well, needs help from Per. Per. She knows knows that Per Per is busy working working on the “Daily “Daily Production Production Opti Optimi miza zati tion on” ” proces process. s. For that that reas reason on,, she she deci decide dess to brin bringg up SemTask to start the monitoring function of that particular process. SemT SemTask shows shows the tasks that Per is curren currently tly working working on. Mona Mona knows how important these tasks are, and decides not to interrupt Per. Per. Since Since the SemTask SemTask applicati application on is alread already y runnin running, g, she checks checks out some statisti statistics cs of the tasks tasks being being done done in the DPO-pr DPO-proces ocess. s. She notices that only a small percentage of the initiatives from the“Topside production production optimization” optimization” task is actually actually implemented, implemented, and decides decides to follow it up later. 7. While Frida Frida and Didrik are working on their tasks, SemTask shows shows the task “Follow-up” “Follow-up” on Pernille’s screen. SemTask SemTask presents the action-list from the daily daily morning morning meetin meeting, g, key key inform informati ation on from each of the wells wells,, etc. etc. Each Each of the activit activities ies in the action action list list has a respons responsibl iblee perso person n assoc associa iate ted d with with it. If a plan planne ned d acti activi vity ty seems seems to hav have a negative negative effect on the production, production, it will be easy for Pernille Pernille to contact contact that person through SemTask. SemTask. Pernille Pernille is aware of the fact that this oil field has a known problem with network optimization, so she checks whether whether a network network model exists. If no model exists, exists, she asks SemTask SemTask to start the network network optimization optimization task. This leads SemTask SemTask to start the associate associated d applic applicati ations ons,, which which are GAP and Max MaxPro Pro.. Perni Pernille lle 39
4. INTRODUCING SEM TA TASK
4.3. SE MT MTASK IM PL PLEM EN ENTATION OVE R RV VIEW
Figure 4.1: Overview of the approach in making SemTask creates creates the model model while while SemT SemTask has alread already y brough broughtt up relev relevan antt process capacities capacities to aid Pernille. Pernille. SemTask SemTask is aware aware of the “System “System opti optimi miza zati tion on proce process ss””, so it fore forese sees es the the need need for for data data to test test the the model. model. It checks checks whether whether producti production on or test test data data is availa available ble,, and gives the choice to Pernille of which to use for testing the network model. Pernille Pernille chooses chooses production data and SemTask SemTask asks Pernille if the the model model is OK. Perni ernill llee answ answer erss SemT SemTas ask k by chec hecking king if the the model passes some requiremen requirements. ts. SemTask SemTask brings her to the activity activity “Execution of optimization” and brings up the “checklist for system optimization”. She notifies SemTask as she is satisfied with the model, and the subprocess is finished. 8. If Frida, Frida, Pernille, or Didrik has an action proposal, it will automatically be sent to Per through SemTask. Per will get the action proposal along with who made the proposal, what data was used, attached documents, etc. etc. If he accept acceptss the proposa proposal, l, it is sent sent to Frida Frida who puts it in the plan of the day.
4.3
SemTask SemTask implemen implementati tation on overvie overview w
There There are severa severall approac approaches hes to buildi building ng an applic applicati ation on that that fulfill fulfillss the scenario. scenario. Technologic echnological al and architectural architectural decisions decisions become evident evident as the different different parts of SemTask SemTask are discussed discussed (e.g., why use ontologies ontologies instead instead of XML-Schema and why the ontologies are structured in the following way). The workflow diagrams are now in SoluDyne, and need to be converted into BPMN. Once they are in BPMN they are to be converted into RDF instances using a set of ontologies. Rules are used to implement the execution engine of SemT SemTask so that that these these workfl workflow ow diagrams diagrams can be execut executed. ed. Figure Figure 4.1 illustrates how the different parts of SemTask are related to each other. A more technical diagram is presented in figure 4.2 on page 42 42.. Ho How w the the different ontologies relate to each other will become evident in chapter 6 on page 63. Chapter 7 deals with the integration between the reasoner, rules and ontologies using Java and a Semantic Web framework called Jena. 40
4. INTRODUCING SEMTASK
4.4. SOLUDYNE TO BPMN
Graphical User Interface is not treated in this thesis, but the general idea, and ideas for further work are presented in chapter 8 on page 95 95..
4.3.1 4.3.1
Ourr focus Ou focus on on Sem SemT Task ask
SemT SemTask is a com compli plicat cated ed workfl workflow ow and decisi decision on support support applic applicati ation. on. It consists of several parts, including a graphical user interface, a client/server arc archite hitect ctur ure, e, logi logicc to star startt up the the righ rightt appl applic icat atio ions ns with with the the righ rightt parameters, parameters, etc. We will not focus on any of those components in SemTask. SemTask. What we will focus on is the functionality of showing the right data at the right right time. This will require a further further formalizing formalizing of the workflow workflow diagrams, along along with a form formali alizi zing ng of nece necess ssary ary input input data data and and data data sour source ces. s. In section 8.2 on page 97 several possible extensions of the SemTask application are examined.
4.4 4.4
Solu SoluDy Dyne ne to BPMN BPMN
As described in section 3.6 on page 25 25,, the Hydro part of Statoi StatoilHy lHydro dro uses SoluDyne SoluDyne for describing describing and documenting documenting their work processes. processes. The SoluDy SoluDyne ne system system is both used used for drawin drawing, g, storing storing,, and displa displayin yingg the diagrams, and for connecting documentation (like short texts, documents, and spreadsh spreadsheet eets) s) to the diagrams. diagrams. As the SoluDyne SoluDyne workflo workflow w diagram diagram notation lacks documentation (like what is the exact meaning of the different diagram shapes), and only provides the simplest opportunities for drawing workfl workflow ow diagram diagrams, s, we have have chose chosen n to transla translate te the origin original al SoluDy SoluDyne ne diagram to BPMN. The BPMN version of DPO sets out to capture more of the underlying seman semanti tics cs and detai details ls,, found found in the the APOS APOS docum documen entat tatio ion, n, that that were were originally lost as a result of modeling the workflow in SoluDyne. Figure 3.2 on page 26 shows the original diagram in the SoluDyne system and our translation with some additions are found on figure 4.3 on page 43 43.. In order order to crea create te the the enha enhanc nced ed BPMN BPMN-v -ver ersi sion on,, we stud studie ied d the the DPODPOworkfl workflow ow and the supporti supporting ng documen documentat tation ion from from APOS APOS [Hydro [Hydro 2008 2008]]. In addition, we have emailed and had meetings with Espen Halvorsen at StatoilHydro and Kjetil Torvanger from Cronus Engineering. This was done to be able to understand not only the diagram, but also the process that it intends intends to capture. capture. The conversion conversion from SoluDyne SoluDyne diagrams to BPMN diagrams diagrams is not straight straight forward so we will briefly explain explain it. The conversion conversion described here is for the specific process DPO, and the conversion shows signs of the fact that additional information is added to the resulting diagram.
41
4. INTRODUCING SEMTASK
4.4. SOLUDYNE TO BPMN
Figure 4.2: The architecture of the SemTask application
42
4. INTRODUCING SEMTASK
4.4. SOLUDYNE TO BPMN
Figure 4.3: Daily Production Optimization in BPMN
43
4. INTRODUCING SEMTASK
4.4. SOLUDYNE TO BPMN
(a) Evaluate Subsea Well Initiative
(b) System Optimization
Figure 4.4: The sub-processes of Production follow-up
44
4. INTRODUCING SEMTASK
4.4. SOLUDYNE TO BPMN
In the SoluDyne version we find the activity “05-Follow up” that triggers both “System Optimization” and “Evaluate Subsea Well Initiative”. Initiative”. These are performed in a sequential manner, as depicted, before handling the flow over over to “Proposition “Proposition for initiative” initiative”.. Following ollowing the documentation documentation for the process “Follow “Follow up” and our research, research, which can be read in section 4.1.1, 4.1.1, we chose chose to model model it as a sub-pr sub-proces ocess. s. The reason reason is that the two two processe processes: s: “System “System optimization” optimization” and “Evaluate “Evaluate subsea subsea well initiative initiative”” are parts of the ongoi ongoing ng “Foll “Follow ow up” up” proces process. s. It is a loo loopi ping ng proce process ss and and each each time time the the “Executing “Executing (Production engineer, onshore)” finds an optimization optimization potential, an event event kicks kicks off. The even eventt result resultss in sending sending a data data documen documentt to the “Proposition “Proposition for initiative initiative”” process. process. Associations Associations to the data objects show what activity activity is producing producing the data, and where it is being used as input. The control is given both to the “Proposition for initiative” process and back to the “Follo “Follow w up” process process.. In much the same way as the “Follow up”-activity the “Topside production optimization optimization”” has undergone undergone some changes changes to the new diagram. diagram. It is looped, and has an intermediate event connected to it in the similar way as the “Foll “Follow ow-Up -Up” ” process. process. We also also assume assume that once a producti production on increas increasing ing init initia iati tiv ve is foun found, d, the the proce process ss does does not not stop stop,, but but send sendss a docum documen entt to the responsible person for the entire “Daily production optimization”, and continu continuee to look for further initiatives initiatives.. In this case that person is “Organizer “Organizer (Production engineer, onshore)”. In the origina originall SoluDy SoluDyne ne diagram diagram “03-Ex “03-Execu ecute te updated updated plan” plan” and “04Continuous production supervising” these tasks are performed in sequence. Howe Ho weve ver, r, we inte interp rpre rett its its me mean anin ingg to be that that they they are perfo perform rmed ed in paral paralle lel. l. One One shou should ld alw always ays do “Cont “Contin inuo uous us Produ Product ction ion Super Supervi visi sing ng”” and and it is not not the the case case that that one one shou should ld first first start start super supervi visi sing ng after after the the executed executed plan task is finished. Also in much much the same way as the “Follo “Follow w up” and the “Topside production optimization” activities, the “Continuous Producti Production on Supervi Supervisin sing” g” activi activity ty includ includes es an inter intermed mediate iate even event. t. This This even eventt ulti ultima mate tely ly send sendss a data data docum documen entt “Opti “Optimi miza zati tion on Pote Poten ntial tial”” to the “Organi “Organizer zer (Produc (Productio tion n engine engineer, er, onshore onshore)” )”,, and contin continues ues with with the production production supervising. supervising. For the “Execute “Execute updated plan” we we have have extended extended the semantics by showing the data used as input both from “Production optimization optimization meeting” and “Proposition “Proposition for Initiativ Initiative” e”.. SoluDyne lacks the feature of showing data flow in workflow diagrams. The ability to do this is a feature of BPMN, so we have tried to use it where it seems feasible. feasible. Both input of data, output of data, and data flow are shown. shown. For instance can we see that the Production optimization meeting uses the Weekly Production and Injection-plan as input, and that it produces an Action list that the activity Execution of updated plan uses.
45
Chapter 5
Ontology We are getting into semantics again. If we use words, there is a very grave danger they will be misinterpreted. H. R. Haldeman
The previous chapter gave an introduction to SemTask by going through a scenario. This chapter will present how data sources and workflow diagrams may be represented represented to be b e able to fulfill the requiremen requirements ts of the scenario. scenario. An introduction to ontologies will be presented along with the main alternatives. The conclusion is that using ontologies to represent data and workflow lead to several advantag advantages. es. These advanta advantages ges will be outlined outlined and explained. explained. Why ontologies seems to be the best option as a representation foundation for the SemTask application will also be discussed.
5.1 5.1 5.1.1 5.1.1
An intr introduc oducti tion on Defin Definit itio ion n
The term ontology can have different meanings. It originates from a subfield of philosophy concerning the study of the nature of existence, the branch of metaphysics concerned with identifying the kinds of things that actually exist and how to describe them [Antoniou and van Harmelen 2008]. 2008]. The The meaning meaning in computer computer science is a bit different. different. The most used definition is probably the following: “An ontology is an explicit and formal specification of a conceptuali conceptualization zation” ” [Gruber [Gruber 1995]. 1995]. A more informal, and perhaps more explan explanator atory y, definit definition ion would would be: an ontolo ontology gy is a hierarc hierarchy hy of concep concepts, ts,
46
5. ONTOLOGY
5.1. AN INTRODUCTION
Prot´eg´ eg´e Figure 5.1: An example of an ontology. The figure is made using Prot´ and visualize visualized d using using the OWL OWLViz plug-i plug-in. n. See See http: http: // www. www. co-ode. org/ download downloads/ s/ owlviz/ owlviz/
which can be seen as classes, and relations between these classes.
5.1. 5.1.2 2
Exam Exampl ple e
A simple ontology about Automobiles is presented in figure 5.1 5.1.. He Here re we have Thing as the super class with three subclasses: Automobile, Owner , and Tire. The The cla classs Automobile is further further divide divided d into into Racer , PickUp, and MotorTruck . Every Every class is disjoi disjoint nt from its sibling siblingss (i.e., (i.e., an instan instance ce of Automobile cann cannot ot also also be an inst instan ance ce of Tire ). Once Once thi thiss simp simple le conc concep ept/c t/clas lasss hier hierarc archy hy is in plac placee one one can can defin definee the the prope properti rties es.. One One often differentiates differentiates between between object ob ject and datatype datatype properties. Properties Properties are relations going from an object to another object for object properties and to datatype (such as natural numbers or strings) for datatype properties. Properties Properties have a domain and a range. The domain consists consists of the elements elements that the relation “goes from’,’ and the range consists of the elements that the relation “goes to”. to”. We could then define an object property called called owns with the domain: domain: Owner and range: Automobile. An example of a datatype property could be numberOfDoors having Automobile as domain, and the natural numbers as range. There are several other constructs available in an ontology language than the ones mentione mentioned d in the example. example. The avail availabl ablee constr construct uctss define define the expressiveness of the ontology language at hand 1 . 1
For a good introduction to making ontologies see [Horridge et al. 2004]. 2004] .
47
5. ONTOLOGY
5.1. 5.1.3 3
5.1. AN INTRODUCTION
Clas Classe sess
An ontology consists consists of classes classes and properties. Depending Depending on the ontology ontology language you can state different things about the classes. Typically axioms include: •
•
•
•
Disjointn Disjointness ess of classes: If class A and B are disjoint, disjoint, no instance instance can be a member of both A and B. Inheritance Inheritance/subs /subsumptio umption: n: If class A inherits inherits class B (B subsumes A) then all instances of A are automatically also instances of B. Comple Complex x definit definition ions: s: A class class can be defined defined to contain contain exactly exactly all instances instances that have a property of a specific type type or list all its members, for instance. Complex Complex inheritance: inheritance: A class can be b e defined to include all instances instances that have a property of a specific type, for instance.
In an ontol ontology ogy,, there there are two kinds of classe classes: s: defined defined classes classes and normal classes. A defined class has one or more sufficient conditions, meaning that if an instance has met all these conditions, it is automatically a member of that class. An example is value value partitions partitions where a class is defined exactly exactly to be the union of its disjoint disjoint subclasses. subclasses. Another Another example is one that specifies exactly exactly which members (instances) (instances) it has. These These kinds of defined classes are often called enumerate enumerated d classes classes or enumerated enumerated types.
5.1.4 5.1.4
Prope Propert rtie iess
Properties Properties connect instances. instances. It is possibl p ossiblee to specify several several facts about the properties in an ontology (depending on the expressiveness of the ontology language), including: •
•
•
•
•
Domain and range: If D is the domain and R is the range of a property P then for all x and y: if P(x,y) then x is a member of D and y is a member of R The invers inversee of a propert property: y: If P and S are invers inversee properti properties es then for all x and y: P(x,y) if and only if S(y,x). Reflexi Reflexivit vity: y: If P is a reflexi reflexive ve propert property y and C is in the domain domain of P then for all x in C we have P(x,x). Property inheritance: If P and S are properties and S inherits P then: for all x and y, if S(x,y) then P(x,y). Symmetry: If P is symmetric then for all x and y, if P(x,y) then P(y,x).
48
5. ONTOLOGY
5.1. AN INTRODUCTION
Figure 5.2: The use of a covering axiom to get a value partition class. The figure is taken from [ Horridge Horridge et al. 2004 ] 2004 ] •
•
•
Transit ransitivi ivity ty:: If P is transitiv transitivee then then for all x, y, and z, if P(x,y) P(x,y) and P(y,z) then P(x,z). Functionality: If P is functional then for all x, y, and z: if P(x,y) and P(x,z) then y=z. Inverse-functionality: If P is inverse-functional then for all x, y, and z: if P(x,y) and P(z,y) then x=z.
5.1.5 5.1.5
Langua Lan guage ge requir requireme ement ntss
There There are several several require requiremen ments ts for ontol ontology ogy language languages. s. The main ones are: wellwell-defi defined ned syntax syntax,, efficien efficientt reason reasoning ing support support,, a formal formal seman semantic tics, s, sufficient expressive power, and convenience of expression [Antoniou and van Harmelen Harmelen 2008 2008]. ]. Well-defined syntax is clear from the fact that otherwise a comput com puter er would would not be able able to parse the ontol ontology ogy descrip descriptio tion. n. A formal formal semantics means that the meaning of a word should not be a result of human human interpretation interpretation or a computer computer program implementation implementation.. Algebra Algebra in Mathematics is an example of a language with a well-defined semantics.
49
5. ONTOLOGY
5.1.6 5.1.6
5.1. AN INTRODUCTION
TBox TBox an and d ABo ABox
When discussing knowledge bases 2 a distinction is often made between the terminology terminology knowledge knowledge and the asserted knowledge. knowledge. These parts are called the TBox and ABox respectively. There are no logical distinctions between the TBox and the ABox, but as we shall see, reasoning algorithms often work work on either either one of them. them. Ha Havin vingg a term term for these differen differentt parts parts of the knowledge knowledge base is therefore convenien convenient. t. An analogy is classes classes and ob jects in object oriented programming. The classes can be compared to the TBox, and the objects which belong to a class can be compared to instances in the ABox. TBox The TBox is a set of schema axioms that that defin definee the the clas classe sess and and the the rela relati tions ons/ro /role less with with thei theirr respe respect ctiv ivee prope propert rtie ies. s. The The conc concep eptt and and role role constr construct uctors ors used used and allow allowed ed are constr constraine ained d by the ontol ontology ogy langua language ge in ques questi tion on.. We hav have, in the the mo most st gene genera rall case case,, incl inclus usio ion n ( A B) and and equi equiv valen alence ce axio axioms ms (A ≡ B ) where A and B can be class or relation/propert relation/property y. More expressiv expressivee languages languages have have additional additional axioms, axioms, such such as those mentioned in section 5.1.3 and 5.1.4 Follo ollowi wing ng the the examp example le about about Auto Automob mobil iles es a sche schema ma axio axiom m coul could d be: which h me mean anss that that Automobile subsumes Racer . Racer Automobile whic Anot Anothe herr exam exampl plee of a sche schema ma axio axiom m coul could d be: Mother ≡ Woman ∃hasChild.Person which says that the class Mother is defined as all objects belonging to the Woman class and which has one or more properties of the kind hasChild with the class Person as range. There is much more to a TBox than what is stated here, and the curious reader is referred to [Baader et al. 2007]. 2007]. ABox The ABox on the other hand is a set of data axioms that define a specific state of affair of an application domain in terms of concepts and roles [Baader et al. 2007]. 2007]. In the ABo ABox x we define define indivi individua duals ls by giving giving them names; names; let us, call three individuals: a, b, and c. We then make two kinds of assertions about them called concepts assertions and role assertions like C(a) and R(a, b), where C is a concept and R is a role. 2
Kno Knowled wledge ge base base is defin defined ed as a set set of sen sentenc tences es,, expr expres esse sed d in a kno knowled wledge ge representation language (e.g., ontology language), each representing some assertion about the world [Russell and Norvig 2003]. 2003] .
50
5. ONTOLOGY
5.1. AN INTRODUCTION
In the example of Automobiles example data axioms could be that BMW-Z8 is an instance of the class Racer and Ford-Ranger is an instance of the class PickUp. Further, we can say drivesFaster(BMW-Z8, Ford-Ranger), which is an example of a role assertion. In practi practical cal implem implemen entat tation ions, s, there there ma may y be other other constr construct uctors ors for ABo ABox x axioms available, e.g. differentFrom, which states that the individuals are different from each other.
5.1.7 5.1.7
Expres Expressiv sivene eness ss vs. vs. decida decidabil bilit ity y
There is a tradeoff between expressiveness and decidability when dealing with ontology languages. We want the ontology language to be as expressive as possible making us able to express what we want. Howeve However, r, the language language in question should be decidable meaning that there are reasoning algorithms that are sound and complete and will stop in a finite time. There is ongoing research to extend ontology languages with new constructs making us able to express more without losing decidability. Although one would like the ontology language to be decidable one can work with undecidable undecidable languages languages as well. well. The ontology ontology could for example example be used as a taxonomy where we do not need support for reasoning. An example in the domain of oil and gas production is the Active Knowledge Management in the petroleum industry — AKSIO project [Norheim [Norheim and Fjellheim 2006]. 2006]. Here an ontology defined in an undecidable ontology language is used for expanding a text based search by looking at synonyms and relative terms of the initial search term.
5.1.8 5.1.8
Reason Reasoning ing/in /infer ferenc ence e tasks tasks
Concerning Concerning the TBox, several inference inference tasks are relevant. relevant. Satisfiabili Satisfiability ty of a concept/class is the reasoning task to see whether there is a mode l3 in which the concept is non-empty; i.e., find out if the concept can have members. Subsumption is to reason about whether one concept is always a generalization of another, that is if a membership of one class always results in the mem membership bership of another another class. class. Equivalenc Equivalencee of classes classes is the inference inference task of checking whether two classes always must have the same members. Concerning the ABox, the reasoning task is instance checking, i.e., checking which classes an individual belongs to. 3
Model is here referred to as the model theory in Description Logic. See [Baader et al. 2007] for a thorough thorough introduction introduction..
51
5. ONTOLOGY
5.2. SHORT INTRODUCTION TO SEMANTIC WEB
It is show shown n that that the the reas reason onin ingg task tasks: s: chec checki king ng sati satisfi sfiab abil ilit ity y of a clas class, s, if two two clas classe sess are equi equiv valen alent, t, and and if two two clas classe sess are disj disjoi oint nt,, can can all all be done done using using only subsumpt subsumption ion.. If the negati negation on of concep concepts ts is allow allowed ed in the language, language, the reasoning reasoning tasks can be reduced reduced to unsatisfiabi unsatisfiability lity.. As a result of this, a reasoner typically only implements either subsumption or unsatisfiabi unsatisfiability lity,, depending depending on the knowledge knowledge representation representation language. For a more comprehensive introduction to reasoners, reasoning tasks, and the algorithms behind see [Donini [ Donini et al. 1996]. 1996]. In the development of large ontologies, like in the ISO 15926 standard mentioned in section 2.4.1 where there are over 100.000 classes, automatically reasoning support is necessary since reasoning“by-hand”would take too long time. time. It is surpri surprisin singly gly easy to create create unsatisfia unsatisfiable ble concepts concepts for instan instance. ce. When running subsumption checking one will see all classes, intended or unint unintend ended, ed, that a given given class is a sub class class of. This This inform informatio ation n can be used to improve the ontology. Let us look at one example of reasoning that uses the example in section 5.1.2 on page 47 47.. We define define Automobile and Owner to be disjoint from Tire, as well as defining an object property called hasTireBrand with the domain of Automobile and range Tire. We state that both Automobile and Owner have exactly exactly one instance of the hasTireBrand as a necessary necessary condition condition for all the elements of the class. It is tempting to conclude that the reasoner would infer that the class Owner is inconsistent since the domain of the hasTireBrand is only Automobile. Howeve However, r, the reasoner reasoner would instead infer that the class Owner is subclass of Automobile. If the two classes were disjoint the reasoner would detect an inconsistency in the class Owner meaning that it cannot have any members.
5.2
Short Short Int Introduc roductio tion n to Sema Semant ntic ic Web Web
Many of the Many the tech technol nolog ogie iess we use in this this maste masterr thes thesis is are are part part of the the Seman Semantic tic Web Web stack. stack. It can be illumi illuminati nating ng to shortly shortly presen presentt the idea behind Semantic Web, and how the technologies relate to one another. The web we know of today consists mostly of content suitable for human consumption consumption [Anton Antoniou iou and van Harmele Harmelen n 2008 2008]]. By intr introd oduc ucin ing g the the Sema Semant ntic ic Web, eb, or Web 3.0, 3.0, resea researc rche hers rs are tryin tryingg to chan change ge this this,, i.e. i.e.,, making the content understandable for computers as well. There are several conseq consequen uences ces to this this such such as better better web web searc searches hes because because the com comput puter er know knowss the the me mean anin ing, g, i.e. i.e.,, the the sema semant ntic ics, s, not not just just the the syn syntax of the the web web conten content. t. Differe Different nt web conten contentt from differen differentt source sourcess could could also also be more smartly merged before presented to the end user since the meaning of the content content is machine accessible accessible.. These are examples of what has been called 52
5. ONTOLOGY
5.2. SHORT INTRODUCTION TO SEMANTIC WEB
“the Semantic Web vision” that states that the web should be a web of data that is machine accessible, thus making the examples given possible. The Semantic Semantic Web initiative initiative came from Tim Berners-Lee Berners-Lee (the “father “father of the web”). He explains the Semantic Web vision with agents, machine accessible data, and reasoning of data in the famous Scientific Scientific American article: article: The Semantic Web [Berners-Lee et al. 2001]. 2001]. Althou Although gh mai mainst nstrea ream m adopti adoption on of the Seman Semantic tic Web is still still some some years years away it has been a considerable progress in the development of, and use of standa standards rds,, langua languages ges,, techno technologi logies, es, and applic applicati ations ons [Cardoso Cardoso 2007 2007]]. Because of this, the Semantic Web has reached a level of maturity so that big companies can apply the technology. For example, OWL is used for data integration by companies like Audi, Boeing, and Hewlett Packard [ Antoniou and van Harmelen 2008]. 2008]. Using Using ontolo ontologie giess for data integr integrati ation on is further further explained in section 5.4.2 on page 61. Companies like Vodafone, Google, and Oracle are all working for a smarter web by developing Semantic Web applications [Cardoso [Cardoso 2007]. 2007]. The technologies that are a part of the Semantic Web are layered in a stack. The stack by W3C, naming all the key technologies and showing how they depend on each other, is found in figure 5.3 on page 56 56.. This This stac stack k has been changed several several times and will probably probably change again. Howeve However, r, the main interesting technologies in the development of SemTask are all W3C recommendati recommendations ons (what other organizations organizations would would have have called called a standard): standard): XML, RDF, RDFS, OWL, and SPARQL; and are likely to be in the Semantic Web stack in the future future as well. well. Looking Looking at the Semantic Semantic Web Web stack stack one can roughly divide it into elements concerning syntax, data, ontology and logic. URI and XML define the syntax, syntax, RDF defines the data layer, layer, OWL and RDFS are used in the ontology layer and rules are used in the logic layer. layer. SPARQL SPARQL is the W3C recommendation recommendation for query language over over RDF. Concerning SemTask, the Ontology technology of the Semantic Web Stack is of mai main n inter interest est.. Ho Howe weve ver, r, let us quick quickly ly go through through the techno technolog logies ies constituting the foundation of the Semantic Web stack: XML, RDF, RDFS, OWL, and SPARQL.
5.2.1
XM L
eXtens eXtensibl iblee Markup Markup Languag Languagee (XML) (XML) [M [Mal aler er et al. al. 2006 2006]] is a W3C recommendation for a syntactic format used for representing tree-structures of information. information. XML allows representi representing ng machine-acces machine-accessible sible information information and allows the user to define markup for their documents using tags. XML is a widely widely used standard standard in all types types of busine businesse sses. s. The petroleu petroleum m industry has also chosen XML as the syntactic standard, with PRODML
53
5. ONTOLOGY
5.2. SHORT INTRODUCTION TO SEMANTIC WEB
and WITSML as examples.
5.2.2
RDF
RDF stands for Resource Description Format and is a W3C recommendation [Carroll and Klyne 2004]. 2004]. It is a simple data model used to describe resources and the relations relations between between them. The core concepts concepts of RDF are: resources resources and and lite literal rals. s. A reso resourc urcee can can be though though of as an object object and is giv given an identity by a unique URI (e.g., URL, ISBN, or telephone number). Literals are atomic values (e.g., strings, integers, and booleans). Statement Statementss are triples triples consisting consisting of a subject, predicate, predicate, object. The subject can either be a resource or literal. Predicates are a special type of resource denoting the relation between different resources and is identified using URL. The object can either be a literal or another resource. As XML defines trees RDF takes this one step further and gives the possibility of representing directed graphs. RDF/XML is a W3C recommendation [Beckett [ Beckett 2004] 2004] and defines a syntax for serializing serializing RDF graphs. There are other languages for serializing serializing RDF like Turtle [David [David Becket Beckettt 2007] 2007],, and and No Notat tatio ion3 n3 (N3) (N3) [Tim Berners-Le Berners-Leee 2006]. 2006 ]. The N3 notation is a compact and readable alternative to RDF/XML, and is extended to allow greater expressiveness. Since the RDF documents in the appendix are written in N3 format a quick introdu introducti ction on is benefici beneficial. al. Statem Statemen ents ts are separated separated using “.” “.”.. There There are severa severall shortc shortcuts uts in N3. Look Looking ing at listin listingg 5.1 on the following page one sees that the empty empty prefix is defined as “#” meaning meaning the current document. document. When writing multiple statements about the same subject there are two shortcuts: shortcuts: “;” introduces introduces another another property and “,” introduces introduces another another object ob ject with the same predicate and subject. The rdf:type rdf:type property property is abbreviated abbreviated in N3 to just just “a” “a”..
5.2. 5.2.3 3
RDFS RDFS
Resource Description Framework Schema (RDFS) is a W3C recommendation [Brickley [Brickley and Guha 2004]. 2004]. It is an extensible knowledge knowledge representat representation ion language and is used to structure RDF resources and provide a vocabulary/ontology for RDF. RDFS forms the basic ontology language in the Seman Semantic tic Web Web stack stack.. It is a primit primitiv ivee ontolo ontology gy langua language ge [Antoniou and van Harmelen 2008] 2008] with the ability to define classes, properties with their domain and range and hierarchy of these classes and properties.
54
5. ONTOLOGY
5.2. SHORT INTRODUCTION TO SEMANTIC WEB
Listing 5.1: Example of N3 notation @ p re r e f ix i x : <# > . @pref ix bpmn bpmn::
. @ p r ef e f i x o w l : . @ p re r e f ix i x p r o t e g e : . @ pr p r ef e f ix i x r d f : . @ pr p r ef e f ix i x r d f s : . @ p r ef e f i x s e m t as a s k : . @ p r ef e f i x x s d : . @ p r ef e f i x x s p : . : a c t i o n L i s t a s em em t aass k: k: Fo Fo rrm mD Doo cu cu m mee nt nt ; bpmn:hasConnectingFrom :actionListToExecutionOfUpdatedPlan ; bpmn:hasConnectingTo :productonOptimzationMeetingToActionList ; "Action List" ˆ ˆ x s d : s t r i n g . bpmn:hasName "Action
5.2.4
OWL
OWL [van [van Harmelen and McGuinness 2004] is a richer ontology language than RDFS. It is built upon RDFS and has in addition the ability to describe relations relations between between classes classes (e.g. disjointness) disjointness),, characteri characteristics stics on properties properties (e.g (e.g.. symm symmet etry ry), ), and enume enumera rate ted d clas classe ses, s, to name name a few. few. OWL OWL will will be explained in further detail in section 5.3 on page 57.
5.2.5 5.2.5
SPAR SPARQL QL
SPARQL [Prud’h [Prud’hommeau ommeaux x and Seaborne 2008] is a recursive acronym that stan stands ds for for SPAR SPARQL QL Protoc Protocol ol and RDF Query Query La Lang ngua uage. ge. It is a quer query y language used to query RDF triples. It has been a W3C working draft since October 2005 and became a W3C recommendation in 2008. It is supported by most of the Semantic Web tools, to ols, such as Pellet, Prot´ Pr ot´eg´ eg´e, e, and Jena. The syntax is based upon SQL.
55
5. ONTOLOGY
5.2. SHORT INTRODUCTION TO SEMANTIC WEB
http: : // www. www. w3. w3. org/ org/ Figure 5.3: The Semantic Web Layer Cake — from http 2007/ 2007/ 03/ layerC layerCake ake. . png
56
5. ONTOLOGY
5.3
5.3. WEB ONTOLOGY LANGUAGE
Web On Ontol tology ogy Lan Langua guage ge
OWL OWL (Web (Web Onto Ontolo logy gy La Langu nguage age)) is the the W3 W3C C reco recomm mmen enda dati tion on for for the the ontology language used in the Semantic Web [van [van Harmelen and McGuinness 2004]. 2004 ]. It came out of the need need to have have a much much richer richer express expressiv ivene eness ss than RDFS that primarily is restricted to class and property hierarchy with the abilit ability y to define domain domain and range for properti properties. es. OWL OWL supports supports most of the axioms mentioned in section 5.1.3 and section section 5.1.4. OWL is divided into three sublanguages, each having different restrictions on what can be expressed.
5.3. 5.3.1 1
OWL Full ull
OWL-F OWL-Full ull does not add any any restric restriction tionss on the OWL primitiv primitives. es. Thus Thus being the most expressive language of OWL. However, the drawback of the expressiveness of OWL-Full is that the language is undecidable. That implies that it is not possible to have efficient and complete reasoning support.
5.3. 5.3.2 2
OWL-D WL-DL L
OWL-DL OWL-DL is a sublanguage sublanguage of OWL-F OWL-Full ull that restricts restricts how the constructors constructors of OWL and and RDF RDF can can be used used to ma mak ke the the lang langua uage ge deci decida dabl ble. e. The The advantage is that we in many practical cases get efficient reasoning support [Antoniou and van Harmelen 2008], 2008], the disadvantage is less expressiveness.
5.3. 5.3.3 3
OWL Lite Lite
OWL OWL Lite Lite is a subl sublang angua uage ge of OWLOWL-DL DL and and adds adds furt furthe herr rest restri rict ctio ions ns on OWLOWL-DL DL.. This This lead leadss to less less expr expres essi siv venes eness, s, but but some somewh what at bette betterr comput com putati ational onal propertie properties. s. The language language can also be easier easier to unders understand tand for beginners. beginners.
5.3.4 5.3.4
OWL OWL repres represen entat tation ion
There There are several several standard standardss for serializ serializing ing an OWL OWL documen document. t. One is to use OWL XML, which is criticized criticized for being bloaty. bloaty. The ontologies ontologies made in this thesis are represente represented d in the OWL Abstract Abstract Syntax. Syntax. See [Peter F. Patel-Schneider and Horrocks 2004] 2004] for the specification.
57
5. ONTOLOGY
5.4
5.4. REPRESENTATION OF SEMTASK
Repre Represen senta tatio tion n of of SemT SemTask
Some of the most evident alternatives to using ontologies for representing the workflow model and the data model in SemTask are: •
graphical graphical workflow workflow language (BPMN, (BPMN, UML, YAWL YAWL . . . )
•
workflow workflow language language for execution (BPEL, (BPEL, YAWL, YAWL, . . . )
•
Data models (e.g., databases or XML-schemas)
•
specialized specialized oil-specific oil-specific standard standard (WITSML, (WITSML, PRODML, PRODML, . . . )
5.4.1 5.4.1
Altern Alternati ative vess
Graphical workflow language Using Using a graphic graphical al workfl workflow ow notati notation on is a possibi possibilit lity y for repres represen entin tingg the workflow workflow diagrams. diagrams. UML (Unified Modeling Language), Language), which is probably probably best known for class, object and use case diagrams, and BPMN are some of the alternati alternative ves. s. Neithe Neitherr of these these graphic graphical al langua languages ges are suitab suitable le for representing dataflow and workflow in one single diagram. BPMN has a rich set of possibilities when it comes to modeling workflows. Ther Theree are are thre threee shor shortc tcom omin ings gs of usin usingg BPMN BPMN as-i as-is: s: Firs First, t, BPMN BPMN is a notation notation with currently currently no standard standard way of serializing serializing a diagram. diagram. Secondly Secondly,, it is not possible to model different different types of data and data sources in BPMN. Thirdly, the behavioral semantics in BPMN is not clearly defined in the specification [Wong and Gibbons 2008]. 2008]. UML is slightly less powerful than BPMN when it comes to representing workflow workflowss [Eloran Eloranta ta et al. 200 20066], and and has has all all the the same same shor shortc tcom omin ings gs as BPMN. Ontologies have their foundation in set theory and description logic. Using ontologies for representing workflow diagrams would define a strict semantic interpretat interpretation ion of the diagrams. diagrams. UML and BPMN have their foundation foundation in a specification that is not sufficient for a machine to do reasoning about. Workflow language for execution Severa Severall workfl workflow ow languag languages es for execut execution ion exist, exist, where where BPEL BPEL is probabl probably y the most wellwell-kno known. wn. There There are execution execution engines engines able able to execut executee BPEL BPEL processe processes. s. Ho Howe weve ver, r, they they are not as well supporte supported d for human human tasks tasks as comput com puter er based tasks. tasks. BPEL BPEL is better better adapted adapted for the collabora collaboratio tion n of different different web services services than connecting connecting resources and processes. processes. 58
5. ONTOLOGY
5.4. REPRESENTATION OF SEMTASK
Data models Data models models (e.g., (e.g., databas databases es or XML XML-sc -schem hemas) as) define define the struct structure ure and inte integri grity ty of thei theirr data data sets sets.. This This stru struct ctur uree is ofte often n only only inte intend nded ed for for one one ente enterp rpris rise, e, or appl applic icati ation on,, and and not not inte intend nded ed to be shar shared ed by other other applic applicati ations ons.. Ontol Ontologie ogiess should should be as generi genericc and task-ind task-indepen ependen dentt as possibl possiblee [Spyns et al. 2002]. 2002]. G2 proce process sses es of IO incl includ udee the the inte integra grati tion on of different vendors vendors into the processes. processes. The integration integration of their applications applications and data would be easier using ontologies. Another big advantage of using ontologies instead of data models is the ability ability to do reasoning (see section section 5.4.2 on the following page for example). Specialized oil-specific standard Data can be represented in a specialized oil-specific standard, like PRODML. The problem with most of these standards is that they are quite narrow, so they do not captur capturee all the data we would would need. need. Althou Although gh ISO 15926 contains many oil-specific data, it is missing some core relations we would like to have (like that temperature is relevant to pressure). We are not aware of any oil-specific standards for modeling workflows. Data representation UML class diagram diagramss can repres represen entt data data as class class diagram diagrams, s, which which could be implem implemen ented ted using using databas databases es or Java. Java. Ho Howe weve ver, r, repres represen entin tingg data data in an ontol ontology ogy mak makes es it mo more re acce access ssib ible le for reas reason onin ing. g. Scal Scalabi abili lity ty of the the systems based on these ontologies will be better since all parties use the same data representation. Alternatively they could map their internal data repres represen entat tation ion to the one provid provided ed by the ontol ontology ogy,, instea instead d of mappin mappingg between all the different internal representations used by the different parties they collaborate with. WSML WSML (Web Service Modeling Language) [de Bruijn et al. 2005b] is an ontol ontology ogy langua language ge mea meant nt for repres represen entin tingg seman semantic tic descri descripti ptions ons of web web serv servic ices es.. It is part part of the the WSMO WSMO (Web (Web Servic Servicee Model Modelin ingg Onto Ontolog logy) y) [de Bruijn et al. 2005a] project. project. The language language comes comes in five five flavo flavors rs each with different expressiveness:
59
5. ONTOLOGY
•
•
•
5.4. REPRESENTATION OF SEMTASK
which h is the the leas leastt expr expres essi siv ve one, one, base based d upon upon the the WSML WSML Core Core whic intersec intersection tion between between Description Description Logic and Horn Logic.
WSML DL which which is based based upon Descri Descripti ption on Logic. It is somewhat somewhat compatible with OWL (it has in general a bit lesser expressiveness than OWL, but better data type support) [Keller et al. 2006], 2006 ], and 4 conversion tools exist . WSML Flight whic which h is based based upon upon Ho Horn rn Logic Logic.. It has a high higher er expressiveness than WSML Core, and a different expressiveness than WSML DL.
•
WSML Rules which is an undecidable extension to WSML Flight.
•
WSML Full which unifies WSML Rules and WSML DL.
WSML is meant to be used for workflow between computer applications. It is not meant to describe human based workflow systems and diagrams.
5.4.2 5.4.2
Using Using OWL OWL for Seman Semantic tic Task Task Suppo Support rt
As mentioned earlier, there are several good workflow languages and tools to represent workflow, both as a graphical notation and as an execution languag language. e. With With that in mind, mind, why why should should one use ontologi ontologies es to repres represen entt workflow workflow and data? Workflow diagram reasoning One of the benefits benefits of using using ontol ontologie ogiess and OWL for workfl workflow ow diagram diagram repr repres esen enta tati tion on is, is, as me men ntion tioned ed,, thei theirr foun founda dati tion on in set set theo theory ry and and description description logic. This enables enables for workflow workflow diagram reasoning. reasoning. Reasoning Reasoning can be done either to do semantic checks (e.g., check whether all tasks are connected to a lane), or to infer new knowledge (e.g., fork gateways that have several conditional sequence flows to be decision gateways). Merging of workflow and data None of the alternative solutions to OWL treats processes and data in the same same model. model. Doing Doing so will yield yield a couple couple of inter interest esting ing possibil possibiliti ities. es. For instance, the execution of an activity may in it self yield new understanding of data (e.g., an alarm may not be critical if an operator has just finished checking the problem). The influence may also go the other way: data may 4
The The WSML WSML2O 2OWL WL tran transl slat ator or — wsml2owl-translator/v0.1/.
http://tools.sti-innsbruck.at/wsml/
60
5. ONTOLOGY
5.4. REPRESENTATION OF SEMTASK
lead lead to the execut execution ion of activi activitie ties. s. One such such example example could be a sensor sensor showin showingg levels levels above above the predefi predefined ned thresh threshold old that that would would automat automatica ically lly trigger a task to address the problem. Common data and workflow representation G2 of IO includes a more tightly integration of vendors and other third party companies. companies. A standard for data integration integration is therefore crucial to be able to collaborate. collaborate. Using Semantic Semantic Web Web technology technology has been suggested for the Norwegian petroleum industry [Gulla et al. 2006]. 2006]. Ther Theree are sev several eral 5 ongoing ongoing ontolo ontology gy projects projects includ including ing OLF’s OLF’s datain datainteg tegrati ration on project project and the ISO 15926 project. Howeve However, r, SemTask SemTask takes this even further by also making the workflow workflow itself common for the different different parties. Now different different tools, tools, formats formats,, and workflo workflow w product productss are used by the differe different nt oil and gas participants. participants. A common workflow workflow and data, represented represented as ontologies ontologies,, through the entire collaboration chain between the different parties will take IO one step closer to G2. Not only is there a common vocabulary, but also a logically consistent meaning of the terms in the vocabulary. Data source source classificat classification ion Data sources should be classified in a taxonomy, and should in addition have relations between themselves. This will make SemTask able to suggest data sources in different situation. For instance, if one does not have access to some piece of information one might be interested in the information located higher up in the taxonomy. taxonomy. One may not have access access to a specific producti production on plan for a specific specific day. day. SemT SemTask may then infer that a more general production plan for the week might be interesting. Similarly, if the production plan is available and an operator asks for it, SemTask may then suggest suggest related related data that might might be interesti interesting, ng, like like different different trend analyzes. analyzes. Ontologies are a very good solution for this. Data integration One of the major benefits of using ontologies instead of an ad-hoc data model for SemTask is the ease of data integration. OWL OWL is also also used used to ma mak ke ontol ontolog ogie iess for for data data inte integr grati ation. on. It mak makes es it possible to map information from one source to information from another source, even if their syntactical representations are not equal. 5
http://www.olf.no/io/datai http://www.olf.no/io/dataintegrasjon/ ntegrasjon/ for for more more info informa rmati tion on about about the the dataintegration project.
61
5. ONTOLOGY
5.4. REPRESENTATION OF SEMTASK
Why OWL? OWL is chosen as ontology language for several reasons. It is by far the most used ontology language [Cardoso [Cardoso 2007]. 2007]. RDFS is not expressive enough. Its lack of expressiveness for several use cases identified by the Web Ontology Group of W3C6 ultimately resulted in using DAML+OIL [Horrocks 2002] as the starting point for creating OWL. As OWL is the most used ontology language, language, and also a W3C recommendation recommendation this leads to the developmen developmentt of tools, research and a good community in the context of ontology engineering. In addition, the Norwegian oil industry has decided to rely on the Semantic Web technology as a platform for future Integrated Operations [Strasunskas and Tomassen 2007]. 2007].
6
http://www.w3.org/2001/sw/WebOnt/ 62
Chapter 6
SemTask ontologies So far we hav have pres presen ente ted d onto ontolog logie iess in gene general ral.. Ho How w onto ontolog logie iess fit in the Seman Semantic tic Web, differe different nt langua languages ges used used for repres represen entin tingg ontolo ontologie gies, s, and reasons why OWL is the ontology language of our choice have been presented presented.. This chapter chapter follows this up by examining examining the developm development ent of each of the ontologies in SemTask, as well as development issues such as methodology methodology,, reuse, reuse, and other design decisions. decisions. We will outline outline what role each ontology ontology has in SemTask, SemTask, and how they relate to each each other. This is important as they form the foundation for executing the DPO-process.
6.1 6.1
Topolo opology gy
The topology of the ontologies in SemTask results from the fact that we wanted to clearly separate four different aspects: •
•
•
•
BPMN BPMN speci specific ficat atio ion n — The The foun founda dati tion on for repr repres esen enti ting ng BPMN BPMN diagrams. SemT SemTas ask k — An exte extens nsio ion n of the the BPMN BPMN speci specific ficat ation ion,, need needed ed to represent APOS-diagrams with additional semantics. Data — Describing data sources, and how different sources of data relate to one another. Execution — Used for representing state in a diagram.
This architecture is made with StatoilHydro in mind. However, it is possible for other other compan companie iess to use it. it. They They can start start by usin usingg the the BPMN BPMN and Execution module. This also makes it easier for the integration of workflow between different companies. An illustration of the topology is shown in figure 6.1. 63
6. SEMTASK ONTOLOGIES
6.2. DEVELOPMENT
Figure 6.1: The topology of the ontologies in SemTask We wanted a good process description language as a foundation, so we made an ontol ontology ogy based on the BPMN specifica specificatio tion. n. Using Using this ontol ontology ogy,, it is possible to describe specific business diagrams in RDF. However, to be able to describe the data sources in DPO, some extensions to the BPMN ontology were necessary. These extensions are included in the SemTask ontology. The SemTask ontology includes the BPMN ontology making it possible to model the APOS diagrams (for instance DPO) with specific documents like “Weekly P&I-plan” (see figure 4.3 on page 43 43), ), specifying documents to be shown shown for example. example. With both of these ontologie ontologies, s, it is possible to represent represent the workflow diagrams in RDF. The Data ontology describes different data sources and how they relate to one another. An instance of this ontology represents data sources found on a specific specific oil and gas platfor platform. m. The ontol ontology ogy is used with the Execution ontology to execute the diagrams and pass data from one task to another. The Execut Execution ion ontol ontology ogy extend extendss the SemT SemTask ontol ontology ogy opening opening for the possibility possibility to pass Decisions and Tasks with the use of data in the diagram.
6.2 6.2 6.2. 6.2.1 1
Dev Develop elopme men nt Tools ools
We used us ed Pro Pr ot´eg´ eg´e1 for editing the ontologies and Pellet 2 as reasoner since they are free (Open Source), of high quality, and fit our needs. 1
See [Noy et al. 2001] 2001] or http://protege.stanford.edu/ for more information information ab out ou t Pro P rot´ t´eg´ eg ´e. e. 2 See [Sirin et al. 2007] or the Pellet homepage: http://pellet.owldl.com/ for more information.
64
6. SEMTASK ONTOLOGIES
6.2.2 6.2.2
6.2. DEVELOPMENT
Meth Methodo odolo logy gy
When making the ontologies we followed mainly the development methodology described in [Noy [ Noy and McGuinness 2001]. 2001]. We used an iterati iterative ve approach proach and mai mainly nly followe followed d the phases phases:: determ determine ine scope, scope, consid consider er reuse, reuse, define taxonomy, define properties, define facets, define instances, and check consistency.
6.2.3 6.2.3
Upper Upper ontol ontologi ogies es
An upper ontology is a general framework of concepts [Russell [Russell and Norvig 2003]. 2003 ]. It consists consists of high level level concepts concepts such such as “Places” “Places”,, “Measuremen “Measurements” ts”,, “Physical Objects”, etc. Other ontologies may use these upper ontologies by letting letting the concepts defined in the ontology ontology extending extending concepts concepts in the upper ontol ontology ogy.. One could have have used used an upper upper ontolo ontology gy,, such such as The Standard Standard 3 4 Upper Ontology or Cyc , in our ontol ontologie ogies. s. Ho Howe weve ver, r, bringi bringing ng in upper upper ontologies at this stage would make the SemTask prototype unnecessary comple com plex. x. Differe Different nt upper ontologi ontologies es used by the differen differentt parties parties in IO could lead to different semantics for the same terms. Although some upper ontologies are used more than other there is currently no de-facto standard [Wikipedia [Wikipedia 2008b]. 2008b].
6.2. 6.2.4 4
Reu Reuse
There are mainly two different views on building ontologies based on reuse: “by assembling, extending, specializing and adapting, other ontologies which are parts of the resulting resulting ontology” ontology” or “by merging merging different ontologies ontologies on the same or similar subject into a single one that unifies all of them” [Pinto [Pinto and Martins 2000]. 2000]. We tried mainly to find ontologies in the area of workflow or something similar to BPMN to reuse in one of the two ways described. There There are severa severall sites sites one could could use to searc search h for ontol ontologie ogies, s, includ including: ing: 5 6 7 Swoogle , Schemaweb , the DAML.org ontologies site , and normal search engines such as Google. Concerning the BPMN ontology the only ontology we found was the sBPMN ontology. ontology. sBPMN uses WSML instead of OWL, which which is one of the reasons reasons for not using using it. A com compari parison son of our ontology ontology and sBPMN is presented in section 6.4.6. 6.4.6. 3
http://suo.ieee.org/ http://www.opencyc.org/ 5 http://swoogle.umbc.edu/ 6 http://www.schemaweb.info/ 7 http://www.daml.org/ontologies/ 4
65
6. SEMTASK ONTOLOGIES
6.3. ONTOLOGY STATISTICS
One aspect of making ontologies is reusing existing ontologies, another is making the resulting ontology easy to reuse. Related to the latter is ontology modularization, which is the mechanism to extract only a subset, an ontology module, of the original ontology [Pinto and Martins 2000]. 2000]. Talking alking about about composing composing and decomposing ontologies ontologies it is argued that: “ontologies “ontologies cannot be decomposed decomposed into semanticall semantically y distinct distinct components, components, we cannot predict predict the scope of a (local) change, and how to reuse parts of ontologies or safely compose them are open problems” [Sattler [Sattler et al. 2006a]. 2006a]. We have therefore not made any effort to make the ontologies easily accessible for reuse. The BPMN ontology is relatively relatively small in size and is a general formalization formalization of BPMN. Others may use it for their ontology integration, and it can be argued argued that when a small small set of modular modular,, highly highly reusable reusable ontologie ontologiess are available, large ontologies for specific purposes can more easily be assembled. Ontol Ontology ogy modular modulariza ization tion is a com comple plex x area, area, and differe different nt approac approaches hes are used to accomplish ease of ontology integration. 8
6.2.5 6.2.5
Other Other design design decisio decisions ns
There are many design decisions to make while creating an ontology. One of the simplest simplest is naming naming conven convention tions. s. We have have chosen chosen to use singular singular for class names as it is most used in practice [No [ Noy y and McGuin McGuinnes nesss 2001 2001]]. We use UpperCamelCase UpperCamelCase for classes classes and lowerCame lowerCamelCase lCase for properties. properties. Individuals (instances) in the ontologies are named using UpperCamelCase, while instances in the RDF-documen RDF-documents ts are named using lowerCame lowerCamelCase lCase.. In each of the ontologies we decided to have one super-class that all the other classes extended, one super-property for all the object properties and one super-prope super-property rty for all the dataty datatype pe propertie properties. s. We did so to organiz organizee the properties and classes in the different ontologies.
6.3
Ontol On tology ogy stati statisti stics cs
Listed below are some statistics showing how many classes, properties, and individuals each ontology have. It gives an indication of their sizes compared to each other. Classes Data Properties Object Properties Individuals 8
BPMN BPMN 77 4 13 8
Data Data 15 7 16 0
SemT SemTas ask k 18 18 6 6 6
Exec Execut utio ion n 11 4 17 0
For more information information about ontology ontology modularization modularization see [Sattler et al. 2006b]. 2006b ]. 66
6. SEMTASK ONTOLOGIES
6.4 6.4
6.4. BPMN ONTOLOGY
BPMN BPMN On Onto tolo logy gy
As seen in the SemTask scenario (chapter 4), we need a formalization of the workflo workflow w for the SemTask SemTask applicat application ion to work. work. We will will achie achieve ve this formalization formalization by creating an ontology ontology describing describing workflows. workflows. The ontology is based upon the Business Process Modeling Notation (BPMN), which was discussed in section 3.7, and has been written in OWL-DL. Repres Represen entin tingg BPMN BPMN in OWL OWL has already already been sugges suggested ted [ Endert et al. 2007], 2007 ], and some preconditions have been set on how the ontology should be [Hepp and Roman 2007]. 2007]. Most of the literature on using semantic technology in terms of workflow stems from Semantic Business Process Management (SBPM) [Hepp et al. 2005] 2005] and Semantic Web Services (SWS) [ Cabral et al. 2004]] which is more about orchestrating Web Services and less about human 2004 interaction than what we need for SemTask. All All the the elem elemen ents ts of BPMN BPMN hav have been been form formal aliz ized ed.. Only Only a part part of the the ontol ontology ogy is used used in model modelin ingg the the DPO DPO workflo orkflow. w. But But by modeli modeling ng the the entire specification, we have a good foundation for extending the SemTask applic applicati ation on with with more BPMN BPMN elemen elements ts (e.g., (e.g., except exception ions, s, message messages, s, and loops). loops). BPMN BPMN is also a wellwell-kno known wn industry industry standard standard,, and can be used used by all the different parties in future G2 of IO. Specific extensions of BPMN can be layered on top in the SemTask ontology as described in section 6.5 6.5.. The The onto ontolo logy gy as a whol wholee can can be foun found d in appe append ndix ix A.1 on page page 113. An exampl examplee where where this this ontol ontology ogy (and (and the next next Seman Semantic tic Task Support Support Ontology) is in use can be found in appendix B.1 on page 132 where an RDF-document encoded in N3-format of the DPO-workflow is found.
6.4.1 6.4.1
Overa Overall ll strate strategy gy
Scope Our Our goal goal for for the the onto ontolo logy gy is to be able able to crea create te an RDF RDF docum documen entt repres represen entin tingg a BPMN BPMN diagram diagram.. There There are severa severall details details in the BPMN specification that could be modeled; however, the gain for this project would be smal small. l. Ther Theree is also a rule rule of thumb thumb to only only model model at mo most st one extra extra level of detail [Noy [Noy and McGuinness 2001] 2001 ] of what the ontology is used for. Data model vs. reasoning model One must choose if the ontology should should be used primarily primarily as a data model or as a reasoning model. We tried to accomplish accomplish both. This lead to the decision decision
67
6. SEMTASK ONTOLOGIES
6.4. BPMN ONTOLOGY
to use OWL-DL, which is decidable but still pretty expressive resulting in the fact that we get an ontology for the BPMN specification that can be reasoned reasoned upon.
6.4. 6.4.2 2
Clas Classe sess
The first step was to go through the BPMN Specification [ OMG 2006], 2006], find concepts and make them into OWL-classes. The top class in our hierarchy is BPMNElement . We made four subclasses subclasses of this class, representi representing ng the four groups all BPMN-elemen BPMN-elements ts may be b e placed within: (some direct subclasses subclasses in parenthesis) •
Artifact (Annotation , DataObject , Group )
•
Connecting (Association , MessageFlow , SequenceFlow )
•
Flow (Activity , Event , Gateway )
•
Grouping (Lane, Pool )
All these classes classes are disjoint. disjoint. The subclasses subclasses of Artifact and Grouping are pretty much self-explanatory. Flow and Connecting howeve howeverr have have some design decisions worth mentioning. Flow The flow class represents the flow objects in BPMN. It is a defined class, and all its members members must must be in a lane. lane. All its subclasse subclassess are disjoin disjointt from one another. These are the subclasses of Flow: •
Event
•
Activity
•
Gateway
There are two ways the BPMN-events may be divided into different groups. Either they may be divided into different groups according to what the BPMN-specific BPMN-specification ation calls “main types” types” (Start, Intermedia Intermediate te or End) or they may be divided according to what type of event they are (e.g., cancel-event or timer-event) timer-event).. An example of three types of events events is found in figure 6.2 on the follow following ing page. page. To model model these these event events, s, one may use one of three three approaches: 1. Just use inheritance inheritance (needs (needs multiple inheritance inheritance)) 2. Use fields of an enumerated enumerated type type
68
6. SEMTASK ONTOLOGIES
(a) (a) TimerS TimerSta tartE rtEve vent nt
6.4. BPMN ONTOLOGY
(b) (b) TimerI TimerIn nterme termedi diat ateEv eEven entt
(c) (c) Error ErrorEn EndEv dEven entt
Figure 6.2: Three kinds of BPMN-events 3. A mixture of the two former former (inheritance (inheritance from one class and one field of an enumerated type) The second second approac approach h has been used used in both wsper.org’ wsper.org’ss meta-m meta-model odel of BPMN [Jean-Jacques [Jean-Jacques Dubray 2007] and in the meta-model found in OMG’s upcomin upcomingg BPMN BPMN 2.0 specific specificati ation on [OMG 2007]. 2007]. This This appr approac oach h has the adv advantag antagee that that the the resu result lt will will hav have fewe fewerr clas classe sess than than with with the the other other appro approac ache hes. s. It also also has has the the adv advanta antage ge over over the the first first appr approac oach h that that it may directly be mapped to a language which does not support multiple inheri inheritan tance ce (e.g. Java). Java). Ho Howe weve ver, r, our choice choice was the first approach approach — inheritance. The reasons for why we chose multiple inheritance were twofold: First of all it feels intuitive intuitive and second, OWL-DL OWL-DL supports it. A convention convention in ontology making is to have all subclasses to be a “is-a” relation to its super super class. class. If it feels unnatura unnaturall to say say subclas subclasss B “is-a “is-a” ” A (which (which is the super class) one might want to reconsider reconsider the hierarch hierarchy y. The modeling of BPMN events events using multiple multiple inheritance inheritance supports this conventi convention. on. Also, the the num number of clas classe sess did did not not grow grow to an unac unacce cept ptab able le leve level. l. As basebaseclasses for the events we made all the main types, as well as all the event types. types. The concre concrete te event eventss are inheri inherited ted from two two of these groups groups.. For instan instance, ce, ErrorEn ErrorEndEv dEven entt inheri inherits ts from from the class class EndEv EndEven entt and the class class ErrorEv ErrorEven ent. t. Not all combin combinatio ations ns are valid. valid. For instance instance,, the BPMNBPMNspecification does not allow an event that has main-type end, and event type timer, no TimerEndEvent is therefore found in our ontology. This type of restriction would have required more work to model if we had not chosen a multiple multiple inheritance inheritance approach. An intercept intercept of the OWL-code describing describing events can be found in listing 6.1 on the next page. A BPMN-activity can be either a Task or a Sub-Process, depending on if it is compound or not. An activity activity can be one of: “normal”, “normal”, “looped”, “looped”, “multiple “multiple instance” instance”,, or “compensation” “compensation”.. A sub process can be all these, in addition to type “ad-hoc”. “ad-hoc”. Each activity activity,, independent independent of being task or sub-process, sub-process, has a type that can be: “Service” “Service”,, “Receive “Receive””, “Send”, “Send”, “User”, “User”, “Script” “Script”,, “Manual” “Manual”,, “Reference” “Reference”,, or “None” describing describing how it should be executed. Here, we have have the same modeling alternatives as with the events. Modeling this with just inheritance inheritance would would require about 100 classes. We chose therefore to model
69
6. SEMTASK ONTOLOGIES
6.4. BPMN ONTOLOGY
Listing 6.1: Some of the OWL-code regarding the Events #E v en en t M ai ai n t y p e s : Class ( a : S t a r t E v e n t p a r t i a l a:Event) Class ( a : I n t e r m e d i a t e E v e n t p a r t i a l a:Event) Class (a:EndEvent p a r t i a l a:Event) #Some e v e n t t y p e s : Class ( a : E r r o r E v e n t p a r t i a l a:Event) Class (a:TimerEvent p a r t i a l a:Event) #( . . . ) #Some ev en ts : Class (a:ErrorEndEvent p a r t i a l a:ErrorEvent a:EndEvent) Class ( a:TimerStartEvent p a r t i a l a:TimerEvent a:StartEvent ) Class ( a : T i m e r I n t e r m e d i a t e E v e n t p a r t i a l a:TimerEvent a:IntermediateEvent ) #( . . . )
70
6. SEMTASK ONTOLOGIES
6.4. BPMN ONTOLOGY
Listing 6.2: Some of the OWL-code regarding the Activities #D e f i ni n i t i o n o f t he h e v al a l u e p a r t i t i o n : A ct c t iv i v it i t yT y T as a s kT k T yp yp e Class ( a : A c t i v i t y T a s k T y p e complete oneOf ( oneOf ( a :N : N on on e a : Us U s e r a :M :M a nu nu al al a : R ec e c e i ve ve a : S c r i p t a : S e r v i c e a : S en en d a : R e f e r e n c e ) ) ObjectProperty ( a : h a s A c t i v i t y T a s k T y p e Functional w l : Th Th i ng ng a : A c t i v i t y ) ) domain( domain ( unionOf ( o wl range ( a:Activity TaskTyp e ) ) #An e xa x a mp m p le l e o f an a c t i v i t y Class ( a : C o m p e n s a t i o n A c t i v i t y p a r t i a l a:Acti vity ) Class ( a : S u b P r o c e s s p a r t i a l r e s t r i c t i o n ( a : h a s S t a r t E v e n t c a r d i n a l i t y (1) ) a:Acti vity ) Class ( a : C o m p e n s a t i o n S u b P r o c e s s p a r t i a l a:SubProcess a:Compensation Activity )
Listing 6.3: Example RDF-N3 code of a ServiceCompensationSubProcess : exampleCompSubProcS exampleCompSubProcService ervice a bpmn: CompensationSubProcess ; bpmn: hasAc tivi tyTas kType bpmn: Ser vi ce ; # ( m or or e p r o p e r t i e s h e re re ) .
the execution-t execution-type ype as an enumerated enumerated field. In listing 6.2 one can see some of the OWL code making up the activities, and in listing 6.3 one can see how a compound service sub-process looks like in RDF. Gateways Gateways are pretty straightforw straightforward ard to model. The Gateway class has two subclasses subclasses named MergeGateway and ParallellForkOrJoinGateway . The MergeGatew MergeGateway ay has OrMergeGateway and XorMergeGateway as its subclasses. The ParallellForkOrJoinGateway has two defined subclasses, a ParallellForkGateway , which is defined as a ParallellForkOrJoinGateway with more than one SequenceFlow coming out of it, and a ParallellJoinGateway , which is defined as a ParallellForkOrJoinGateway with more than one SequenceFlow coming in to.
71
6. SEMTASK ONTOLOGIES
6.4. BPMN ONTOLOGY
Listing 6.4: An example of a sequence flow : implementInitiativeToOptimalProduction a bpmn: ConditionalSequenceFlow ; bpmn : c o nn nn e ct ct e dF dF ro ro m : d e c i s i o n I m p l e m e n t I n i t i a t i v e ; bpmn: connectedTo connectedTo : opti malPr oduct ion ; bpmn: has Con dit ion "No" ˆ ˆ xs xs d : s t r i n g .
Connecting Connec Connectin tingg is the group group of differe different nt sequen sequence ce flows flows (Normal (Normal,, Defaul Defaultt or Conditional) Conditional),, message message flow and association (directed (directed or undirected) undirected).. The first first intui intuitiv tivee approac approach h to model model this this is to use OWL-p OWL-prope ropertie rtiess instead instead of havi having ng them them as clas classe ses. s. Ho Howe weve ver, r, if we want ant to attac attach h attri attribu bute tess to these sequence flows — such as name, id, conditions, etc., we would have to use OWL-F OWL-Full ull since since OWL-D OWL-DL L does not support support adding adding propert properties ies to properties. properties. Modeling these as classes would fix this problem, problem, but resulting resulting in the ontology being more complicated. The RDF documents based on the ontol ontology ogy would would also also be more complic complicate ated. d. Ho Howe weve ver, r, as a result result of using using OWL-DL, these drawbacks had to be included in the ontology. In listing 6.4 one one can can see see the the RDF RDF code code for the the sequ sequen ence ce flow flow betwe between en “Impl “Implem emen entt initiativ initiative?” e?” and “Optimal “Optimal production” from the BPMN-diagram BPMN-diagram found in figure 4.3 on page 43. All the connecting classes: SequenceFlow , MessageFlow , and Association are sub-cl sub-class asses es of Connecting . The The subsub-cclas lasses ses of SequenceFlow are: NormalSequenceFlow , DefaultSequenceFlow , and ConditionalSequenceFlow .
6.4.3 6.4.3
Prope Propert rtie iess
The datatype properties in our ontology are straight forward and consist of: •
hasCondition: used for setting conditions on properties
•
hasMessage: used for specifying messages on message flows.
•
hasName: used for setting the name of the elements, like “Follow-up” or “New initiativ initiative” e”..
They are all functional and have all String as range. The object properties and their inverse: •
hasActivityTaskType: used to specify the activity task type
72
6. SEMTASK ONTOLOGIES
•
•
6.4. BPMN ONTOLOGY
hasSta hasStartE rtEve vent nt:: used used to specify specify the start event event that begins a subsubprocess hasConnecting ⇔ connecting. connecting. With sub-properties sub-properties:: – hasConnectingTo ⇔ connectingTo – hasConnectingFrom ⇔ connectingFrom
•
isInLane ⇔ hasObject: specifies which lane a BPMN-element is in
•
isInInPool ⇔ hasLane: specifies which pool a lane is in
bpmnStartEvent is both functional and inverse-functional (a sub-process can only have one start-event which is the beginning of that sub-process, and that start-event can only be a part of one sub-process). isInLane, isInPool, connectedTo, hasActivityTaskType are all functional.
6.4.4 6.4.4
Deviat Deviation ionss from from the BPMN BPMN speci specifica ficatio tion n
We have made the restriction that a subprocess must have one, and only one, start event event that starts the entire process within. within. This is accomplished accomplished by adding the property hasStartEvent having SubProcess as domain and StartEvent as range. The property is added as a necessary condition on the class SubProcess with the cardinality of 1.
6.4.5 6.4.5
BPMN BPMN as lang langua uage ge
BPMN BPMN is a notati notation, on, and not a languag language. e. As a result result of this, no standa standard rd storage format exists exists at the moment. moment. There are however however work going on to create create such such a format, format, but there there are weakn weakness esses es in all of them. them. XPDL 2.0, OMG’s BPDM, and Intalio’s Intalio’s XML are three proposals. proposals. To create a portable format for the BPMN diagrams a unique mapping from the diagram to the storage format is necessary. necessary. This storage format could for example be XML. It has been argued that the format should reflect reflect the terminology terminology and semantics semantics of the diagram, diagram, and that neither of XPDL 2.0, OMG’s BPDM nor Intalio’s XML does so [Silver [ Silver 2007]. 2007]. By making an ontology from BPMN we have made it into a vocabulary with strong semantics. The storage format could then be in any of the RDF syntax formats such as: •
N3
•
Turtle
•
RDF/XML
73
6. SEMTASK ONTOLOGIES
6.4. BPMN ONTOLOGY
Our format supports supports most most of BPMN’s BPMN’s semantic semantics. s. What What it curren currently tly does not support is the graphically placements (i.e. x and y coordinates) and sizes of the elemen elements. ts. This This is somethin somethingg that that should should be addres addressed sed before before it can be used as a standard for serializing BPMN diagrams. By specifying the standard in an ontology instead of an XML Schema (such as XSD), one can express the standard on a higher level of abstraction. [Klein et al. 2001] 2001 ] Using an ontology to specify a storage format and for instance RDF/XML to serializing the diagrams have several advantages: •
•
•
Unambiguous syntax Tool support (for instance automatic generation of Java classes out of the ontology) Seman Semantic tic chec checks ks (for (for instan instance ce that that a stop-e stop-eve vent nt cannot cannot have have any any sequence flows from it. These types of checks can easily be done with already built libraries/reasoning engines.)
6.4.6 6.4.6
Compar Comparison ison to the the sBPM sBPMN N ontol ontology ogy
We found another BPMN ontology called sBPMN [Abramowicz [Abramowicz et al. 2007]. 2007]. 9 This ontology was created as a part of the SUPER research research project. project. The ontol ontology ogy is a part part of a large largerr stac stack k of onto ontolog logie iess that that aims aims at brin bringi ging ng semantics to Business Process Management (BPM). As mentioned earlier, Semantic Semantic BPM deals with orchestrat orchestrating ing web services. services. The ontology language used for sBPMN is WSML FLIGHT, which is not comp compat atib ible le with with OWL. OWL. Ho Howe wev ver, er, it give givess sens sensee to loo look k at some some of the the similarities and differences between our BPMN ontology and the sBPMN ontol ontology ogy.. Ma Many ny of the the same same desi design gn deci decisi sion onss were ere ma made de with with the the two two ontologies. ontologies. For instance, instance, the Events Events were modeled as multiple multiple inheritance, inheritance, SequenceFlows as classes, and both ontologies had about the same class hierarchy hierarchy.. Howeve However, r, while our approach was to create an ontology which model modelss the the BPMN BPMN-s -spec pecifi ifica cati tion on as clos closee as possi possibl ble, e, the the sBPM sBPMN N is an ontology ontology with some practical concepts concepts not found in the BPMN-specific BPMN-specification ation added. For instance, we find concepts such as Participant, Transaction, and WebService, ebService, which are not found in the BPMN-specific BPMN-specification. ation. 9
SUPER is an abbreviation for Semantic Utilised for Process Management within and between Enterprises — http://www.ip-super.org.
74
6. SEMTASK ONTOLOGIES
6.5
6.5. SEMANTIC TASK SUPPORT ONTOLOGY
Seman Semantic tic task task support support ontol ontology ogy
The purpose of the SemTask ontology is to extend the BPMN ontology so that one can model the DPO-process with specialized data elements, and also put extra classes which which are not part of the BPMN specification. specification. With only the BPMN ontology one cannot represent the specific data elements like “Weekly “W eekly P&I plan” in other ways than just stating stating that it is a DataObject . Since the ontology is small one might ask why it has not directly been included in the BPMN ontology. The main reason for this is that we wanted to clearly separate the BPMN specification from the other parts of SemTask. Therefore, possible future extensions of the BPMN ontology should be placed in this ontology. The idea of this extension is based on the fact that in the DPO there are activi activitie tiess that use a fixed fixed set of data. data. If we look at the BPMN BPMN diagrams diagrams (see figure 4.3 on page 43 43)) we find three types of data usage — either a type of document (e.g., “Weekly P&I plan”), a computer application (e.g., “MaxPro”) or generated data (“Optimization Potential”). The OWL-ontology can be found in appendix A.2 on page 122. An example where this ontology is in use can be found in appendix B.1 on page 132 where an RDF-document of the DPO-workflow is found.
6.5. 6.5.1 1
Clas Classe sess
The ontology has classes which extend the DataObject class from the BPMN ontology ontology with specific documents. documents. The documents documents defined in the ontology are: URLBasedDocument , ApplicationDocument , and FormDocument . Thes Thesee clas classe sess are all disj disjoi oint nt from each each other other.. The The ontol ontolog ogy y also also has has a class related to the FormDocument: Field . A URLBasedDocument represents a document that may be accessed with a given URL. Examples of these are normal web pages (either on intranet or on the internet), or PDP workspaces. Local files can also be represented with a URL (e.g., file:// ). An ApplicationDocumen ApplicationDocumentt represents represents a description of how to execute a program. It typically has a URL pointing to where the executable program is, along with a list of program parameters that should be passed to the program. A Form ormDocu Docum ment ent rep represe resen nts a form form to be fille filled d out. out. An examp xample le of use use in DPO DPO is the the “O “Opt ptim imiz izat atio ion n Poten otenti tial al””-dat -dataa sen sent from from the the activities “Production follow-up” and “Continuous production supervising” to “Proposition “Proposition for initiativ initiative” e”.. The idea is that “Optimizati “Optimization on Potenti Potential” al” coul could d be model modeled ed as docum documen entt form. form. It cons consis ists ts of field fieldss lik like “Nam “Namee of
75
6. SEMTASK ONTOLOGIES
6.5. SEMANTIC TASK SUPPORT ONTOLOGY
Listing 6.5: A FormDocument in RDF : o p t i m i z a t i o n P o t e n t i a l a sem tas k : FormDo FormDocum cument; ent; bpmn: hasConnectingFrom : optmizationPotentialToPropositionForInitiative ; bpmn: hasConnectingTo : c o n t i n u o u s P r o d u ct c t i o n S u p e r v i s i n g T o O pt pt m i z a t i o n P o t e n t i a l , : productonFollowUp ToOptmizationPot ential ; "Optimization Potential" Potential" ˆ ˆ x s d : s t r i n g ; bpmn: bpmn: hasName hasName "Optimization s e m ta ta s k : h a s F i e l d : e s t i m a t e d R i s k , : estimatedV alue , : longDescript ion , : s h o r t D e s cr cr i p t i o n . : s h o r t D e s c r i p t i o n a semtask : Fie ld ; "Short descri descripti ption on of the the optimi optimizat zation ion semt ask : hasN hasNam amee "Short potential" ˆ ˆ x s d : s t r i n g ; s em e m t as a s k : i s In I n F or or m : o p t i m i z a t i o n P o t e n t i a l . : e s t i m a t e d V a l u e a semtask : Fie ld ; "Estimated ted Value Value in NOK" NOK" ˆ ˆ x s d : s t r i n g ; semt ask : hasN hasNam amee "Estima s em e m t as a s k : i s In I n F or or m : o p t i m i z a t i o n P o t e n t i a l . #( m or ore f i e l d s . . . )
Listing 6.6: The definition of DecisionGateway Class ( a:Decisi onGateway complete intersectionOf (b:Gateway intersectionOf (b:Gateway r e s t r i c t i o n (b:hasConnectingFrom allValuesFrom( b:ConditionalS equenceFlow ) ) restriction ( b:hasConnectingFrom minCardinality (2 ) ) ) )
proposal”, proposal”, “Estimated “Estimated value” value”,, etc. An intercept intercept of the RDF-code forming forming this FormDocument is found in listing 6.5 6.5.. The The onto ontolo logy gy is also also me mean antt to hav have gene genera rall exte extens nsio ions ns of the the BPMN BPMN specification specification (e.g., the DecisionGateway class). It defines gateways where a user needs to do a decision decision (e.g. “Implemen “Implementt initiativ initiative?” e?”), ), and has least two conditional sequence flow going out from it. The definition can be found in listing 6.6 6.6..
6.5.2 6.5.2
Prope Propert rtie iess
The datat datatype ype properti properties es are: are: programParameters, URL, hasName, and and have already been explained. explained. isBeginningEvent . The two former properties have hasName is used to set the name of a field. isBeginningEvent is a property 76
6. SEMTASK ONTOLOGIES
6.6. DATA ONTOLOGY
that is set on the BPMN start event if it is the start event of the entire diagr diagram am.. It is benefic beneficia iall to hav have suc such a proper property ty when when one looks looks at the the execution of a diagram. The only object property in the ontology is hasField . It has FormDocument ormDocument as domain and Field as property.
6.6 6.6
Data Data onto ontolo logy gy
This section presents the ontology used for representing the data sources that that are neede needed d for for the the SemT SemTas ask k scen scenari arioo to work work.. The The purpo purpose se of the the ontology is to provide the users of SemTask options for further evaluating decisions and tasks by looking at relevant data sources to the ones the users have have looked at. The previo previousl usly y mentio mentioned ned scenario scenario contai contains ns exampl examples es of suggestions of data sources. The ontology can be found in appendix A.3 on page 125 125,, and an example RDF-document using the ontology is found in appendix B.2 on page 151 151.. The The data data sour source ce onto ontolo logy gy is only only me mean antt to cov cover a subs subset et requ requir ired ed for for SemT SemTask. ask. The scope is limited limited to deal deal with with the work work process process DPO, and the functionalit functionality y mentioned mentioned in the SemTask SemTask scenario. scenario. As the ontology ontology is made without help from domain experts, only very simple mappings are made. Ultimately Ultimately,, a more comprehensiv comprehensivee ontology should be created. created. This ontology might reuse some ideas from PRODML, or some concepts from the ambitious ISO 15926 Ontology, and it should be created with much more interaction with domain experts. The Data ontol ontology ogy is inheri inherited ted in the Execut Execution ion ontol ontology ogy,, and used by properties properties there. How the Data ontology in the Execution ontology ontology works will be explained in section 6.7 6.7.. The Data ontology is an ontology concerning data sources, and is not an ontol ontology ogy of data data itse itself lf.. This This ma mak kes an inst instan ance ce of the the onto ontolo logy gy able able to express express different types of data sources (e.g., sensors), where they are placed, placed, how they are related to one another, and how one could access data from these data sources (i.e., a PDP-ID). If one would like to refer to a concrete measurement, one could refer to the data source and the exact time of the measurement. There There are several several reasons reasons for not using using the production production data direct directly ly in SemTask. As previously described in section 2.3.3 on page 14, StatoilHydro’s PDP application has optimized the flow and processing of data by having one centralized access point for it, along with several standardized applications to present the information. When decisions in a workflow are connected to
77
6. SEMTASK ONTOLOGIES
6.6. DATA ONTOLOGY
Figure 6.3: A UML class diagram representing the data model the sources of data being used at different times, one could easily use the existing tools to look at this data. This is beneficial since one does not need to create these tools again, and since operators at StatoilHydro are used to a set of tools, and do not want to use time to learn new ones. We decided to model the concepts with their properties and relations as a data data model model repres represen ente ted d in UML first first.. By doing doing this this it is easier easier to get get a sense of how the data sources are related to one another, compared to what it is descri describin bingg it with text. text. It turns out that the Data ontolo ontology gy is very very simple, and can be almost directly mapped from the UML representation to an ontology.
6.6. 6.6.1 1
Data Data mode modell
Before creating an ontology for the data needed to represent the SemTask scen scenari ario, o, we will pres presen entt a mo more re simp simpli lifie fied d data data model model as a UM UML L Clas Classs Diagram Diagram.. The diagram, diagram, which which is found in figure figure 6.3 6.3,, is a basic description of the data sources needed, and how they relate to one another. We have two types of wells: wells: injection injection wells and production wells. We have sensors that either may be on a well or on a topside production facility. These topside production facilities may be things like a separator, a water cleaner, tanks, and so on. Both well and sensor classes are constructed in a hierarchy using multiple inheritance.
78
6. SEMTASK ONTOLOGIES
6.6.2 6.6.2
6.6. DATA ONTOLOGY
The The Data Data On Ontolog tology y in OWL OWL
We will not go into too much detail on how the conversion from the UML Clas Classs Diag Diagra ram m to an OWL WL-D -DL L is done. done. The The ma main in reas reason on is that that the the conversion is pretty straight forward, like the class Well and the subclasses ProductionWell and InjectionWell converts to exactly that in the ontology with with the two two subclas subclasses ses disjoin disjoint. t. This This can also be read by looking looking at the OWL code. This is valid for most of the data model. Classes The classes are more or less taken directly from the UML-diagram. Properties There are two datatype properties in the ontology. Both are functional: •
•
hasDes hasDescri cripti ption: on: used used to attach attach a short short descripti description on of a given given data source hasPDPId: used to set the PDP-id of the data element
The object properties are: •
•
•
•
artifactBelongsTo ⇔ hasA hasArti rtifa fact ct:: used used to set set whic which h platf platform orm an artifact belongs to isLocatedOn ⇔ hasSensor: used to set where a sensor is located, i.e., a well, an artifact or just a platform wellBelongingTo ⇔ hasWell: hasWell: sets which platform platform a well well is connected to relevantData : set relevant data. Sub-properties: – relevantArtifact: used to connect relevant artifacts together. – relevantSensor: used to connect relevant sensors together. – relevantWell: used to connect relevant wells together. If two wells are very close to each other for instance, they may be relevant to one another. another.
The The first first thre threee of the the objec objectt prope propert rtie iess are are func functi tion onal al.. properties properties are symmetric symmetric and transitiv transitive. e.
79
The The last last four four
6. SEMTASK ONTOLOGIES
6.6.3 6.6.3
6.7. EXECUTION ONTOLOGY
Instan Instances ces of the ontol ontology ogy
An instance (an RDF document using the ontology) of the Data ontology will typically be a description of an oil and gas platform. This instance will be reused in the execution of all work processes related to that platform. The instan instance ce will will have have informa informatio tion n of which which wells wells,, topside topside artifac artifacts, ts, and sensors sensors availabl availablee on that platform. platform.
6.6.4 6.6.4
Exte Extens nsio ions ns
As mentio mentioned ned,, this this ontol ontology ogy is made made withou withoutt inter interacti action on with with domain domain experts experts.. This This mak makes es it less less inter interest esting ing than it could could have have been. been. Further urther extensions of the ontology could be made by having more classes, especially defined defined ones. What also can take this ontology further further is the introduction introduction of logical rules. Rules will be discussed in section 7.2. With rules one may state terminologic terminological al knowledge knowledge such as “If a sensor sensor x is of type TempSe TempSensor nsor and is located on Well y, and one has another sensor z of type PressureSensor also located on y, then: x isRelevantTo z.” These kinds of statements would make the ontology more useful as one would not need to state all the isRelevantTostatement statementss explicitly explicitly for each sensor, for instance. instance.
6.7 6.7
Exec Execut utio ion n onto ontolo logy gy
With the two ontologies: BPMN and SemTask, we can represent a workflow diagram that represents the BPMN-extended SoluDyne diagrams previously seen in figure 4.3 on page 43. In other words, with the ontologies it is possible to represent a static picture of a workflow like the DPO. But some of the functi functiona onalit lity y of SemT SemTask relies relies on the notion of state, state, and the dynamic dynamic behavio behaviorr of a process process.. This This is someth something ing which which is not found found in the BPMN specification specification [Wohed et al. 2006], 2006], and therefore not in our BPMN-ontology either. either. The Execution Execution ontology ontology is introduced introduced for making making SemTask SemTask capable of representing state in an execution of a workflow. This section section gives an overview overview of the ontology. ontology. As the ontology ontology forms the foundation of workflow diagram execution, it can be illuminating to explain the overall overall idea of execution first. This idea evolved evolved during during our work, work, and will will be explai explained ned.. Ho How w it evolv evolved ed will, will, as it clarifi clarifies es some of the design design decisi decisions ons of the execution execution ontology ontology itself, itself, be descri described. bed. Rules Rules are used in the execution engine of the SemTask application, and will be thoroughly explained in chapter 7.
80
6. SEMTASK ONTOLOGIES
6.7.1 6.7.1
6.7. EXECUTION ONTOLOGY
The The ov overal eralll ide idea a
Maybe the most intuitive approach of representing workflow diagram states would ould be to hav have a stat status us attr attrib ibut utee on eac each of the the elem elemen ents ts,, in the the workflow workflow diagram, diagram, denoting the state they are in. Elements Elements meaning: meaning: tasks, tasks, subtasks, gateways, and events. The status attribute would typically be an enumeration of: •
Ready: It is ready to be started.
•
Ongoing: Someone is currently working with this task.
•
•
Waiting aiting:: It is not possible possible to start start the task task at the mom momen ent, t, and its neither finished nor ongoing. Finished: The task is finished.
The activitie activitiess would would then chang changee their their status status during the execut execution ion of a workflow workflow.. One example would be the “Production “Production optimization optimization meeting” task. task. It would would initial initially ly have have the the statu statuss of Ready when when the workfl workflow ow is initialized, changed to Ongoing as the meeting starts, and to Finished when the meeting is finished. Then subsequent tasks will automatically be started by changing their status from Waiting to Ready . Data Data sour source cess would ould only only be conn connec ecte ted d to the the acti activi viti ties es that that use use or produce them. An example example is the “Topside “Topside production optimization” optimization” task, task, which which produces “Production “Production increasing increasing initiative initiative report” or “Production “Production optimization meeting”, which uses “Weekly P&I plan” as seen in the DPOprocess (denoted in figure 4.3 on page 43 43). ). This This idea idea had sever several al weakn eaknes esse ses. s. One One is wher wheree two two diffe differe ren nt tasks tasks,, connected to the same subsequent task, finishes. The subsequent task would then then only only get get the the stat statee Read Ready y. The The info inform rmati ation on that that it was was two two tasks tasks responsible for this task getting Ready is lost, hence also the information that this task needs to be done twice. A possible solution would be to let each task have a property counter that reflects how many times the task should be run. Ho Howe weve ver, r, you will will not be able able to see why why it should should be run. run. After After having worked on the initial idea we noticed a more important problem. Data is sent between all the different tasks, not only between those which have have dataflow dataflow modeled in the BPMN-diagrams BPMN-diagrams such as “Topsid “Topsidee production production optimization optimization”” and “Proposition “Proposition for initiativ initiative” e”.. The execution execution model needed to reflect this. This This lead lead to a new archite architectu cture. re. We disco discove vered red that one could divide divide the data being sent into decisions and tasks. In the BPMN diagram created for DPO we only show flow of data for the data documents, this convention should be followed as showing dataflow between all tasks/subtasks would
81
6. SEMTASK ONTOLOGIES
6.7. EXECUTION ONTOLOGY
complicate complicate instead of clarifying the diagrams. Also these data documents, such such as “Production “Production increasing increasing initiative initiative report” change change their meaning from denoting the data being produced and used by activities, to being schemas or forms for the activities to include each time data is to be sent to a subsequent activity. Flow Flow elemen elements ts (like (like Activi Activitie ties) s) in the BPMN BPMN specific specificati ations ons have have tasks tasks connected to themselves where the tasks in turn have relevant data sources. Out Out of the the task tasks, s, deci decisi sion onss are are ma made de.. The The task taskss hav have also also a rela relati tion on hasReason pointing to the trigger or decision that was responsible for its creati creation. on. The effectiv effectivene eness ss of the workflo workflow w can be increa increased sed as the data needed for a task is immediately available. When SemTask shall suggest data sources for an operator it does so by looking looking at the current current Task Task.. It checks checks the reason reason for why why the Task Task was made (typically an earlier made Decision), and sees what data were used to make that Decision. Decision. That data is suggested, suggested, along with relevant relevant data (set by the relevantData property). Let us look at an execution example shown in figure 6.7.2, which uses tasks, triggers, and decisions.
6.7.2 6.7.2
Exampl Example e execut execution ion
First First an even eventt is triggered triggered as a result result of a timer timer going of. The trigger triggering ing is represented by an instance of the Trigger class, connected to the activity with a hasTrigger-property. An activity A is then assigned a task, because of the Trigger. The task shows the reason for its creation with the hasReason propert property y. When When a person person is done done with with the Task Task,, a decisi decision on is made. made. This This decision may have usesData, hasDocument, and hasDescription properties attached to it. This decision is a result of the task, and this is indicated by the isResultOf property property. The decision decision is recorded recorded on the activity activity A before it passes on to the subsequent activity B as a new Task. The decision made from activity A to add a task to activity B is reflected in the fact that the task assigned to B has a relation hasReason from the task to the decision. The tasks and decisions decisions are never deleted throughout throughout the execution. execution. This enab enable less bac backtra ktraccking king,, so one one can can see see the the reas reason on for for why why a task task has has been assigned to an activity, along with the reason for that reason again (recursiv (recursively). ely). It is then possible to go back as many steps as one would would like. The overall monitoring of the workflow execution can get a full history of the tasks and decisions made.
82
6. SEMTASK ONTOLOGIES
6.7. EXECUTION ONTOLOGY
(a) Step 1. The circle circle at the left side represen represents ts an event. event. The two two rectang rectangles, les, A and B, represe represent nt tasks. tasks. The arrow arrow betwe between en the event and A, and the arrow between A and B represents a sequence flow. We can see that the event has been triggered.
(b) Step 2. The execution engine attached a new task to A, since the event was triggered, and there is a sequence flow between the event and A.
(c) Step 3. After the owner of activity A is finished with the task, she creates a decision.
(d) Step 4. The execution engine attached a new task to B, since A had a decision, and there is a sequence flow between A and B.
Figure 6.4: An illustration of four execution steps 83
6. SEMTASK ONTOLOGIES
6.7. 6.7.3 3
6.7. EXECUTION ONTOLOGY
Clas Classe sess
There are three classes regarding the general execution in the Execution ontology: Decision , Task , and Trigger . The The gene genera rall idea idea is that that zero zero or more Tasks Tasks are assigned assigned to each each activity activity.. Decisions Decisions are made from Tasks; these Decisions may lead to new Tasks, again passed to subsequent activities. Triggers are connected connected to events, events, and lead to creation creation of new tasks. Besides Besides these classes there are two classes regarding the forms mentioned in the SemTask-ontology: FilledForm and FilledField . Decisions typically contain a textual description along with some attached documents. documents. The data used for making making that decision decision should also be attached attached to an instance of Decision. As Decisions and Tasks are made, their relevant data are attached using the belonging belonging properties. The Decisions Decisions and Tasks are not deleted deleted throughout the execution of the diagrams. One can therefore always backtrack and see the relevant data that was used for a Task or Decision. FilledForm and FilledField are used to represent forms that are filled out with information.
6.7.4 6.7.4
Prope Propert rtie iess
The properties and their inverse are: •
triggerBelongsTo ⇔ hasTrigger: connects a Trigger to an Event
•
taskBelongsTo ⇔ hasTask: connects a Task to an Activity
•
decisionBelongsTo ⇔ hasDecision: connects a Decision to a Task
•
•
•
•
hasFilledField ⇔ belongs belongsT ToFille oFilledF dForm: orm: FilledFiel FilledField d belongs to
sets sets which which Filled FilledF Form a
hasFilledForm ⇔ usedIn usedInDec Decisi ision: on: used used to connect connect a Decisi Decision on to a FilledForm isOfFormT isOfFormType: ype: used to denote which which kind of Form the FilledF FilledForm orm is of hasDescript hasDescription: ion: used to have a textual textual description description of Decisions Decisions and Tasks
•
isResultOf ⇔ resultsIn: used to connect the Decisions to Tasks
•
usesData: used to denote what data a Task or Decision is using
84
6. SEMTASK ONTOLOGIES
•
•
6.7. EXECUTION ONTOLOGY
hasReason: used to denote the reason why a Task was created (either a Trigger or a Decision) hasDocument: used to add documents to decisions
85
Chapter 7
Execution model The previous chapter presented the ontologies in SemTask, and how they relate relate to each each other. other. This This chapt chapter er will will use these ontologi ontologies es together together with with rules to form the executional part of SemTask. The chapter starts with limiting the scope of the execution engine we are going to create. create. Different Different alternative alternativess for creating creating the workflow workflow execution execution engi engine ne are outl outlin ined ed,, alon alongg with with an expl explan anat atio ion n of why why we chose hose to use use rules. An introduction to rules is presented, with a list of current Semantic Web implementations, and how rule engines work by doing triple pattern matching. Then we go through one of the rules we made for creating Tasks out of Triggers. riggers. The chapter chapter ends by explaining explaining how this execution execution engine may fulfill some parts of the SemTask scenario.
7.1 7.1
Intr In trodu oduct ctio ion n
Buil Buildi ding ng an ente enterp rpri rise se workfl orkfloow exec execut utio ion n engi engine ne is a diffic difficul ultt task task sinc sincee workflo orkflows ws can be high highly ly comp comple lex x with with sync synchr hron oniz izat atio ion n betw between een tasks, tasks, except exception ions, s, distri distribut buted ed workfl workflow ows, s, and com commu munic nicatio ation n betwe between en tasks/work tasks/workflows flows,, etc. Howeve However, r, the functionalit functionality y of the execution execution part of SemT SemTask, ask, descri described bed in this this chapte chapter, r, is limited limited to a few areas: areas: automat automatic ic suggestions of relevant data, handling of tasks, and monitoring. One of the key featur features es of SemT SemTask is the suggestio suggestions ns of relev relevan antt data data sources. sources. We use some simple technique techniquess to infer which which data sources sources might be relevant for a given task. First we use the data sources that are relevant (denot (denoted ed by a relev relevan antDa tDatata-pro propert perty) y) for the data that that the operator operator is currently examining. If the operator is for instance currently looking at the well temperature in well A1, and that sensor has a relevantData-property poin pointing ting to the the wellell-he head ad pres pressu sure re in well well A1 A1,, that that data data sour source ce will will be 86
7. EXECUTION MODEL
7.1. INTRODUCTION
Figure 7.1: An example of relevant data. If a person is working with Task B, all the DataElement-objects seen here will be suggested as relevant data. suggested. suggested. Second Second we see on the hasReason-propert hasReason-property y of the current Task. Task. If it points to a Decision which again has some usesData-properties, these data sources would also be suggested. An illustration of relevant data can be seen in figure 7.1 7.1.. If a person works with the task connected to B, then the data source he has been looking at is relevant, and similar data elements to that (found by the relevantData prope propert rty) y) ma may y also also be rele relev vant. ant. The The Task ask conn connec ecte ted d to B was crea create ted d because of a previous Decision connected to A. That Decision was made based based on a data source. source. This This data data source source as well well as simila similarr data data source sourcess may also be relevant. The SemTask architecture is based on a centralized server-client architecture. The clients are the participants in a workflow execution (e.g., Per and Didrik from the scenario), and the server is responsible for the execution itse itself. lf. The The focus focus in this this chapt chapter er will be on the the exec execut utio ion n engi engine ne on the the server-side. The implementation communication between the client/server, client/server, security, exceptions, Graphical User Interface (GUI), etc., belong to further extensions of SemTask.
87
7. EXECUTION MODEL
7.1.1 7.1.1
7.2. RULES
Execut Execution ion altern alternat ativ ives es
Building an engine to support the different aspects of workflow diagram execution execution can have several several different different solutions. solutions. Let us briefly briefly look lo ok at the two approaches we considered. Java approach Maybe the most obvious way is to use an imperative language such as Java with a corresponding framework to deal with RDF. Benefits include great tool support, excellent community, and mature technology. The downside is that with imperative imperative languages it is a clear separation separation between between specification specification and implementation implementation.. The implementation implementation of a complex complex execution engine is doomed doomed to introdu introduce ce errors and deviati deviations ons from the specific specificati ation. on. As it is a language mismatch between RDF/OWL and Java, one would need many lines of code for doing simple things such as accessing a property of a given instance. This makes the code base large, and therefore hard to maintain. Rules approach Being declarative, rules have several benefits over imperative languages such as Java. Java. The code is often often smaller, smaller, easier easier to read, with a higher higher level level of abstrac abstraction tion,, and greater greater ease of later later code extensi extension. on. A downs downside ide is that that rules can be difficult to combine with other languages or frameworks, and they they do not fit for all tasks. tasks. Rules Rules can only be used used to specify specify some parts parts a system. We found that rules were a good go od fit for specifying specifying the execution engine.
7.2
Rules
There are several rule languages proposed for the Semantic Web. Semantic Web Rule Language (SWRL), Description Logic Programs (DLP), and Jena rules are probably the three most known proposals. SWRL [Horrocks et al. 2004] 2004] is a W3C member submission, with several partial partial implem implemen entat tation ionss alread already y. No full full implem implemen entat tation ion exists exists as full full support would lead to undecidability. DLP [Grosof [Grosof et al. 2003] is a newer proposal than SWRL. DLP is less expressive than SWRL, but decidable. Jena [Carroll [Carroll et al. 2004] is not a rule specification, but a Semantic Web Framewo ramework rk for Java. Java. It provid provides es a programm programmati aticc envir environm onmen entt for RDF, RDF, 88
7. EXECUTION MODEL
7.2. RULES
RDFS, RDFS, OWL, OWL, and SPARQ SPARQL. L. It also also includ includes es a mature mature rule engine engine that supports to use custom rules. Besides Besides the normal possib p ossibilit ility y of inferencing inferencing new knowledge one can delete triples, and alter the RDF graph in other ways. ways. We chose chose to use Jena rules because because we have have good experie experience nce with Jena, and the rule engine seemed to be powerful enough.
7.2.1 7.2.1
Triple riple patt pattern ern match matching ing
Ther Theree are are seve several ral ways ways of unde unders rsta tand ndin ingg how how rule ruless work work.. One One of them them is to think of the rule engine as a triple pattern matching engine [ Holger Knublauch 2006]. 2006]. Let us look at the following example: (?x childOf childOf ?y), ?y), (?y hasBr hasBroth other er ?z) -> (?z uncleOf uncleOf ?x).
A rule consists of two part arts: a bod body (also called antecedent or prem premis ises es)) and and a head head (als (alsoo call called ed succ succed eden entt or conc conclu lusi sion on). ). In the the above above rule, rule, (?x childO body and and childOf f ?y), ?y), (?y hasBro hasBrothe ther r ?z) is the bod (?z uncleO uncleOf f ?x) is the head. Different rule languages have different types of built-ins. Built-ins Built-ins are special special functi functions ons that can be found found in the rule-l rule-lang anguage uage.. Often Often found built-in built-inss are equality functions, arithmetic functions, negation predicate, string tests, string manipulati manipulation on functions, functions, etc. Some rule-language rule-languages, s, including Jena, 1 allow to create own built-ins . A rule engine goes through the knowledge base, and tries to match all the premis premises es in the head of the rule with triples triples.. If it succee succeeds, ds, it assert assertss the body of the rules. Rules may depend on each other. For instance, if we had a second rule that looked like this: (?x childO childOf f ?z), ?z), (?y childOf childOf ?z), (?y (?y sex "male") "male"), , (?x != ?y) -> (?x hasBro hasBrothe ther r ?y) ?y)
And a knowledge base with the following triples: (John (John childOf childOf Brad), Brad), (Alex (Alex childOf childOf Brad), (Jeff (Jeff childOf childOf Alex) Alex) (John (John sex "male") "male")
The rule engine would infer: (John (John uncleOf uncleOf Jeff), Jeff), (Brad (Brad hasBrot hasBrother her John) John) 1
For inform informatio ation n about about built-i built-ins ns in Jena, Jena, see http://jena.sourceforge.net/ inference/.
89
7. EXECUTION MODEL
7.3 7.3 7.3.1 7.3.1
7.3. RULES IN JENA
Rule ules in Jena ena Testing esting platfo platform rm
To create the rules, rules, we needed needed a way way of testing testing them. One solution would would be to use an IDE that that supports supports develo developme pment nt of Jena-r Jena-rule ules. s. One such such IDE 2 is TopBraid Composer . Another solution would be to create a sample Java application, using Jena. We chose to do so, since we felt it gave us a better overview of what was happening.
7.3.2
Execution Execution engine engine implemen implementatio tation n
We have only implemented implemented two two rules. The complete complete source of the rules is found in appendix C on page 155 155.. In the execution example, Step 2 (figure 6.4(b) on page 83 83)) one saw that the execution execution engine created a Task out of a Trigger. Trigger. In listing 7.1 on the following page one can see the rule that actually does this. In line 3–6 the types of our variables are specified. These lines are not strictly needed, as the domain and range of the properties below them would infer the same types. We left them there as the rule might be easier to understand with them than without them. Line 9–11 specifies that the sequence sequence flow, activity start-event, and the trigger are connected in the way we want. In line 14–20 we see use of three different different kinds of Jena built-ins. built-ins. noValue noValue asserts that that it should should not be possibl possiblee to match match the follow following ing triple. triple. It is used used to make sure that this rule is only triggered once for a given pair of Trigger and Activity instances. instances. mak makeT eTemp(? emp(?task) task) creates a blank RDF-node, and now(?now) binds ?now to a timestamp with the current day and time. The body of the rule is found in line 23–33. It should be self-explaining by looking at the well-commented code.
7.3.3 7.3.3
Comple Completin ting g the the execu executio tion n engin engine e
Becaus Becausee of time time limita limitatio tions ns we have only implem implemen ented ted two two of the rules rules needed needed for the execution execution engine. One might encounter encounter some difficulties difficulties with the expressiveness of the rules when implementing the rest of the parts of the executi execution. on. Ho Howe weve ver, r, we believe believe that it will will be possibl possiblee to complete complete the workflow-engine by creating the rest of the rules, at least if one allows creating creating additional built-ins. built-ins. What is currently currently missing is rules to handle 2
TopBraid opBraid Compose Composerr from TopQuad opQuadran rant. t. topbraid/composer/.
90
http://www.topquadrant.com/
7. EXECUTION MODEL
7.3. RULES IN JENA
Listing 7.1: The rule for creating Tasks out of Triggers 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
[ p r o c e ss s s T r i g ge ge r : / / S pe p e ci c i f y t he h e t yp y p es e s o f o u r v a r i a bl bl e s ( ?sf r d f : type bpmn : S e q u e n c e F l o w ) , ( ?activity r d f : type bpmn : A c t i v i t y ) , ( ?st artE v e nt r d f : type bpmn : S t a r t E v e n t ) , ( ?trigger r d f : type execution : Trigger ) ,
/ / Ma M ake s u re r e t h a t t h ey e y a re r e c on o n ne n e ct c t ed e d t o e ac ac h o t h er er ( ? s t ar a r t Ev E v e nt n t e x e cu c u t i on o n : h a sT s T r ig i g g er er ? t r i g g e r ) , ( ? sf bpmn : c o n n e c t e d F r o m ? s t a r t Ev Ev e n t ) , ( ?sf bpmn : c o n n e c t e d T o ?activity ) , / / T hi hi s t r i g g e r h a s n ot o t t r i g ge g e r e d t h i s a c t i v i t y b ef e f o re re noValue( noValue ( ? t r i g g e r t r i gg gg e d ? a c t i v i t y ) , / / C r e at at e a new , b l a n k , RDF− node . makeTemp( makeTemp ( ?t as k ) , / / C r e a t e a new RD RDF− n o d e w i th t h t h e c u rr r r e nt n t t im im e . now now (?now) , −> / / Ma M ake s ur u r e t h i s i s n ot ot e xe x e cu c u t ed e d a n y m or or e f o r t h i s e ve v e nt nt ( ? t r i g ge g e r t ri r i gg g g ed e d ? a ct ct i vi t y ) , / / C re r e at at e t h e ne n ew T as as k a nd nd a t ta t a c h i t t o t h e a c t i v i t y an d t he he t r i g g e r ( ? t a s k r d f : t y pe pe e x e c u t i o n : T a s k ) , ( ? a c t i v i t y e x ec e c u t io i o n : h a sT sT a sk sk ? t as as k ) , ( ? ta t a sk s k e xe x e cu c u t io io n : hasCause ? t r i g g e r ) , / / S et e t t im im e st st a mp mp f o r t he he t r i g g e r ( ? ta t a sk s k e xe x e cu c u t io i o n : c re r e a te t e d ?now ) ]
91
7. EXECUTION MODEL
7.4. FULFILLMENT OF THE SCENARIO
Listing 7.2: Weekly P&I plan SPARQL query PREFIX bpmn:
PREFIX r d f : PREFIX semtask :
SELECT ?Plan WHERE { : p r o d u c t i o n O p t i m i z a t i o n M e e t i n g bpmn : h a sC sC oon n n ec ec t in in ggT To ?connecter . ? c o n n e c t e r bpmn : c o nn nn e ct ct e dF dF ro ro m ? P l a n . ?Plan rd f : type semtask : UR URLB LBas ased edDo Docu cume ment nt . }
different kinds of forks, joins and gateways. We estimate that only a couple of more more rules rules will be needed needed to cove coverr this. this. The final executi execution on engine can probably be specified with less than a hundred effective lines of rules.
7.4
Fulfillm ulfillmen entt of of the the scenar scenario io
Now let us look at how this architecture and its partitioning of tasks and decisions can be used to fulfill the SemTask scenario described. Let us start with the automatic execution of activities and how SPARQL, or the Jena framework, can be used to bring up the relevant data concerning a particular process. Automatic suggestions of relevant data Let us exemplify by showing how the “Weekly P&I Plan” is automatically brought up in the “Production optimization meeting”-activity meeting”-activity.. We make the assumption that we are in the “Production optimization meeting” process. The SPARQL SPARQL query given in listing 7.2 will list up all the relevant documents so that the program can automatically show the right information, and also bring bring up the necess necessary ary applicat application ions. s. The query returns: returns: the Weekl Weekly y P&I plan. Adding inference support to SPARQL with the SemTask ontology one can do reasoning to find documents that are further down in the hierarchy (i.e., by subsumption get all instances of the subclasses of the class originally used in the query) query).. In further further extensio extensions ns it is also possible possible to extend extend the class hierarchy hierarchy introducing introducing new and more specialized documents. documents.
92
7. EXECUTION MODEL
7.4. FULFILLMENT OF THE SCENARIO
Regarding the scenario one can see that this fulfills the feature where the right PDP instance gets shown on the screen in the“Production optimization meeting”. Dataflow between the different tasks can help with automatic suggestions of relevant relevant data. Once an activity activity is activated activated one can list all potential potential tasks that are associated associated with it, with the help of either either a SPARQL SPARQL query, query, or with Jena. Jena. Each Each task task can then typica typically lly have have a PDP instance instance URL, a textual textual description, and possibly an application to be automatically brought up. Automatically handling activities The rules form the heart of the execution execution engine. To exemplify and give a quick introduction to the syntax and semantics of the rules in Jena as well as introducing the thoughts behind the strategy of the SemTask execution let us take an example. First let us look at how the rules are used regarding the triggered events. This is the first rule in appendix C on page 155 155.. It is up to the Jav Java part of SemTask SemTask to create the triggers in the diagrams, meaning that the “W “Weekda eekday y 9am” is trigged as a result of a function in the SemTask application that chec checks ks the time. The applica applicatio tion n adds adds the trigger trigger RDF triple triple on to the event (this corresponds to figure 6.4(a) on page 83 83). ). Now the rule triggers, and automatically automatically sees sees this event. event. resulting resulting in a task being b eing made. For the noValue, makeTemp, and now they are used to make sure the rule does not apply several times to the trigger, the making of a blank node and the making of a time stamp3 . Automatically viewing of decisions/available tasks With SemTask it is also easy for the participants such as Per in the SemTask scen scenari arioo to auto automa mati tica call lly y get on his his scre screen en the the deci decisi sion onss that that need need his his attent attention ion.. An easy SPAR SPARQL QL query query is sufficie sufficient nt.. Per Per can then then make the decision, decision, and the rule engine can proceed with the execution of the workflow workflow diagram. In much the same way the users can always get an overview of the tasks that can be started the second they become available. 3
See the Jena documentation for more information: http://jena.sourceforge. net/inference/#rules.
93
7. EXECUTION MODEL
7.4. FULFILLMENT OF THE SCENARIO
Monitoring, statistics, and history In the scenario we saw how Mona was able to not only see what tasks Per was currently working on in the DPO-process but also look at statistics. Our execut execution ion model model supports supports this, and the functi functiona onalit lity y can easily easily be implemented by making a predefined set of SPARQL queries. Also following the fact that tasks are never deleted throughout the execution of a process one can easily produce statistics statistics.. This reflects reflects the monitoring and optimization part of the BPM life cycle. Given Given the scenar scenario io where where a partic participa ipant nt in the execut execution ion questi questions ons why why a task task was assi assigne gned d to her, her, ther theree is a dire direct ct link link to the the deci decisi sion on whic which h was respon responsi sibl blee for for the the ma maki king ng of the the task task.. It is also also possib possible le to go furth further er back back in hist histor ory y of tasks tasks and deci decisi sions ons by usin usingg the the prope propert rtie ies: s: other words words,, a hist histor ory y func functi tion onal alit ity y is hasReason and isResultOf . In other easily implemented where one can examine tasks with their decisions, the corresponding activities, and the data sources used.
94
Chapter 8
Conclusion and further work 8.1
Contri Contribut bution ionss and conclu conclusio sion n
SemTask has introduced several features that may facilitate work processes in to the the doma domain in of oil oil and and gas gas prod produc ucti tion on.. Our Our con contrib tribut utio ions ns are are summarized by the following list: •
•
•
•
•
•
•
•
Proposed an architecture for SemTask, an active support system for IO work processes based on Semantic Web technology Upgrade Upgraded d the graphic graphical al work work process process notatio notation n from SoluDy SoluDyne ne to BPMN Create Created d an OWL-D OWL-DL L ontol ontology ogy for BPMN, BPMN, result resulting ing in a standa standard rd storage format (serialization) for BPMN diagrams Described (parts of) Hydro’s DPO process in BPMN/RDF Create Created d a usage usage scenari scenarioo for how how SemT SemTask could could signifi significan cantly tly aid operators in the DPO process Crea Create ted d an exec execut utio ion n model model for SemT SemTas ask k to conn connec ectt task tasks, s, data data sources, and decisions Proposed an elegant execution engine relying on rules Described how the proposed execution model fulfill the main features of the DPO usage scenario
It has been shown how the SoluDyne notation has been replaced by the more expressive BPMN. It is then possible to capture more knowledge into the workflow system, which makes it easier for inexperienced operators to carry out tasks. The conversion conversion from SoluDyne SoluDyne to BPMN was shown shown for the DPO
95
8. CONC CONCLU LUSI SION ON AND AND FUR FURTHER THER WORK ORK
8.1. 8.1. CONT CONTRI RIBU BUTI TION ONS S AND AND CONC CONCLU LUSI SION ON
process, which illustrated the first step needed to go from solely passive to active human centric workflows. Intr Introdu oduci cing ng exec execut ution ion suppo support rt for key proce process sses es has has benefi benefits ts suc such as: as: increased effectiveness and safety, safety, more control, and better quality. quality. Time can be spent on other problems problems than the “trivial” “trivial” parts of day-to-day day-to-day operations, operations, such as making the processes more effective by optimizing the workflow. This allows allows an iterative iterative approach of gradual work process improvemen improvement. t. We forma formali lize zed d BPMN BPMN as an OWLOWL-DL DL ontol ontolog ogy y. BPMN BPMN is a work workflo flow w notat notatio ion n stand standard ard by OM OMG, G, adopt adopted ed by many many comp compan anie ies. s. Ma Maki king ng a standard serializable format, based on ontologies, is therefore a contribution to the industry industry.. This This mak makes es it possibl possiblee for different different workflo workflow w vendo vendors rs to have have a common serializati serialization on format. Using ontologies ontologies also opens for making making semantic consistency checks of the diagrams. The SemT SemTask ontolo ontologie giess provid providee a good founda foundation tion for the applic applicati ation on system. They show how Semantic Web technology can be used in the oil and gas domain. SemTask realizes the scenario mentioned for the DPO-process at StatoilHydro, StatoilHydro, and brings more control control into the process. This may lead to faster and better decisions both by experienced and inexperienced operators. The architecture is modular in the sense that there is a clear separation between between the ontologies ontologies and their responsibilities responsibilities:: BPMN specification, specification, data sources, sources, states in a workflow workflow diagram, and execution execution of a workflow workflow diagram. These have been layered in a logical stack. StatoilHydro and other IO parties could partly use this solution by starting with the BPMN layer. Extending the SemTask application by introducing ISO 15926 instead of the current data source ontology may be done independently of the other ontologies. Also, further extension of the rule would easily be done by adding rules without without changing changing other parts of the system. system. This opens for an iterative iterative upgrade of SemTask to include further features and to cover other aspects of oil and gas production. Logical rules in Jena were chosen to implement SemTask’s execution engine. Even though we did not write all the rules needed to complete the engine, using using rules shows shows a good potentia potential. l. They They seem to give give a very very small small and elegant code base. SemT SemTask illust illustrat rates es how how workfl workflow ow and data data can be merged merged in workfl workflow ow diagrams. diagrams. This could lead to new understanding understanding of data as well as processes. In addition, addition, related data sources are automatically automatically suggested suggested when working working with with tasks. tasks. This This save savess the operators operators’’ time, and help help them them deal deal with with the informa informatio tion n overl overload oad proble problem. m. SemT SemTask also supports supports sending sending general general messages between different tasks in the workflow.
96
8. CONCLUSION AND FURTHER WORK
8.2 8.2
8.2. FURTHER WORK
Fur urth ther er work ork
We have seen how SemTask can be used to solving problems in the DPO process. process. In this chapter chapter further extensions extensions of the SemTask SemTask application application will be examined. examined.
8.2.1 8.2.1
Finish Finishing ing SemT SemTask
The The first first thin thingg one one migh mightt want want to do is to finish finish the the rule rule base base.. A basi basicc framework of SemTask that combines the ontologies, the rules, and diagrams has been set set up. Ho Howe weve ver, r, this is not a finishe finished d product. product. It needs needs to be be a tighter integration with PDP to simplify writing workflow diagrams and link PDP screens into tasks; for example. A set set of tools tools shou should ld be dev develope eloped d to aid aid the the oper operat ator orss crea creati ting ng the the workflows. The conversion between diagrams expressed in BPMN into RDF instan instances ces could for exampl examplee be done done using using XSLT XSLT [Clark [Clark 1999 1999]]. A us user friendly GUI on top would ease the use of the transformation application. Much of the functionality of the monitoring functionality of SemTask can be accomplishe accomplished d with a set of predefined predefined SPARQL SPARQL queries. queries. Howeve However, r, a GUI should be built on top of the monitoring functionality to make it easy to use. After After these these initial initial steps steps are finishe finished d severa severall other other possibl possiblee extens extension ionss of SemTask are possible. These parts are briefly discussed below.
8.2.2 8.2.2
Auto Automa mati tion on of task taskss
As mentioned in section 2.2.2, 2.2.2, the final phase of Integrated Operations is partial (and in some cases full) automation of work processes. SemTask does not automate any tasks in a workflow; it only helps operators by guiding them through a workflow, workflow, and suggesting data the operators could use. The internal SemTask model can support automation of activities in a workflow as an extension. To automate a task one would add the computer application that executes the given task as a role in the workflow. The application would then then act as a “person “person”” who consum consumes es Tasks and creates creates Decisions . Further urther inve investi stigat gation ion is needed needed to see whethe whetherr the execut execution ion ontol ontology ogy requires requires adjustmen adjustments ts to support integration integration with computer computer applications applications.. Some Some way way of adding adding com comput puterer-in inter terpre pretabl tablee parame parameter terss to a decisi decision on is probably probably needed for the application application to do its tasks. Relevant Relevant work in this direction is reported in [Schall et al. 2008]. 2008].
97
8. CONCLUSION AND FURTHER WORK
8.2.3 8.2.3
8.2. FURTHER WORK
Extens Extension ion of the the Data Data Ont Ontolo ology gy
An extens extension ion of the data ontol ontology ogy is needed needed for SemT SemTask to be usable usable.. One should investigate what type of reasoning is needed to create helpful sugges suggestio tions ns for the operators. operators. For instan instance, ce, one should should see what what type type of knowledge can be encoded in OWL-DL, and what type of knowledge can only only be encoded encoded in rules. rules. As most of the rule-l rule-lang anguage uagess are undecida undecidable ble,, one should investigate what kinds of practical problems may occur when using rules.
8.2.4 8.2.4
Guaran Gua rantee teess in a work workflo flow w diagra diagram m
Certain constraints of the workflow diagrams could be checked, to ensure that BPMN is followed, using languages such as Maude [Clavel [ Clavel et al. 2001]. 2001]. The RDF instanc instancee of the workfl workflow ow diagram diagramss could could be transf transforme ormed d into into Maude syntax, and a predefined set of queries could be executed searching for illegal patterns (i.e., DataObject having a direct connection to another ). This would be a useful tool to aid the inexperienced operators DataObject ). in ma maki king ng the the diag diagram rams. s. Intro Introdu duci cing ng forma formall suppo support rt and and analy analysi siss to a notation have already been applied to UML [Dur´ an an et al. 2003]. 2003]. If the entir entiree organiz organizati ation on starts starts to use SemT SemTask, ask, securi security ty consid considerat eration ionss such as role based access control and separations of duty would have to be includ included. ed. Previo Previous us work has already already been done in this area [Kong et al. 2005]] and can be extended. 2005 Policy rules could also be included in the set of searches, e.g., the person who proposes an initiative cannot be the same who decides whether to implement it or not. Maude opens for making complex policy rules (i.e., formalization of access control policies [de Oliveira 2007]. 2007].
8.2.5 8.2.5
Constr Constrain ainss ch chec eckin king g
The FormDocument class class as explai explained ned in sectio section n 6.5 on page 75 would typically typically include include several several fields to be filled out. A possible extension extension could be to include include check checkss so that these fields fields always always are filled out. A relate related d extension could then provide easy access to help, by connecting experts or detailed documents to them.
8.2.6 8.2.6
Extend Extending ing with with othe otherr ontol ontologi ogies es
As SemTask is built with ontologies, other ontologies may be included to enhance the functionality. 98
8. CONCLUSION AND FURTHER WORK
8.2. FURTHER WORK
Organization modeling and skill finding The roles (lanes) in a workflow diagram now only represent a single person. This is not as flexible as one would like, as certain tasks should either be done by someone with a specific organizational role, or by someone with a defined defined skill. skill. Using Using ontol ontologi ogies es as a part of skillskill-find finding ing has alread already y been done [Colucci [Colucci et al. 2003; 2003 ; 2005 2005], ], and it could be interesting to see how this would fit in the SemTask architecture. Decision support A giv given prob proble lem/ m/ta task sk in an acti activi vity ty can can hav have sev several eral solu soluti tion onss each each connec connected ted to a given given outcome. outcome. These These decision decision situatio situations ns can be highly highly complex complex with significant significant uncertainties. uncertainties. SemTask SemTask provides provides the reasons reasons for the given given task and relev relevant ant data. data. An extensio extension n to SemT SemTask could could be to provide decision support, analyzing different possible solutions and aiding the operators in making the right decision. Research has already been done in this area [Fjellheim [Fjellheim et al. 2008], 2008] , and can be integrated into SemTask. Experience finding Knowledge of previous operations can provide important information for maki ma king ng the the righ rightt deci decisi sions ons on curre curren nt ones ones.. The The know knowle ledg dgee shou should ld be recorded recorded and easily easily accessible. accessible. Previous Previous work has been b een done in knowledge knowledge transfer transfer between between drilling projects, through documented documented experiences, experiences, best prac practi tice ces, s, and and exper expertt refe refere renc nces es in the the AK AKSI SIO O projec projectt [No [Norhe rheim im and Fjellheim Fjellheim 2006 2006]. ]. This could provide a valuable extension to SemTask.
99
Acronyms AKSIO APOS BPDM BPEL BPM BPMI BPMN DAML DL DLP DNV DPO EOR G1/G2 GAP GUI IDE IO IP21 IRC ISO N3 NCS NGL NOK OIL OLF OMG OWL OWL-AS OWL-DL
Active Knowledge Management for Integrated Operations ArbeidsProses ArbeidsProsessOrien sOrientert tert Styringss Styringssyste ystem m (Work (Work Process Oriented Administration System) Business Business Process Definition Metamodel Metamodel Business Business Process Execution Language Language Business Process Management Business Process Management Initiative Business Business Process Modeling Notation DARPA Agent Markup Language Description Logic Description Description Logic Program Det Norske Veritas Daily Production Production Optimization Optimization Enhanced Oil Recovery Generation 1 / Generation 2 (in IO) Groups, Groups, Algorithms Algorithms and Programming Programming Graphical User Interface Integrated Development Environment Integrated Operations InfoPlus 21 Internet Relay Chat International Standards Organization Notation3 Notation3 (readable (readable RDF syntax) syntax) Norwegian Continental Shelf Natural Gas Liquids Norwegian Kroners Ontology Inference Layer Oljeindustriens Landsforening (The Norwegian Oil Industry Association) Association) Object Managemen Managementt Group Web Ontology Language OWL Abstract Syntax OWL — Description Logic 100
PDP POSC PRODML RDF RDFS RuleML SBPM sBPMN Sm3 SOAP SPARQL SQL SUPER SWIG SWRL SWS UML URI URL W3C WITSML WSDL WSML WSMO XML XPDL XSD XSLT YAWL
Process Data Portal Petrotechnical Open Standards Consortium Production Production Markup Language Resource Description Framework RDF Schema Rule Markup Language Semantic Business Process Management Semantic Semantic Business Business Process Modeling Notation Notation Standard Standard Cubic Meter Simple Object Access Protocol SPARQL Protocol and RDF Query Language Structured Structured Query Language Language Seman Semantic ticss Utilis Utilised ed for Process Process manage managemen mentt within within and between EnteRprises Semantic Web Interest Group Semantic Web Rule Language Semantic Web Services Unified Unified Modeling Modeling Language Language Uniform Resource Identifier Uniform Resource Locator World Wide Web Consortium Wellsite Information Transfer Standard Markup Language Web Services Description Language Web Service Modeling Language Web Service Modeling Ontology eXtensible Markup Language XML Process Definition Language XML Schema Definition eXtensible Stylesheet Language Transformations Yet Another Workflow Language
101
Bibliography Witold Abramowicz, Abramowicz, Agata Filipowsk Filipowska, a, Monika Monika Kaczmarek, Kaczmarek, and Tomasz Kaczmarek. Semantically enhanced Business Process Modelling Notation. Proceedings edings of the Workshop on Semantic Business Process Process and Product Product In Proce Lifecycle Management (SBPM), Innsbruck, Austria, April 2007. Gustavo Alonso and Hans-Jorg Research Issues in Large Workflow orkflow ¨org Schek. Research Management Systems. In Proceedings of the NSF Workshop on Workflow and Process Automation in Information Systems, Athens, Georgia, USA, May 1996. Grigoris Antoniou and Frank van Harmelen. A Semantic Web Primer . The MIT Press, Second edition, March 2008. ISBN 978-0262012423. Franz Baader, Diego Calvanese, Calvanese, Deborah L. McGuinness McGuinness,, Daniele Daniele Nardi, and Peter F. Patel-Schneider, editors. The Description Logic Handbook: Cambridge Universit University y Press, theory, theory, implementatio implementation, n, and applications applications. Cambridge September 2007. ISBN 978-0521876254. Dav Dave Be Becckett. ett. RDF/ RDF/XM XML L Syn Syntax tax Spec Speciificat ficatio ion n (Rev (Reviised sed). W3C W3 C Recommendation, W3C (World Wide Web Consortium), February 2004. URL http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/ . Tim BernersBerners-Lee Lee,, James James Hendle Hendler, r, and Ora Lassil Lassila. a. The Semantic Semantic Web. Web. Scientific American , 284(5):28–37, May 2001. Dan Brickle Brickley y and Ramanath Ramanathan an V. Guha. Guha. RDF vocabula vocabulary ry descript description ion language language 1.0: RDF schema. schema. W3C Recommendatio Recommendation, n, W3C (World (World Wide Web Consorti Consortium) um),, Februar ebruary y 2004. URL http://www.w3.org/TR/2004/ REC-rdf-schema-20040210/ . Liliana Cabral, John Domingue, Enrico Motta, Terry R. Payne, and Farshad Hakimpo Hak impour. ur. Approac Approaches hes to Seman Semantic tic Web Web Services Services:: an Overv Overview iew and Comparisons. In ESWS , volume 3053, pages 225–239, 2004.
Intelligent Jorge Cardoso. The Semantic Web Vision: Where Are We? IEEE Intelligent Systems, 22(5):84–88, 2007. ISSN 1541–1672. doi: 10.1109/MIS.2007.97.
102
BIBLIOGRAPHY
BIBLIOGRAPHY
Jeremy Jeremy J. Carroll Carroll and Graham Graham Klyne. Klyne. Resourc Resourcee descri descripti ption on framew framework ork (RDF): (RDF): Concepts Concepts and abstrac abstractt syntax syntax.. W3C Recommen Recommendat dation ion,, W3C (Worl (World d Wide Wide Web Consor Consortiu tium), m), Februar ebruary y 2004 2004.. URL http://www.w3. org/TR/2004/REC-rdf-concepts-20040210/ . Jere Jeremy my J. Carro Carroll ll,, Ian Ian Dic Dickins kinson on,, Chri Chriss Doll Dollin in,, Dav Dave Reyn Reynold olds, s, Andy Andy Seabo Seaborn rne, e, and and Kevi Kevin n Wilk Wilkin inso son. n. Jena Jena:: Im Impl plem emen enti ting ng the the Sema Semant ntic ic Web Recomm Recommend endati ations ons.. In WWW Alt. Alt. ’04: Pro Proceedings dings of the 13th international World Wide Web conference on Alternate track papers & posters, pages pages 74–8 74–83, 3, New York, York, NY, USA, 2004. ACM. ISBN ISBN 1-58 1-58113113912-8. doi: 10.1145/1013367.1013381. James Clark. XSL Transforma Transformations tions (XSLT). (XSLT). W3C Recommendation, Recommendation, W3C (World (World Wide Web Web Consortium), Consortium), November November 1999. URL http://www.w3. org/TR/xslt. Manuel Manuel Clavel, Clavel, Francisco rancisco Dur´ an, an, Steve Steven n Eker, Eker, Patric Patrick k Lincol Lincoln, n, Narciso Narciso Mart´ı-Oliet, ı-Oliet , Jos´e Meseguer, Mesegue r, and Jos´e F. F . Quesada. Quesad a. Maude: Specificatio Spec ification n and programming in rewriting rewriting logic. Theoretical Computer Science, 2001. Simona Simona Colucc Colucci, i, Tomm ommaso aso Di Noi Noia, a, Eugeni Eugenioo Di Sciasc Sciascio, io, Francesc rancescoo M. Donini Donini,, Marina Marina Mongiel Mongiello, lo, and Marco Marco Mottola Mottola.. A Formal ormal Approach Approach to Ontology-B Ontology-Based ased Semantic Match of Skills Skills Descriptions Descriptions.. Journa Journall of Universal Computer Science, 9(12):1437–1454, December 2003. Simona Simona Colucc Colucci, i, Tomm ommaso aso Di Noi Noia, a, Eugeni Eugenioo Di Sciasc Sciascio, io, Francesc rancescoo M. Doni Donini ni,, Giac Giacom omoo Pisc Piscit itel elli li,, and Stefano Stefano Coppi. Coppi. Know Knowle ledge dge Based Based Approac Approach h to Semantic Semantic Compositi Composition on of Teams Teams in an Organiz Organizatio ation. n. In SAC ’05: Proceedings of the 2005 ACM symposium on Applied computing , pages 1314–1319, New York, York, NY, USA, 2005. ACM. ISBN 1-58113-964-0. 1-58113-964-0. David David Beckett. Beckett. Turtle — Terse Terse RDF Triple Triple Language. Technical echnical report, November Nov ember 2007. URL http://www.dajobe.org/2004/ [Online; e; http://www.dajobe.org/2004/01/turtle/ 01/turtle/ . [Onlin accessed 30-July-2008]. David David Leal. ISO 15926 ”Life ”Life Cycle Data for Process Plant”: Plant”: An Overview. Overview. Oil & Gas Science and Technology , 60(4):629–637, 2005. Jos de Bruijn, Bruijn, Christoph Christoph Bussler, John Domingue, Domingue, Dieter Fensel Fensel,, Martin Hepp, Uwe Keller, Michael Kifer, Birgitta K onig-Ries, Kopecky,, ¨onig-Ries, Jacek Kopecky Rub Rub´en e n La Lara ra,, Ho Holge lgerr La Laus usen en,, Eyal Eyal Oren Oren,, Ax Axel el Poll Poller eres es,, Dumi Dumitru tru Roman, James Scicluna, Scicluna, and Michael Michael Stollberg. Web Service Modeling Modeling Onto Ontolo logy gy (WSM (WSMO) O).. Me Memb mber er subm submis issi sion on,, W3 W3C C (Worl (World d Wide Wide Web Cons Consort ortiu ium) m),, June June 2005a. 2005a. UR URL L http://www.w3.org/Submission/2005/ SUBM-WSMO-20050603/ . Jos de Bruijn Bruijn,, Dieter Dieter Fensel, ensel, Uwe Uwe Keller Keller,, Michae Michaell Kifer, Kifer, Hol Holger ger Lausen Lausen,, Reto Reto Krummen Krummenac acher her,, Axel Axel Polle Polleres res,, and Livia Predoiu. Predoiu. Web Servic Servicee
103
BIBLIOGRAPHY
BIBLIOGRAPHY
Modeling Modeling Language (WSML). Mem Member ber Submisson, Submisson, W3C (World (World Wide Web Consort Consortiu ium) m),, June June 2005b. 2005b. UR URL L http://www.w3.org/Submission/ 2005/SUBM-WSML-20050603/ . Anders Anderson on Santan Santanaa de Olive Oliveira ira.. Rewrit Rewriting ing-ba -based sed access access control control policie policies. s. 171(4): ):59 59–72 –72,, 200 2007. 7. ISSN ISSN 15711571Electr Electron. on. Notes Theor. Theor. Comput. Sci., 171(4 0661. doi: 10.1016/j.entcs.2007.02.055. Francesc rancescoo M. Donini Donini,, Mauriz Maurizio io Lenzer Lenzerini ini,, Daniel Danielee Nardi, Nardi, and Andrea Andrea Schae Schaerf. rf. Reason Reasoning ing in Descript Description ion Logics. Logics. Princi Principle pless of Knowle Knowledge dge Representation , pages 191–236, 1996. ISSN 1-57586-056-2. Francisco Dur´an, an, Javier Herrador, and Antonio Vallec Vallecillo. illo. Using UML and Maud Ma udee for Writi riting ng and and Reas Reason onin ingg about about ODP ODP Poli Polici cies es.. In POLICY ’03: Proceedings of the 4th IEEE International Workshop on Policies for Distributed Systems and Networks, pages 15–25, Washington, DC, USA, October 2003. IEEE Computer Society. ISBN 0-7695-1933-4. Lauri Lauri Eloran Eloranta, ta, Eero Kallio, Kallio, and Ilkka Ilkka Terho. erho. A Notati Notation on Evalu Evaluati ation on of BPMN BPMN and UML Activi Activity ty Diagrams. Diagrams. [Onlin [Online; e; access accessed ed 5-M 5-May ay-20 -2008], 08], 2006 2006.. UR URL L http://www.soberit.hut.fi/T http://www.soberit.hut.fi/T-86/T-86.5161/2006/BPMN_vs_ -86/T-86.5161/2006/BPMN_vs_ UML_final.pdf. Holger Endert Holger Endert,, Tobias obias Kuster, u Benjamin n Hirsc Hirsch, h, and Sahin Sahin Albay Albayrak. rak. ¨ ster, Benjami Mappin Mapping g BPMN to Agents: Agents: An Analysi Analysis. s. In Agent, Web Services, and Ontologies Integrated Methodologies, pages 43–58, May 2007. Ener Energis gisti tics cs.. PROD PRODML ML Specifi Specifica cati tion ons, s, Versi ersion on 1.0 1.0.. Techn echnic ical al repor report, t, Ener Energi gist stic ics, s, No Nov vem embe berr 2006. 2006. URL UR L http://www.prodml.org/images/ [Onlin [Online; e; access accessed ed 2prodml/standards/v10/PRODM prodml/standards/v10/PRODMLV1.0_1117200 LV1.0_11172006.zip 6.zip . June-2008]. Energistics. Energistics. WITSML WITSML — Wellsite ellsite Information Information Transfer Transfer Standard Markup Language, 2008. URL http://www.witsml.org/. Erlend Erlend Agø Agøy y Engum Engum and Rolf Rolf Axel Axel Wathne. athne. Databas Databaser er for Dynami Dynamisk skee Arbeidsproses Arbeidsprosesser. ser. Master’s Master’s thesis, thesis, Norges Teknisk Teknisk-Natur -Naturviten vitensk skapelige apelige Universite Universitett (NTNU), (NTNU), June 2004. Roar A. Fjel Roar Fjellh lhei eim, m, Reid Reidar ar Brat Bratv vold, old, and and Mi Mik ke He Herb rber ert. t. CODI CODIO O — Collabo Collaborati rative ve Decisi Decisionm onmaki aking ng in Integr Integrate ated d Operatio Operations. ns. In Intelligent Conver erti tion on Cent Centre re,, ener energy. Optimis Optimiseed effic efficenc ency. y. Smarte Smarterr busine business. ss., Conv Amsterdam RAI, The Netherlands, February 2008. Society of Petroleum Engineers. Dimi Dimitr trios ios Georgak Georgakopo opoul ulos os,, Ma Mark rk F. Ho Horn rnic ick, k, and and Am Amit it P. Shet Sheth. h. An Overview of Workflow Management: From Process Modeling to Workflow Automation Infrastructure. Distributed and Parallel Databases, 3(2):119– 153, April 1995. ISSN 0926-8782. doi: 10.1007/BF01277643. 104
BIBLIOGRAPHY
BIBLIOGRAPHY
Benjamin Benjamin N. Grosof, Ian Horrocks, Raphael Volz, Volz, and Stefan Decker. Decker. Description scription Logic Programs: Combining Combining Logic Programs With Description Logic. In WWW ’03: Proceedings of the 12th international conference on pages 48–5 48–57. 7. ACM, May 2003. ISBN ISBN 1-5 1-58113 8113-68 -680-3. 0-3. World Wide Web, pages doi: 10.1145/775152.7 10.1145/775152.775160. 75160. Thomas R. Gruber. Toward Principles for the Design of Ontologies Used for Knowledge Sharing. International Journal Human-Computer Studies, 43 (5–6):907–928, (5–6):907–928, November November 1995. ISSN 1071-5819. 1071-5819. doi: 10.1006/ijhc. 10.1006/ijhc.1995. 1995. 1081. Jon Atle Gulla, Gulla, Darijus Darijus Strasuns Strasunsk kas, and Stein L. Toma omasse ssen. n. Seman Semantic tic Interoperability in the Norwegian Petroleum Industry. Proceedings of the 5th International Conference on Information Systems Technology and its Applications (ISTA 2006), P-84:81–94, 2006. Martin Marti n He Hepp pp and and Dumi Dumitru tru Roman. Roman. An Ontolo Ontology gy Frame ramew work for SeSeman ma ntic tic Busi Busine ness ss Proc Proces esss Ma Mana nage geme men nt. In Pro Proceedings dings of the 8th UniversitaetsverInternation International al Conferenc Conferencee Wirtschaftsin Wirtschaftsinformat formatik ik 2007 . Universitaetsverlag lag Karlsr Karlsruh uhe, e, Febru ebruary ary 2007. 2007. UR URL L http://www.heppnetz.de/files/ hepp-roman-an-ontology-framework-for-SBPM-WI2007.pdf . Martin Martin Hepp, Hepp, Frank Leyman Leymann, n, John John Domingu Domingue, e, Alexan Alexander der Wahler, ahler, and Dieter Fensel. Semantic Business Process Management: A Vision Towards Using Using Seman Semantic tic Web Web Servic Services es for Business Business Process Process Manage Managemen ment. t. In ICEBE ICEBE ’05: ’05: Pro Proceedings dings of the IEEE IEEE Intern Internati ationa onall Confer Conferenc encee on eBusiness Engineering , pages 535–540, Washington DC, USA, 2005. IEEE Computer Society. ISBN 0-7695-2430-3. doi: 10.1109/ICEBE.2005.110. Holger Knublauc Holger Knublauch. h. Seman Semantic tic Web Web Rules; Rules; Tools and Langua Languages ges — Jena Jena Rules Walkth Walkthrough. rough. Rule and Rule Markup Languages for the Semantic Semantic Web, Second International Coference, November 2006. URL http://2006. ruleml.org/slides/tutorial-holger.pdf. [Online; accessed 25-july-2008]. Bjørn Bjørn Holst and Espen Espen Nystad Nystad.. Oil & Gas offshore/ offshore/ons onshor horee Integ Integrate rated d Operati Operations ons - introdu introducin cingg the Brage 2010+ 2010+ project. project. In Human Factors and Power Plants and HPRCT 13th Annual Meeting, 2007 IEEE 8th , pages 357–359, August 2007. doi: 10.1109/HFPP.2007.4413233. Matthew Horridge, Holger Knublauch, Alan Rector, Robert Stevens, and Chris Chris Wroe. Wroe. A practi practical cal guide to buildi building ng OWL ontol ontologie ogiess using using the Protege-OWL plugin and CO-ODE tools Edition 1.0, 2004. URL http:// [Onlin ine; e; www.co-ode.org/resources/tutorials www.co-ode.org/resour ces/tutorials/ProtegeOWLTut /ProtegeOWLTutorial.pdf orial.pdf . [Onl accessed 13-May-2007]. Ian Horrocks. DAML+OIL: a Description Logic for the Semantic Web. IEEE Data Engine Engineering Bulletin , 25(1):4–9, 2002.
105
BIBLIOGRAPHY
BIBLIOGRAPHY
Ian Horrocks, Peter F. Patel-Schneider, Harold Boley, Said Tabet, Benjamin Gros Grosof of,, and and Mi Mik ke Dean Dean.. SWRL SWRL:: A Sema Seman ntic tic Web Rule Rule La Lang ngua uage ge Comb Combin inin ingg OWL OWL and and Rule RuleML ML,, Ma May y 200 2004. 4. UR URL L http://www.w3.org/ Submission/SWRL/. Hydro. Hydros APOS (Arbeids Prosess Prosess Orientert Orientert Styring) Styring) documentation, documentation, January January 2008. [Workflo [Workflow w diagrams, descriptions, descriptions, documents, documents, etc. in the SoluDyne system. Not publicly available]. ISO. ISO. ISO ISO 15926 15926:: Indu Indust stri rial al autom automat atio ion n syst system emss and integ integra rati tion on – InIntegr tegrati ation on of life life-c -cyc ycle le data data for proce process ss plan plants ts incl includ udin ingg oil oil and and gas produ product ctio ion n faci facili liti ties es – Part Part 1: Over Overvi view ew and and fund fundam amen enta tall princ princiiples. Technical echnical report, The International International Standardizat Standardization ion Organization, Organization, July July 2004 2004.. UR URL L http://www.iso.org/iso/iso http://www.iso.org/iso/iso_catalogue/ca _catalogue/catalogue_tc/ talogue_tc/ catalogue_detail.htm%?csnu catalogue_detail.htm%?csnumber=29556 mber=29556 . ISO. ISO 15926: Industrial automation systems and integration–Integration of life life-c -cyc ycle le data data for oil oil and and gas gas produ product ctio ion n facil facilit itie ies– s–Pa Part rt2: 2: Data Data Model. Technical echnical report, The International International Standardizat Standardization ion Organizahttp://www.iso.org/iso/iso_catalogue/ca _catalogue/catalogue_tc/ talogue_tc/ tion tion,, 2003. 2003. UR URL L http://www.iso.org/iso/iso catalogue_detail.htm%?csnu catalogue_detail.htm%?csnumber=29557 mber=29557 . ISO. ISO 15926: Industrial Industrial automation automation systems systems and integration integration – IntegraIntegration of life-cycle data for process plants including oil and gas production facilities – Part 4: Initial reference data . Technical report, The International Standardizat Standardization ion Organization, Organization, 2007. URL http://www.iso.org/iso/iso_ catalogue/catalogue_tc/cat catalogue/catalogue_tc/catalogue_detail alogue_detail.htm%?csnumber .htm%?csnumber=41329 =41329 . JaeJae-Y Yoon oon Jung Jung and and Ho Hoon onta taee Kim Kim and and Suk Suk-H -Hoo Ka Kang ng.. Stan Standa dard rdssComputers base based d appr approa oacches hes to B2 B2B B workfl orkfloow inte integr grat atio ion. n. URL & Indu Indust stri rial al Engi Engine neer erin ing g , 51:321–334, October 2006. http://www.sciencedirect.c http://www.sciencedirect.com/science/ar om/science/article/B6V27-4KVXHGT-2/1/ ticle/B6V27-4KVXHGT-2/1/ c7470c49eeb4d1cba3e6ea8126c8c0d4.
Jean Jean-J -Jac acqu ques es Dubr Dubraay.
BPMN BPMN 1.0 Meta Meta Model Model,, Octo Octobe berr 2007 2007.. UR URL L http://www.wsper.org/bpmn10.html. [Online; accessed 19-November-2007.
Uwe Keller, Cristina Feier, Feier, Nathalie Steinmetz, Steinmetz, and Holger Lausen. Report on reasoning techniques and prototype implementation for the WSMLCore and WSML-DL languages. RW 2 Project Project Deliverable, July 2006. Michel Michel Klein, Dieter Fensel, ensel, Frank van Harmelen, Harmelen, and Ian Horrocks. Horrocks. The Relation Between Ontologies and XML Schemas. Electronic Transactions on Artificial Intelligence. Special Issue on the 1st International Workshop 5:65–9 –94, 4, ”Semant Semantic ic Web: Web: Model Models, s, Ar Archi chite tectu cturres and Manage Managemen ment” t”, 5:65 October 2001. Weiqiang Kong, Kazuhiro Ogata, and Kokichi Futatsugi. Formal Analysis of
106
BIBLIOGRAPHY
BIBLIOGRAPHY
Workflow Systems with Security Considerations. In Seventeenth International Conference on Software Engineering and Knowledge Engineering , pages 531–536, Howard International House,Taipei, Taiwan, Republic of China, July 2005. Philip A. Laplante. Laplante. Dictionary Dictionary of Computer Computer Science Science,, Enginee Engineering, ring, and Technology . CRC Press, December 2000. ISBN 978-0849326912. Eve Eve Mal Maler, er, Jean Jean Paoli Paoli,, C. M. Sperberg Sperberg-Mc -McQue Queen, en, Fran¸cois cois Yergeau, Yergeau, and Tim Bray Bray. Extens Extensibl iblee Markup Markup Langua Language ge (XML) (XML) 1.0 (Fourt (Fourth h Edition Edition). ). W3C Recommendat Recommendation, ion, W3C (World (World Wide Web Consortium), Consortium), August August 2006. URL http://www.w3.org/TR/2006/REC-xml-20060816.
Communic icatin atingg and Mobile Systems: Systems: The Pi Calculu Calculuss. Robin Milner. Milner. Commun Cambridge Cambridge University University Press, June 1999. ISBN 978-0521658690. 978-0521658690. Minisstry Mini try of Petro etrole leum um and and Ener Energy gy.. Stor Storti ting ngsm smeeldin ldingg 38 — del del 3.3, 3.3, 2007 2007a. a. UR URL L http://www.regjeringen.no/n http://www.regjeringen.no/nb/dep/oed/dok/ b/dep/oed/dok/regpubl/ regpubl/ stmeld/20032004/Stmeld-nr-38-2003-2004-/3/3.html?id=404862 . [Online; accessed 21-February-2008]. Minist Ministry ry of Petrol Petroleum eum and Energy Energy.. Beskri Beskrive velse lse av det sammen sammensl sl˚ ˚ atte sels selsk kapet apet,, 2007 2007b. b. URL UR L http://www.regjeringen.no/ http://www.regjeringen.no/nb/dep/oed/do nb/dep/oed/dok/ k/ regpubl/stprp/20062007/Stprp-nr-60-2006-2007-/6.html?id=462001 . [Online; accessed 29-January-2008]. Rick Rick Morneau. Morneau. PRODuction PRODuction xML Standard Standard Overview, Overview, Marc Ma rch h 2007. 2007. URL URL http://www.energistics.org http://www.energistics.org/images/posc/m /images/posc/meetings/ eetings/ mar07annual/mar07annual_prodml.ppt. [Online; accessed 9-May-2008]. Davi David d Norhe Norheim im and and Ro Roar ar A. Fjel Fjellh lhei eim. m. AK AKSI SIO O — Ac Acti tive ve Knowl Knowled edge ge Manage Managemen mentt in the Petrole Petroleum um Industry Industry.. In Europe European an Semantic Semantic Web Conference Conference (ESWC), Budova, Montenegro, June 2006. URL http://ftp. informatik.rwth-aachen.de/Publicat informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-194/paper3.pdf ions/CEUR-WS/Vol-194/paper3.pdf . Natalya F. Noy and Debor borah L. McGuinness. Ontology Development 101: A Guide to Creating Your First Ontology ogy, http://www.ksl.stanford.edu/people/dlm/p u/people/dlm/papers/ apers/ March 20 2001. URL http://www.ksl.stanford.ed [Online; e; access accessed ed 22ontology101/ontology101-noy-mcguinness.html. [Onlin December-2007]. Natalya F. Noy, Michael Sintek, Stefan Decker, Monica Crubezy, Ray W. Fergerson, ergerson, and Mark A. Musen. Musen. Creating Creating Semantic Web Web Contents Contents with Prot´eg´ eg ´e-2 e- 2000. IEEE Intelligent Systems, 16(2):6 16(2):60–71 0–71,, 2001 2001.. ISSN ISSN 1541 1541-1672. doi: 10.1109/5254.920601. OLF. Integrated Work Prcess: Future work processes on the NCS. Technical report, OLF (Oljeindustriens (Oljeindustriens Landsforenin Landsforening), g), October 2005. URL http:
107
BIBLIOGRAPHY
BIBLIOGRAPHY
[Online; accessed accessed 17-September17-September//www.olf.no/io/rapporter/ //www.olf.no/io/rapporter/?51638.pdf ?51638.pdf . [Online; 2007]. OLF. Verdipotensi erdip otensialet alet for f or Integrerte Integ rerte operasjone oper asjonerr p˚ p˚ a Norsk Nor sk Sokkel. Technical report, report, OLF (Oljeind (Oljeindust ustrie riens ns Landsfore Landsforenin ning), g), April April 2006 2006.. URL http: [Online; accessed accessed 17-September 17-September-//www.olf.no/io/aktuelt/?32756.pdf. [Online; 2007]. OLF. Oppda OLF. Oppdate teri ring ng av verd verdipo ipote tens nsia iale lett i IO. IO. Techn echnic ical al report, report, OLF (Oljeindust (Oljeindustriens riens Landsforening Landsforening), ), December December 2007. URL http://www.olf. no/io/rapporter/?52498.pdf. [Online; accessed 17-June-2008]. OMG. Business Business Process Modeling Notation Notation (BPMN) Information, Information, FAQ, FAQ, http://www.bpmn.org/Documents/FAQ.htm ents/FAQ.htm . [Onlin 2005. 200 5. UR URL L http://www.bpmn.org/Docum [Online; e; accesse accessed d 13-May-2008]. OMG. OMG. Busine Business ss Process Modeling Modeling Notatio Notation n Specific Specificati ation on 1.1 - DRAFT. DRAFT. Techni echnical cal report, report, OMG (Object (Object Managem Managemen entt Group, Group, Inc.), Inc.), July July 2007 2007.. [Currently not publicly available]. OMG. OMG. BPMN BPMN Informat Information ion Home, Home, January January 2008. 2008. URL http://www.bpmn. [Online; accessed 26-May-2008]. 26-May-2008]. org/. [Online; OMG. OMG. Fina Finall Adop Adopte ted d BPMN BPMN 1.0 1.0 Specifi Specifica cati tion on.. Techn echnic ical al repo report rt,, OMG OM G (Obje (Object ct Ma Mana nage geme men nt Group roup,, Inc. Inc.), ), Febru ebruar ary y 2006 2006.. URL UR L http://www.bpmn.org/Docume http://www.bpmn.org/Documents/OMG%20Fin nts/OMG%20Final%20Adopted%2 al%20Adopted%20BPMN%201-0% 0BPMN%201-0% 20Spec%2006-02-01.pdf .
Chun Ouyang, Will M.P. van der Aalst, Marlon Dumas, and Arthur H.M. ter ter Ho Hofs fste tede de.. Trans ransla lati ting ng BPMN BPMN to BPEL. BPEL. [Onl [Onlin ine; e; acce access ssed ed 2http://is.tm.tue.nl/staff/wvdaalst/BPMc /wvdaalst/BPMcenter/ enter/ May-2008], 2006. URL http://is.tm.tue.nl/staff reports/2006/BPM-06-02.pdf . Patri atricck Ha Hay yes Peter eter F. Patel atel-S -Scchnei hneide derr and and Ian Ian Ho Horr rroc ocks ks.. OWL Web Onto Ontolo logy gy La Lang ngua uage ge Sema Seman ntics tics and and Abst Abstra ract ct Syn Syntax. tax. W3C W3 C Recommendation, W3C (World Wide Web Consortium), February 2004. URL http://www.w3.org/TR/owl-semantics/. H. Sofia Sofia Pin Pinto and and Jo˜ Joao a˜ o Pav˜ a o Ma ao Mart rtiins. ns. Reus Reusin ing g On Ontolo tologi gies es.. In Pro Proceedings dings of the AAAI2 AAAI2000 000 Spring Spring Symp Symposium osium Series Series,, Worksh Workshop op pages 77–8 77–84. 4. AAA AAAII Press, Press, Bringing Bringing Knowledge Knowledge to Business Business Proc Processes esses, pages March 2000. Eric Eric Prud Prud’h ’hom omm meau eaux and and Andy Andy Seab Seabor orne ne.. SPAR SPARQL QL query uery lanlanguage for RDF. W3C Recommendation, W3C (World rld Wide Web Conso Consort rtiu ium) m),, Janu Januar ary y 2008. 2008. UR URL L http://www.w3.org/TR/2008/ REC-rdf-sparql-query-20080115/ . Bjørn Rasen.
Time for integrated action, March 2008.
108
URL
BIBLIOGRAPHY
BIBLIOGRAPHY
http://www.npd.no/English/ http://www.npd.no/English/Emner/IO/IO-forum/11.0 Emner/IO/IO-forum/11.03.08+time+for 3.08+time+for+ + integrated+action.htm. [Online; accessed 7-July-2008].
Jan C. Recke Reckerr and Jan Mendli Mendling: ng:.. On the Transla ranslatio tion n betwe between en BPMN and BPEL: Conceptual Mismatch between Process Modeling Languages. In Thibaud Latour and Micha¨el el Petit, Petit, editors, editors, CAiSE 2006 Workshop Proc Procee eedings dings - Eleventh Eleventh Internation International al Workshop Workshop on Exploring Exploring Modeling Modeling Metho Methods ds in System Systemss Analy Analysis sis and Design Design (EMMSA (EMMSAD) D), pages 521–532, June June 200 2006. 6. ISBN ISBN 287 28703 0375 7525 255. 5. UR URL L http://wi.wu-wien.ac.at/home/ mendling/publications/06-EMMSAD.pdf. Stuart Russell and Peter Norvig. Artificial Intelligence: A Modern Approach . Prentice Hall, second edition, 2003. ISBN 0-13-080302-2. David Davidee Sangior Sangiorgi gi and David David Walker. alker. The Π − calculus A The Theory ory of Mobile Processes Processes. Cambridge University Press, October 2003. ISBN 9780521543279. Ulri Ulrik ke Satt Sattle ler, r, Frank rank Wolte olter, r, and and Ian Ian Ho Horr rroc ocks ks.. Comp Compos osin ingg and and decompos decomposing ing ontolo ontologie gies: s: a logic-b logic-base ased d approac approach—A h—A Case Case for Support. Support. [Online; [Online; accessed 5-June-2008], 5-June-2008], December December 2006a. URL http://www.csc. liv.ac.uk/~dirk/modularity liv.ac.uk/~dirk/modularity/papers/conse /papers/conservative-epsrc-proposal.pdf rvative-epsrc-proposal.pdf . Ulrike Sattler, Frank Wolter, Ian Horrocks, Borris Konev, and Bijan Parsia. Composing and decomposing ontologies: a logic-based approach — A Case for Support, Support, 2006b. 2006b. URL http://www.csc.liv.ac.uk/~d http://www.csc.liv.ac.uk/~dirk/modularit irk/modularity/ y/ papers/conservative-epsrc-proposal.pdf. [Online; [Online; accessed accessed 12-March12-March2008]. Daniel Schall, Hong-Linh Truong, and Schahram Dustdar. Unifying Human IEEE Intern Internet et and Softwa Software re Servic Services es in Web-Sca eb-Scale le Collabor Collaborati ations ons.. IEEE Computing , 12(3):62–68, 2008. ISSN 1089-7801. doi: 10.1109/MIC.2008. 66. Harold M. Schroder, Michael J. Driver, and Siegfried Streufert. Human Information Processing: Individuals and Groups Functioning in Complex Social Situations. Holt, Rinehart & Winston, Inc., 1967. Dave Dave Shiple Shipley y, Ben Weltevr eltevrede ede,, Ala Alan n Doniger Doniger,, Hans Hans Eric Eric Klumpen Klumpen,, and Laurence Laurence Ormerod. Production Production Data Standards: Standards: The PRODML Business Business Case and Evolutio Evolution. n. In Intelligent Energy 2008 conference, Amsterdam, Society y of Petrol Petroleum eum Enginee Engineers, rs, The Neherl Neherland ands, s, 25-7 25-7 Febr ebruar uaryy 2008 . Societ February 2008. Bruce Silver. 2007.
What if BPMN Were a Mode odeling Language?, http://www.brsilver.com/w http://www.brsilver.com/wordpress/2007/ ordpress/2007/04/30/ 04/30/ URL [Onl [Onlin ine; e; acce access ssed ed 2222what-if-bpmn-were-a-modeling-language/ . October-2007].
109
BIBLIOGRAPHY
BIBLIOGRAPHY
Evren Sirin, Bijan Parsia, Bernardo Cuenca Grau, Aditya Kalyanpur, and Yarden arden Katz. Katz. Pelle Pellet: t: A practic practical al OWL-DL OWL-DL reasoner reasoner.. Web Semantics: Science, Services and Agents on the World Wide Web , 5(2):51–53, June 2007. ISSN 1570-8268. doi: 10.1016/j.websem.2007.03.004. Peter Peter Spyns, Spyns, Robert Meersman, Meersman, and Mustafa Mustafa Jarrar. Data modelling versus Ontology engineering. SIGMOD Record , 31(4):1 31(4):12–17 2–17,, 2002 2002.. ISSN ISSN 01635808. doi: 10.1145/637411.637413. Statoil StatoilHyd Hydro. ro.
˚ Statoi StatoilHy lHydro dross Arsr Arsrap appo port rt for 2007 2007,, Apri Aprill 2008 2008..
URL UR L
http://www.statoilhydro.co http://www.statoilhydro.com/no/NewsAndM m/no/NewsAndMedia/News/2008 edia/News/2008/Pages/ /Pages/ 2007report.aspx. [Also available online].
Step Stephe hen n A. Whit White. e. Intro Introdu duct ctio ion n to BPMN BPMN.. Techn echnic ical al report, report, OMG (Object (Object Manageme Management nt Group, Group, Inc.), Inc.), May 2004. URL http://www.bpmn. [Onl Online; ine; acc accesse essed d 1212org/Documents/Introduction org/Documents/Introduction%20to%20BPMN. %20to%20BPMN.pdf pdf . November-2007]. Darijus Strasunsk Strasunskas as and Stein L. Tomassen. omassen. Scenario-Dri Scenario-Driven ven Information Information Retrie Retriev val: Supporti Supporting ng Rule-B Rule-Base ased d Monito Monitoring ring of Subsea Subsea Operatio Operations. ns. Information Technology and Control , 36(1A):87–92, 2007. Hans Teijgel Teijgeler. er. The Process Industries Industries and the ISO 15926 Semantic Semantic Web. Web. [Online - Updated 12 March 2008-edition; accessed 23-May-2008], August 2007. URL http://www.infowebml.ws/T http://www.infowebml.ws/Topics/papers/1 opics/papers/15926SW.htm 5926SW.htm . Tim Tim Be Bern rner erss-Le Lee. e. Notat Notatio ion3 n3 (N3) (N3) A reada readabl blee RDF RDF synt syntax ax.. Techn echnic ical al report, W3C (World (World Wide Web Web Consortium), Consortium), March 2006. URL http: //www.w3.org/DesignIssues/Notation3. Magne Valen-Sen Valen-Sendstad. dstad. POSC Caesar/EPISTLE/IS Caesar/EPISTLE/ISO O 15926 presentat presentation ion at Det Norske Norske Veritas eritas 14 February ebruary 2008, February ebruary 2008. [No [Nott public publicly ly available]. Frank van Harmelen Harmelen and Deborah L. McGuin McGuinnes ness. s. OWL OWL Web Ontol Ontology ogy Lang Langua uage ge Over Overvi view ew.. W3C W3 C Reco Recomm mmen enda dati tion on,, W3 W3C C (Wor (World ld Wide Wide Web Consorti Consortium) um),, Februar ebruary y 2004. URL http://www.w3.org/TR/2004/ REC-owl-features-20040210/ . Wikipedia. Business process management — wikipedia, the free encyclopedia, 2008a. URL http://en.wikipedia.org/w/i http://en.wikipedia.org/w/index.php?titl ndex.php?title=Business_ e=Business_ [Online; [Online; accessed accessed 24-F 24-Februar ebruaryyprocess_management&oldid=191665516. 2008]. Wikiped Wikipedia. ia. Upper Upper ontolo ontology gy (infor (informati mation on scienc science) e) — wikiped wikipedia, ia, the free encyclopedia, 2008b. URL http://en.wikipedia.org/w/i http://en.wikipedia.org/w/index.php?titl ndex.php?title= e= [Online; Upper_ontology_%28informat Upper_ontology_%28information_science%2 ion_science%29&oldid=210976 9&oldid=210976563 563 . accessed 24-July-2008].
110
BIBLIOGRAPHY
BIBLIOGRAPHY
Wiki Wikiped pedia ia.. Busi Busine ness ss proce process ss model modelin ingg nota notati tion on — wiki wikiped pedia ia,, the the free free encycl encycloped opedia, ia, 2007. URL http://en.wikipedia.org/w/i http://en.wikipedia.org/w/index.php?titl ndex.php?title= e= Business_Process_Modeling_ Business_Process_Modeling_Notation&oldi Notation&oldid=158972395 d=158972395 . [Online; [Online; accessed 26-September-2007]. Petia Petia Wohed, ohed, Wil M.P. M.P. van der Aal Aals, s, Marlon Marlon Dumas, Dumas, Arthur Arthur H.M H.M.. ter Hofstede, and Nick Russell. Lecture Notes in Computer Science, volume 4102/200 4102 /2006, 6, chapt chapter er On the Suitab Suitabili ility ty of BPMN BPMN for Busine Business ss Process Process Modelling, pages 161–176. Springer, 2006. Peter Peter Y.H. Wong and Jerem Jeremy y Gibbons Gibbons.. A Process Process Semantic Semanticss for BPMN. Submitted Submitted for publication publication.. Extended Extended version version available available online, 2008. URL http://web.comlab.ox.ac.uk http://web.comlab.ox.ac.uk/oucl/work/pe /oucl/work/peter.wong/pub/b ter.wong/pub/bpmnsem.pdf pmnsem.pdf . YAWL Foundation. YAWL - Yet Another Workflow Language, 2007. URL [Online; accessed accessed 13http://www.yawlfoundation. http://www.yawlfoundation.org/theory/in org/theory/index.php dex.php . [Online; May-2008]. Øyst Øystei ein n Fosse ossen. n. Inte Integr grer erte te operas operasjon joner er — akse aksele lere rert rt læri læring ng;; Hø Høyd ydeepunkte punkterr fra p˚ ag˚ ag˚ aende aende OLF prosjek prosjekt, t, Stav Stavanger anger 12. juni. juni. OLFs OLFs konfe onfera rans nsee om inte integr grer erte te opera operasj sjon oner er 12. 12. og 13. 13. juni juni 2007 2007,, June June http://www.olf.no/getfile.php/Konverter php/Konvertert/www.olf.no/ t/www.olf.no/ 2007. URL http://www.olf.no/getfile. Aktuelt/Dokumenter/OLFs%20 Aktuelt/Dokumenter/OLFs%20IO-konferanse%202007%2 IO-konferanse%202007%20-%20%C3%98ystein% 0-%20%C3%98ystein% 20Fossen%2C%20Arbforskinst.pdf. [Online; accessed 25-july-2008].
111
Appendix
112
Appendix A
The SemTask OWL Ontologies A.1 A.1
The The BPMN BPMN On Onto tolo logy gy Listing A.1: The BPMN Ontology in OWL-AS
Namespace( Namespace ( r d f -ns#> ) Namespace( Namespace ( o w l Namespace( Namespace ( x s d Namespace( Namespace ( r d f s Namespace(b Namespace (bp pmn /bpmn#> )
=
) ) )
Ontology ( ObjectProperty (bpmn:bpmnObjectProperty) ObjectProperty (bpmn:connected inverseOf (bpmn:hasConnecting) ( bpmn:hasConnecting) domain(bpmn:Connecting) domain (bpmn:Connecting) range ( unionOf (bpmn: ( bpmn:Fl Flow ow bpmn :Arti fact ) ) ) ObjectProperty (bpmn:connectedFrom inverseOf (bpmn:hasConnectingFrom) ( bpmn:hasConnectingFrom) domain( domain ( bpmn:Connec bpmn:Connecting) ting) ) ObjectProperty (bpmn:connectedTo Functional inverseOf (bpmn:hasConnectingTo) ( bpmn:hasConnectingTo) domain( domain ( bpmn:Connec bpmn:Connecting) ting) ) ObjectProperty (bpmn:hasActivityTaskType Functional domain( domain ( unionOf ( o w l :T :T h i ng n g b p m n :A :A c t i vi vi t y ) ) range ( bpmn:ActivityTa bpmn:ActivityTaskType) skType) ) ObjectProperty (bpmn:hasConnecting inverseOf (bpmn:connected) ( bpmn:connected) 113
A. THE SEMTASK OWL ONTOLOGIES
A.1. THE BPMN ONTOLOGY
domain( domain ( unionOf (bpmn: ( bpmn:Fl Flow ow bpmn: Artif act ) ) range ( bpmn:Conne bpmn:Connecting) cting) ) ObjectProperty (bpmn:hasConnectingFrom inverseOf ( bpmn:connecte bpmn:connectedFrom) dFrom) ) ObjectProperty (bpmn:hasConnectingTo InverseFunctional bpmn:connectedTo) ) inverseOf ( bpmn:connectedTo) ObjectProperty (bpmn:hasLane InverseFunctional inverseOf ( bpmn:isInPoo l ) domain(bpmn:Pool) domain (bpmn:Pool) range ( bpmn:Lane) bpmn:Lane) ) ObjectProperty (bpmn:hasObject InverseFunctional inverseOf ( b p m n : i s I n L a n e ) domain(bpmn:Lane) domain (bpmn:Lane) range ( unionOf ( bpmn:Connecting bpmn:F bpmn:Flow) low) ) ) ObjectProperty (bpmn:hasStartEvent Functional InverseFunctional domain(bpmn:SubProcess) domain (bpmn:SubProcess) range ( bpmn:StartEvent bpmn:StartEvent ) ) ObjectProperty ( b p m n : i s I n L a n e Functional inverseOf (bpmn:hasObject) ( bpmn:hasObject) domain( domain ( unionOf ( bpmn:Connecting bpmn:F bpmn:Flow) low) ) range ( bpmn:Lane) bpmn:Lane) ) ObjectProperty ( bpmn:is InPool Functional inverseOf (bpmn:hasLane) ( bpmn:hasLane) domain(bpmn:Lane) domain (bpmn:Lane) range ( bpmn:Pool) bpmn:Pool) ) DatatypeProperty(bpmn:bpmnDatatypeProperty) DatatypeProperty (bpmn:bpmnDatatypeProperty) DatatypeProperty(bpmn:hasCondition DatatypeProperty (bpmn:hasCondition Functional domain( domain ( unionOf (bpmn:ConditionalSequenceFlow ( bpmn:ConditionalSequenceFlow bpmn:NormalSequenceFlow ) ) range ( x s d : s t r i n g ) ) DatatypeProperty(bpmn:hasMessage DatatypeProperty (bpmn:hasMessage Functional domain( domain ( unionOf ( bpmn:Mess bpmn:MessageF ageFlow low bpmn:NormalS bpmn:NormalSequenc equenceFlow) eFlow) ) range ( x s d : s t r i n g ) ) DatatypeProperty(bpmn:hasName DatatypeProperty (bpmn:hasName Functional domain(bpmn:BPMNElement) domain (bpmn:BPMNElement) range ( x s d : s t r i n g ) ) Class ( b p m n : A c t i v i t y p a r t i a l bpmn:Flow) Class (bpmn:ActivityTaskType p a r t i a l bpmn:BPMNElement) EnumeratedClass ( bpmn:ActivityTaskType bpmn bpmn:N :Non onee bpmn bpmn:M :Man anua uall bpmn:User bpmn:User bpmn:Receive bpmn :Scr ipt bpmn:Serv ice bpmn bpmn:S :Sen end d bpmn:Reference ) Class (bpmn:AdHocActivity p a r t i a l bpmn:Activity)
114
A. THE SEMTASK OWL ONTOLOGIES
A.1. THE BPMN ONTOLOGY
Class (bpmn:AdHocSubProcess p a r t i a l bpmn:AdHocActivity bpmn:SubProcess) Class (bpmn:Annotation p a r t i a l bpmn:Artifact ) Class ( b p m n : A r t i f a c t p a r t i a l bpmn:BPMNElement) Class ( b p m n : A s s o c i a t i o n p a r t i a l bpmn:Connecting) Class (bpmn:BPMNElement p a r t i a l ) Class (bpmn:CancelEndEvent p a r t i a l bpmn:EndEvent bpmn:CancelEvent) Class (bpmn:CancelEvent p a r t i a l bpmn:Event) Class ( b p m n : C a n c e l I n t e r m e d i a t e E v e n t p a r t i a l bpmn:IntermediateEvent bpmn:CancelEvent) Class (bpmn:ComensationIntermediateEvent p a r t i a l bpmn:CompensationEvent bpmn:IntermediateEvent) Class (bpmn:CompensationActivity p a r t i a l bpmn:Activity) Class (bpmn:CompensationEndEvent p a r t i a l bpmn:CompensationEvent bpmn:EndEvent) Class (bpmn:CompensationEvent p a r t i a l bpmn:Event) Class (bpmn:CompensationSubProcess p a r t i a l bpmn:SubProcess bpmn:CompensationActivity) Class (bpmn:CompensationTask p a r t i a l bpmn:CompensationActivity bpmn:Task) Class (bpmn:ConditionalSequenceFlow p a r t i a l bpmn:SequenceFlow) Class (bpmn:Connecting complete unionOf ( bpmn: Associa tion bpmn:Seq bpmn:Sequenc uenceFl eFlow ow bpmn:MessageFlow) bpmn:MessageFlow) ) Class (bpmn:Connecting p a r t i a l bpmn:BPMNElement r e s t r i c t i o n (bpmn:connectedTo maxCardinality (1 ) ) r e s t r i c t i o n (bpmn:connected c a r d i n a l i t y (2 ) ) ) Class (bpmn:DataBasedXorMergeGateway p a r t i a l bpmn:XorMergeGateway) Class (bpmn:DataObject p a r t i a l bpmn:Artifact ) Class (bpmn:DefaultSequenceFlow p a r t i a l bpmn:SequenceFlow)
115
A. THE SEMTASK OWL ONTOLOGIES
A.1. THE BPMN ONTOLOGY
Class (bpmn:EndEvent p a r t i a l bpmn:Event) Class (bpmn:ErrorEndEvent p a r t i a l bpmn:ErrorEvent bpmn:EndEvent) Class (bpmn:ErrorEvent p a r t i a l bpmn:Event) Class ( b p m n : E r r o r I n t e r m e d i a t e E v e n t p a r t i a l bpmn:ErrorEvent bpmn:IntermediateEvent) Class (bpmn:Event p a r t i a l bpmn:Flow) Class (bpmn:EventBasedXorMergeGateway p a r t i a l bpmn:XorMergeGateway) Class (bpmn:ExceptionEndEvent p a r t i a l bpmn:EndEvent bpmn:ExceptionEvent) Class (bpmn:ExceptionEvent p a r t i a l bpmn:Event) Class ( b p m n : E x c e p t i o n I n t e r m e d i a t e E v e n t p a r t i a l bpmn:IntermediateEvent bpmn:ExceptionEvent) Class (bpmn:Flow complete intersectionOf ( intersectionOf ( r e s t r i c t i o n ( b p m n : i s I n L a n e c a r d i n a l i t y (1) ) unionOf ( bpmn:E bpmn:Event vent bpmn bpmn:G :Gat atew eway ay bpmn :Act ivit y ) ) ) Class (bpmn:Flow p a r t i a l bpmn:BPMNElement) Class (bpmn:Gateway p a r t i a l bpmn:Flow) Class (bpmn:Group p a r t i a l bpmn:Artifact ) Class (bpmn:Grouping complete unionOf ( bpmn:Pool bpmn:Pool bpmn:L bpmn:Lane) ane) ) Class (bpmn:Grouping p a r t i a l bpmn:BPMNElement) Class ( b p m n : I n t e r m e d i a t e E v e n t p a r t i a l bpmn:Event) Class (bpmn:Lane p a r t i a l bpmn:Grouping r e s t r i c t i o n ( bpmn:i sInPool c a r d i n a l i t y (1 ) ) ) Class (bpmn:LinkEndEvent p a r t i a l bpmn:EndEvent bpmn:LinkEvent) Class (bpmn:LinkEvent p a r t i a l bpmn:Event) Class ( b p m n : L i n k I n t e r m e d i a t e E v e n t p a r t i a l bpmn:IntermediateEvent bpmn:LinkEvent) Class (bpmn:LinkStartEvent p a r t i a l
116
A. THE SEMTASK OWL ONTOLOGIES
A.1. THE BPMN ONTOLOGY
bpmn:StartEvent bpmn:LinkEvent) Class (bpmn:LoopedActivity p a r t i a l bpmn:Activity) Class (bpmn:LoopedSubProcess p a r t i a l bpmn:LoopedActivity bpmn:SubProcess) Class (bpmn:LoopedTask p a r t i a l bpmn:LoopedActivity bpmn:Task) Class (bpmn:MergeGateway p a r t i a l bpmn:Gateway) Class (bpmn:MessageEndEvent p a r t i a l bpmn:EndEvent bpmn:MessageEvent) Class (bpmn:MessageEvent p a r t i a l bpmn:Event) Class (bpmn:MessageFlow p a r t i a l r e s t r i c t i o n (bpmn:connectedFrom c a r d i n a l i t y (1 ) ) bpmn:Connecting r e s t r i c t i o n (bpmn:connectedTo c a r d i n a l i t y (1 ) ) ) Class (bpmn:MessageIntermediateEvent p a r t i a l bpmn:IntermediateEvent bpmn:MessageEvent) Class (bpmn:MessageStartEvent p a r t i a l bpmn:StartEvent bpmn:MessageEvent) Class (bpmn:MultipleEndEvent p a r t i a l bpmn:MultipleEvent bpmn:EndEvent) Class (bpmn:MultipleEvent p a r t i a l bpmn:Event) Class ( b p m n : M u l t i p l e I n s t a n c e A c t i v i t y p a r t i a l bpmn:Activity) Class ( b p m n : M u l t i p l e I n s t a n c e S u b P r o c e s s p a r t i a l bpmn:SubProcess bpmn:MultipleInstanceActivit y ) Class ( b p m n : M u l t i p l e I n s t a n c e T a s k p a r t i a l bpmn:MultipleInstanceActivity bpmn:Task) Class ( b p m n : M u l t i p l e I n t e r m e d i a t e E v e n t p a r t i a l bpmn:IntermediateEvent bpmn:MultipleEvent) Class (bpmn:MutipleStartEvent p a r t i a l bpmn:MultipleEvent bpmn:StartEvent) Class (bpmn:NormalSequenceFlow p a r t i a l bpmn:SequenceFlow) Class (bpmn:OrMergeGateway p a r t i a l
117
A. THE SEMTASK OWL ONTOLOGIES
A.1. THE BPMN ONTOLOGY
bpmn:Gateway) Class (bpmn:ParalellForkGateway complete intersectionOf ( intersectionOf ( r e s t r i c t i o n (bpmn:hasConnectingFrom minCardinality (2) ) bpmn:ParalellForkOrJoinGateway) ) Class (bpmn:ParalellForkOrJoinGateway p a r t i a l bpmn:Gateway) Class ( b p m n : P a r a l e l l J o i n G a t e w a y complete intersectionOf ( intersectionOf ( r e s t r i c t i o n (bpmn:hasConnectingTo minCardinality (2) ) bpmn:ParalellForkOrJoinGateway) ) Class (bpmn:Pool p a r t i a l bpmn:Grouping r e s t r i c t i o n (bpmn:hasLane minCardinality (1 ) ) ) Class (bpmn:RuleEndEvent p a r t i a l bpmn:EndEvent bpmn:RuleEvent) Class (bpmn:RuleEvent p a r t i a l bpmn:Event) Class (bpmn:RuleStartEvent p a r t i a l bpmn:StartEvent bpmn:RuleEvent) Class (bpmn:SequenceFlow p a r t i a l r e s t r i c t i o n (bpmn:connectedFrom c a r d i n a l i t y (1 ) ) bpmn:Connecting r e s t r i c t i o n (bpmn:connectedTo c a r d i n a l i t y (1 ) ) ) Class (bpmn:StartEvent p a r t i a l bpmn:Event) Class (bpmn:SubProcess p a r t i a l r e s t r i c t i o n (bpmn:hasStartEvent c a r d i n a l i t y (1 ) ) bpmn:Activity) Class (bpmn:Task p a r t i a l r e s t r i c t i o n ( bpmn:hasActivityTaskTy bpmn:hasActivityTaskType pe someV someValu alues esFro From m( bpmn:ActivityTaskType) ) bpmn:Activity) Class (bpmn:TerminateEndEvent p a r t i a l bpmn:TerminateEvent bpmn:EndEvent) Class (bpmn:TerminateEvent p a r t i a l bpmn:Event) Class (bpmn:TimerEvent p a r t i a l bpmn:Event) Class (bpmn:TimerIntermediateEvent p a r t i a l bpmn:IntermediateEvent bpmn:TimerEvent) Class (bpmn:TimerStartEvent p a r t i a l bpmn:TimerEvent bpmn:StartEvent) Class (bpmn:XorMergeGateway p a r t i a l bpmn:Gateway) Class ( o w l : T h i n g p a r t i a l )
118
A. THE SEMTASK OWL ONTOLOGIES
Individual (bpmn:Manual type ( bpmn:ActivityTa bpmn:ActivityTaskType) skType) Individual (bpmn:None type ( bpmn:ActivityTa bpmn:ActivityTaskType) skType) Individual (bpmn:Receive type ( bpmn:ActivityTa bpmn:ActivityTaskType) skType) Individual ( b p m n : R e f e r e n c e type ( bpmn:ActivityTa bpmn:ActivityTaskType) skType) Individual ( b p m n : S c r i p t type ( bpmn:ActivityTa bpmn:ActivityTaskType) skType) Individual (bpmn:Send type ( bpmn:ActivityTa bpmn:ActivityTaskType) skType) Individual ( b p m n : S e r v i c e type ( bpmn:ActivityTa bpmn:ActivityTaskType) skType) Individual (bpmn:User type ( bpmn:ActivityTa bpmn:ActivityTaskType) skType)
A.1. THE BPMN ONTOLOGY
) ) ) ) ) ) ) )
D at at a ty ty pe pe ( x s d : s t r i n g ) DisjointClasses ( bpmn:Tim bpmn:TimerE erEvent vent bpmn:ExceptionEvent ) DisjointClasses ( bpmn:MultipleEvent bpmn:T bpmn:Time imerE rEven ventt ) DisjointClasses (bpmn:CompensationEvent bpmn:TerminateEvent) DisjointClasses ( bpmn:Tim bpmn:TimerE erEvent vent bpmn:LinkEven bpmn:LinkEventt ) DisjointClasses ( bpmn:Event bpmn:Event bpmn:G bpmn:Gate ateway) way) DisjointClasses (bpmn:XorMergeGateway bpmn:ParalellForkOrJoinGateway) DisjointClasses ( b p m n : I n te te r m e d i at at e E v e n t b p m n :S :S t a rt rt E v en en t ) DisjointClasses (bpmn:MergeGateway bpmn:ParalellForkOrJoinGateway) DisjointClasses ( bpmn:Can bpmn:CancelE celEvent vent bpmn:Exceptio bpmn:ExceptionEvent) nEvent) DisjointClasses ( bpmn:MultipleEvent bpmn:Canc bpmn:CancelEv elEvent) ent) DisjointClasses ( bpmn:Te bpmn:Termin rminateE ateEvent vent bpmn:Exceptio bpmn:ExceptionEvent) nEvent) DisjointClasses ( bpmn:MultipleEvent bpmn:Ter bpmn:Termina minateE teEvent) vent) DisjointClasses (bpmn:DataBasedXorMergeGateway bpmn:EventBasedXorMergeGateway) DisjointClasses ( bpmn:Pool bpmn:Pool bpmn:L bpmn:Lane) ane) bpmn:LinkEvent bpmn:CancelEvent) bpmn:CancelEvent) DisjointClasses ( bpmn:LinkEvent DisjointClasses ( bpmn:Message bpmn:MessageEvent Event bpmn:RuleEv bpmn:RuleEvent) ent) DisjointClasses ( bpmn:RuleEv bpmn:RuleEvent ent bpmn:CancelEvent) DisjointClasses ( bpmn:Compensa bpmn:CompensationEve tionEvent nt bpmn:Messag bpmn:MessageEven eEventt ) DisjointClasses ( bpmn:TerminateEve bpmn:TerminateEvent nt bpmn:LinkEven bpmn:LinkEventt ) DisjointClasses ( bpmn:Tim bpmn:TimerE erEvent vent bpmn:CancelEvent bpmn:CancelEvent ) DisjointClasses ( bpmn:Connecting bpmn:Group bpmn:Grouping) ing) DisjointClasses (bpmn:AdHocActivity bpmn:CompensationActivity) DisjointClasses ( bpmn:MergeGateway bpmn:MergeGateway bpmn:XorMergeGateway) bpmn:XorMergeGateway) DisjointClasses ( bpmn:Lin bpmn:LinkEv kEvent ent bpmn:Exceptio bpmn:ExceptionEven nEventt )
119
A. THE SEMTASK OWL ONTOLOGIES
A.1. THE BPMN ONTOLOGY
DisjointClasses ( bpmn:Tim bpmn:TimerE erEvent vent bpmn:TerminateEven bpmn:TerminateEventt ) DisjointClasses ( b p mn mn : Co Co n ne ne c ti ti n g b p m n : A r t i f a c t ) DisjointClasses ( bpmn:Dat bpmn:DataOb aObject ject bpmn:Annot bpmn:Annotation) ation) DisjointClasses ( bpmn:G bpmn:Grou roupin pingg bpmn: Artif act ) DisjointClasses ( b p m n : M u l t i p l e I n s t a n c e A c t i v i t y bpmn:CompensationActivity) DisjointClasses ( bpmn:Compensa bpmn:CompensationEve tionEvent nt bpmn:RuleEv bpmn:RuleEvent) ent) DisjointClasses ( bpmn:MultipleEvent bpmn:Li bpmn:LinkE nkEven ventt ) DisjointClasses ( bpmn:Message bpmn:MessageEvent Event bpmn:ExceptionEvent ) DisjointClasses ( bpmn:MultipleEvent bpmn:M bpmn:Mess essage ageEve Event) nt) DisjointClasses ( bpmn:Connecting bpmn:F bpmn:Flow) low) DisjointClasses (bpmn:ConditionalSequenceFlow bpmn:NormalSequenceFlow) DisjointClasses ( bpmn:TerminateEve bpmn:TerminateEvent nt bpmn:CancelEvent) DisjointClasses ( bpmn:StartEv ent bpmn:E bpmn:End ndEve Event) nt) DisjointClasses (bpmn:AdHocActivity bpmn:MultipleInstanceActivit y ) DisjointClasses ( bpmn:Message bpmn:MessageEvent Event bpmn:LinkEven bpmn:LinkEventt ) DisjointClasses ( bpmn:Fl bpmn:Flow ow bpmn:Grouping) DisjointClasses ( bpmn: Associa tion bpmn:M bpmn:Mess essage ageFlo Flow w) DisjointClasses ( bpmn:SequenceF bpmn:SequenceFlow low bpmn:Mes bpmn:Message sageFlow) Flow) DisjointClasses (bpmn:NormalSequenceFlow bpmn:DefaultSequenceFlow) DisjointClasses ( bpmn:Tim bpmn:TimerE erEvent vent bpmn:Messag bpmn:MessageEven eEventt ) DisjointClasses (bpmn:OrMergeGateway bpmn:ParalellForkOrJoinGateway) DisjointClasses (bpmn: (bpmn:Fl Flow ow bpmn: Artif act ) DisjointClasses (bpmn:E (bpmn:Eve vent nt bpmn:Act ivity ) DisjointClasses (bpmn:LoopedActivity bpmn:CompensationActivity) DisjointClasses ( bpmn:F bpmn:Flow low bpmn:ActivityTaskType ) DisjointClasses (bpmn:ConditionalSequenceFlow bpmn:DefaultSequenceFlow) DisjointClasses ( bpmn:R bpmn:Rule uleEve Event nt bpmn:Exceptio bpmn:ExceptionEven nEventt ) DisjointClasses ( bpmn:MultipleEvent bpmn:R bpmn:Rule uleEve Event) nt) DisjointClasses (bpmn:CompensationEvent bpmn:ExceptionEvent) DisjointClasses ( bpmn: Associa tion bpmn:Seq bpmn:Sequenc uenceFl eFlow) ow) bpmn:CompensationEve tionEvent nt bpmn:Mult ipleEvent DisjointClasses ( bpmn:Compensa ) DisjointClasses ( bpmn:LoopedActivity bpmn:AdH bpmn:AdHocAc ocActivit tivity y) DisjointClasses ( bpmn:LinkEvent bpmn:LinkEvent bpmn:RuleEv bpmn:RuleEvent ent ) DisjointClasses (bpmn:G (bpmn:Gro roup up bpmn:Annotation ) DisjointClasses ( bpmn:Compensa bpmn:CompensationEve tionEvent nt bpmn:CancelEvent) bpmn:CancelEvent) DisjointClasses (bpmn: (bpmn:Ga Gate tewa way y bpmn:Acti vity ) DisjointClasses ( bpmn:IntermediateEvent bpmn bpmn:E :End ndEv Even ent) t) DisjointClasses ( bpmn:Compensa bpmn:CompensationEve tionEvent nt bpmn:LinkEven bpmn:LinkEventt ) DisjointClasses ( bpmn:XorMergeGatew bpmn:XorMergeGateway ay bpmn:OrMerge bpmn:OrMergeGateway) Gateway) DisjointClasses ( bpmn:Message bpmn:MessageEvent Event bpmn:CancelEvent bpmn:CancelEvent )
120
A. THE SEMTASK OWL ONTOLOGIES
A.1. THE BPMN ONTOLOGY
DisjointClasses ( bpmn:Tim bpmn:TimerE erEvent vent bpmn:RuleEv bpmn:RuleEvent) ent) DisjointClasses ( bpmn:Compensa bpmn:CompensationEve tionEvent nt bpmn:Tim bpmn:TimerE erEvent) vent) DisjointClasses ( bpmn:TerminateEve bpmn:TerminateEvent nt bpmn:Messag bpmn:MessageEven eEventt ) DisjointClasses ( bpmn:MergeGateway bpmn:MergeGateway bpmn:OrMerge bpmn:OrMergeGateway) Gateway) DisjointClasses ( bpmn:TerminateEve bpmn:TerminateEvent nt bpmn:RuleEv bpmn:RuleEvent) ent) bpmn:Task) ask) DisjointClasses ( bpmn:SubProcess bpmn:T DisjointClasses (bpmn:LoopedActivity bpmn:MultipleInstanceActivit y ) DisjointClasses ( bpmn:MultipleEvent bpmn:ExceptionE bpmn:ExceptionEvent) vent) DisjointClasses ( bpmn:DataObject bpmn:DataObject bpmn bpmn:G :Gro roup) up) E q u i v a l e n t C l a s s e s ( unionOf (bpmn:ConditionalSequenceFlow ( bpmn:ConditionalSequenceFlow bpmn:NormalSequenceFlow ) ) SubPropertyOf ( bpmn:hasC bpmn:hasConne onnecting ctingTo To bpmn:hasConnecting) bpmn:hasConnecting) SubPropertyOf ( bpmn:con bpmn:connect nectedTo edTo bpmn:connected) bpmn:connected) SubPropertyOf ( bpmn:h bpmn:hasN asName ame bpmn:bpmnDatatypeProperty ) SubPropertyOf ( bpmn:isInLane bpmn:bpm bpmn:bpmnObj nObjectP ectProp roperty) erty) SubPropertyOf ( bpmn:connected bpmn:connected bpmn:bpm bpmn:bpmnObj nObject ectPro Propert perty y) SubPropertyOf ( bpmn:hasLa bpmn:hasLane ne bpmn:bpmnObjectP bpmn:bpmnObjectProperty) roperty) SubPropertyOf (bpmn:hasActivityTaskType ( bpmn:hasActivityTaskType bpmn:bpmnObjectProperty) SubPropertyOf ( bpmn:hasConnecting bpmn:hasConnecting bpmn:bpm bpmn:bpmnObj nObject ectPro Propert perty y) SubPropertyOf ( bpmn:ha sConditi on bpmn:bpmnDatatype bpmn:bpmnDatatypePrope Property rty ) SubPropertyOf ( bpmn:hasStartEvent bpmn:bpm bpmn:bpmnObj nObject ectPro Propert perty y) SubPropertyOf ( bpmn:c bpmn:conn onnecte ectedFr dFrom om bpmn:connected) bpmn:connected) SubPropertyOf ( bpmn:hasConnecti bpmn:hasConnectingFrom ngFrom bpmn:hasConnecting ) SubPropertyOf ( bpmn:is InPool bpmn:bpm bpmn:bpmnObj nObjectP ectProp roperty) erty) SubPropertyOf ( bpmn:hasMessage bpmn:hasMessage bpmn:bpmnData bpmn:bpmnDatatypePr typePropert operty y) SubPropertyOf ( bpmn:hasObject bpmn:bpmnObjectP bpmn:bpmnObjectProperty) roperty) DifferentIndividuals ( bpmn:N bpmn:None one bpmn:M bpmn:Manu anual al bpmn:User bpmn:Receive bpmn:Receive bpmn:Script bpmn:Servi ce bpmn bpmn:S :Sen end d bpmn:Reference) )
121
A. THE SEMTASK OWL ONTOLOGIES
A.2
A.2. THE SEMTASK ONTOLOGY
The SemT SemTask ask On Ontol tology ogy
Listing A.2: The Semantic Task Support Ontology in OWL-AS Namespace( Namespace ( r d f
=
rdf-syntax-ns#> )
Namespace( Namespace ( o w l ) Namespace( Namespace ( x s d
= =
XMLSchema#> )
Namespace( Namespace ( r d f s schema#> ) Namespace( Namespace ( bpmn
=
/semtask/bpmn#> )
Namespace( Namespace ( s e m t a s k
=
/semtask/semtask#> )
Ontology (
Annotation( Annotation ( o w l :i : i m po p o r t s )
ObjectProperty (bpmn:hasConnectingFrom) ObjectProperty ( s e m t a s k : h a s F i e l d InverseFunctional inverseOf ( semta sk:is InForm ) domain(semtask:FormDocument) domain (semtask:FormDocument) range ( s e m t a s k : F i e l d ) ) ObjectProperty ( s e m t a s k : i s I n F o r m Functional inverseOf ( s e m t a s k : h a s F i e l d ) domain( domain ( s e m t a s k : F i e l d ) range (semtask:FormDocument) ) ObjectProperty ( s e m t a s k : s e m t a s k O b j e c t P r o p e r t y ) ObjectProperty ( r d f : r e s t ) ObjectProperty ( o w l : o n e O f ) DatatypeProperty(semtask:hasName DatatypeProperty (semtask:hasName Functional domain( domain ( s e m t a s k : F i e l d ) range ( x s d : s t r i n g ) ) DatatypeProperty( DatatypeProperty ( s e m t a s k : i s B e g i n n i n g E v e n t Functional domain( domain ( b p m n : S t a r t E v e n t ) range ( xsd :bo ole an ) ) DatatypeProperty( DatatypeProperty ( s e m t a s k : p r o g r a m P a r a m e t e r s Functional domain( domain ( s e m t a s k : A p p l i c a t i o n D o c u m e n t ) range ( x s d : s t r i n g ) ) DatatypeProperty( DatatypeProperty ( semtask:semtaskDatatypeProperty ) DatatypeProperty( DatatypeProperty ( s e m t a s k : u r l Functional
122
A. THE SEMTASK OWL ONTOLOGIES
A.2. THE SEMTASK ONTOLOGY
domain( domain ( unionOf ( s e m t a s k : A p p l i c a t i o n D o c u m e n t semtask:URLBasedDocument) ) range ( x s d : s t r i n g ) ) DatatypeProperty( DatatypeProperty ( r d f : f i r s t ) Class ( b p m n : A c t i v i t y complete unionOf ( bpmn:SubProcess bpmn:T bpmn:Task) ask) ) Class (bpmn:ConditionalSequenceFlow p a r t i a l ) Class (bpmn:DataObject p a r t i a l ) Class (bpmn:DefaultSequenceFlow p a r t i a l ) Class (bpmn:Gateway p a r t i a l ) Class (bpmn:NormalSequenceFlow p a r t i a l ) Class (bpmn:SequenceFlow complete unionOf (bpmn:ConditionalSequenceFlow ( bpmn:ConditionalSequenceFlow bpmn:NormalS bpmn:NormalSequenc equenceFlow eFlow bpmn:Defa ultSequen ceFlow ) ) Class (bpmn:StartEvent p a r t i a l ) Class (bpmn:SubProcess p a r t i a l ) Class (bpmn:Task p a r t i a l ) Class ( s e m t a s k : A p p l i c a t i o n D o c u m e n t p a r t i a l r e s t r i c t i o n ( s e m t a s k : p r o g r a m P a r a m e t e r s minCardinality (1) ) semtask:Document r e s t r i c t i o n ( s e m t a s k : u r l minCardinality (1 ) ) ) Class ( semtask:DecisionGateway complete intersectionOf (bpmn:Gateway intersectionOf (bpmn:Gateway r e s t r i c t i o n ( bpmn:ha bpmn:hasCon sConnec necting tingFro From m allValues From ( bpmn:ConditionalSequenceFlow ) ) r e s t r i c t i o n ( bpmn:hasConnectingFrom minCardinality (2 ) ) ) ) Class ( semtask:DecisionGateway p a r t i a l semtask:SemTaskElement) Class (semtask:Document complete unionOf ( semtask:Ap plicationD ocument semtas semtask:F k:Form ormDoc Docume ument nt semtask:URLBasedDocument) ) Class (semtask:Document p a r t i a l semtask:SemTaskElement bpmn:DataObject) Class ( s e m t a s k : F i e l d p a r t i a l semtask:SemTaskElement) Class (semtask:FormDocument p a r t i a l semtask:Document) Class (semtask:SemTaskElement p a r t i a l ) Class (semtask:URLBasedDocument p a r t i a l semtask:Document r e s t r i c t i o n ( s e m t a s k : u r l minCardinality (1 ) ) ) Class ( o w l : T h i n g p a r t i a l ) D a ta ta t yp yp e ( x s d : b o o l e a n ) D at at a ty ty pe pe ( x s d : s t r i n g ) DisjointClasses ( s e m t a s k : D e c i s i o n G at at e w a y s e m t a s k : F i e l d )
123
A. THE SEMTASK OWL ONTOLOGIES
A.2. THE SEMTASK ONTOLOGY
DisjointClasses ( s e m t a s k : A p p l i c a t i o n D o c u m e n t semtask:URLBasedDocument) DisjointClasses ( s e mt mt a sk sk : Do Do c um um e nt nt s e m t a s k : D e c i s i o n G at at e w a y ) DisjointClasses ( s e mt mt a sk sk : Do Do c um um e nt nt s e m t a s k : F i e l d ) DisjointClasses ( s e m t a s k : A p p l i c a t i o n D o c u m e n t semtask:FormDocument) DisjointClasses (semtask:FormDocument semtask:URLBasedDocument) SubPropertyOf (semtask:hasName ( semtask:hasName semtask:semtaskDatatypeProperty ) SubPropertyOf ( s e m t a s k : p r o g r a m P a r a m e t e r s semtask:semtaskDatatypeProperty ) SubPropertyOf ( s e m t a s k : i s I n F o r m semtask:semtaskObj ectProperty ) SubPropertyOf ( s e m t a s k : h a s F i e l d semtask:semtaskObj ectProperty ) SubPropertyOf ( s e m t a s k : i s B e g i n n i n g E v e n t semtask:semtaskDatatypeProperty ) SubPropertyOf ( s e m t a s k : u r l s e m t a sk sk : s e m ta t a s k D at a t a t y p eP e P r o p er er t y ) )
124
A. THE SEMTASK OWL ONTOLOGIES
A.3 A.3
A.3. THE DATA ONTOLOGY
The The Data Data On Onto tolo logy gy Listing A.3: The Data Ontology in OWL-AS
Namespace( Namespace ( r d f -ns#> ) Namespace( Namespace ( o w l Namespace( Namespace ( x s d Namespace( Namespace ( r d f s Namespace( Namespace ( da dat a /data#> )
=
) ) )
Ontology ( ObjectProperty ( d a t a : a r t i f a c t B e l o n g i n g T o Functional inverseOf ( d a t a : h a s A r t i f a c t ) domain( domain ( d a t a : T o p s i d e A r t i f a c t ) range ( dat a:P lat for m ) ) ObjectProperty ( d a t a : d a t a O b j e c t P r o p e r t y ) ObjectProperty ( d a t a : h a s A r t i f a c t InverseFunctional inverseOf ( d a t a : a r t i f a c t B e l o n g i n g T o ) domain( domain ( d a t a : P l a t f o r m ) range ( d a t a : T o p s i d e A r t i f a c t ) ) ObjectProperty ( d a t a : h a s S e n s o r InverseFunctional inverseOf ( data :isL ocate dOn ) domain( domain ( unionOf ( d a t a : W e l l d a t a : T o p s i d e A r t i f a c t ) ) range ( d a t a : S e n s o r ) ) ObjectProperty ( d a t a : h a s W e l l InverseFunctional inverseOf ( d a t a : w e l l B e l o n g i n g T o ) domain( domain ( d a t a : P l a t f o r m ) range ( dat a:W ell ) ) ObjectProperty ( d a t a : i s L o c a t e d O n Functional inverseOf ( d a t a : h a s S e n s o r ) domain( domain ( d a t a : S e n s o r ) range ( unionOf ( d a t a : W e l l d a t a : T o p s i d e A r t i f a c t ) ) ) ObjectProperty ( d a t a : r e l e v a n t A r t i f a c t T r a n s i t i v e S ym ym me me t ri ri c inverseOf ( d a t a : r e l e v a n t A r t i f a c t ) domain( domain ( d a t a : T o p s i d e A r t i f a c t ) range ( d a t a : T o p s i d e A r t i f a c t ) ) ObjectProperty ( d a t a : r e l e v a n t D a t a domain( domain ( d a t a : D a t a E l e m e n t ) range ( d a t a : Da Da t a E le le m e n t ) ) ObjectProperty ( d a t a : r e l e v a n t S e n s o r S ym ym me me tr tr ic ic inverseOf ( d a t a : r e l e v a n t S e n s o r ) domain( domain ( d a t a : S e n s o r ) range ( d a t a : S e n s o r ) ) ObjectProperty ( d a t a : r e l e v a n t W e l l T r a n s i t i v e S ym ym me me tr tr ic ic inverseOf ( d a t a : r e l e v a n t W e l l ) domain( domain ( data:Wel l )
125
A. THE SEMTASK OWL ONTOLOGIES
A.3. THE DATA ONTOLOGY
range ( dat a:W ell ) ) ObjectProperty ( d a t a : w e l l B e l o n g i n g T o Functional inverseOf ( dat a:ha sWell ) domain( domain ( data:Wel l ) range ( dat a:P lat for m ) ) ObjectProperty ( r d f : r e s t ) ObjectProperty ( o w l : o n e O f ) DatatypeProperty( DatatypeProperty ( d a t a : d a t a D a t a t y p e P r o p e r t y ) DatatypeProperty( DatatypeProperty ( d a t a : h a s D e s c r i p t i o n Functional domain( domain ( d a t a : D a t a E l e m e n t ) range ( x s d : s t r i n g ) ) DatatypeProperty(data:hasPDPURL DatatypeProperty (data:hasPDPURL domain( domain ( d a t a : D a t a E l e m e n t ) range ( x s d : s t r i n g ) ) DatatypeProperty( DatatypeProperty ( r d f : f i r s t ) Class ( d a t a : C o n t i n u o u s S e n s o r p a r t i a l data:Senso r ) Class (data:DataElement p a r t i a l owl:Thing r e s t r i c t i o n (data:hasPDPURL minCardinality (1 ) ) ) Class ( d a t a : D i s c r e t e S e n s o r p a r t i a l data:Senso r ) Class ( d a t a : F l o w S e n s o r p a r t i a l data:Cont inuousSenso r ) Class ( d a t a : I n j e c t i o n W e l l p a r t i a l data:Well ) Class ( d a t a : P l a t f o r m p a r t i a l data:DataElement) Class ( d a t a : P r e s s u r e S e n s o r p a r t i a l data:DiscreteSen sor ) Class ( d a t a : P r o d u c t i o n W e l l p a r t i a l data:Well ) Class ( d a t a : S e n s o r p a r t i a l data:DataElement r e s t r i c t i o n ( d a t a : i s L o c a t e d O n c a r d i n a l i t y (1 ) ) ) Class (data:TempSensor p a r t i a l data:DiscreteSen sor ) Class ( d a t a : T o p s i d e A r t i f a c t p a r t i a l data:DataElement) Class ( d a t a : V o l u m e S e n s o r p a r t i a l data:DiscreteSen sor ) Class ( d a t a : W e l l complete unionOf ( d a t a : I n j e c t i o n W e l l d a t a : P r o d u c t io io n W e l l ) ) Class ( d a t a : W e l l p a r t i a l data:DataElement) Class ( o w l : T h i n g p a r t i a l )
126
A. THE SEMTASK OWL ONTOLOGIES
A.3. THE DATA ONTOLOGY
D at at a ty ty pe pe ( x s d : s t r i n g ) DisjointClasses ( d a t a : I n j e c t i o n W e l l d a t a :P : P r o du d u c t io i o n W el el l ) DisjointClasses ( d a t a : P r e s s u r e S e n s o r d a t a: a : V o llu u m e Se Se n s or or ) DisjointClasses ( d a t a : Pl Pl a t f o r m d a t a : T o p s i d e A r t i f a c t ) DisjointClasses ( d a t a : P l a t f o r m d a t a : S e n s o r ) DisjointClasses ( d a t a : P l a t f o r m d a t a : W e l l ) DisjointClasses ( d a t a : D i s c r e t e S e n s o r d a t a: a : C o nt n t i n u ou o u s S en en s o r ) DisjointClasses ( d aatt a :T :T em e m p Se Se n so so r d a t a : P r e s s u r e S e n s o r ) DisjointClasses ( d a t a : S e n s o r d a t a : T o p s i d e A r t i f a c t ) DisjointClasses ( d a t a: a : W e ll ll d a t a : T o p s i d e A r t i f a c t ) DisjointClasses ( d a t a: a: T e mp mp S e ns ns o r d a t a : V o l um um e S e n s o r ) DisjointClasses ( d a t a : W e l l d a t a : S e n s o r ) SubPropertyOf ( d a t a : h a s D e s c r i p t i o n data:dataDatatypePropert y ) SubPropertyOf ( d a t a : r e l e v a n t S e n s o r d a t a : r e l e va va n t D a t a ) SubPropertyOf ( d a t a : w e l l B e l o n g i n g T o data:dataObjectProperty ) SubPropertyOf ( d a t a : r e l e v a n t D a t a d a t a : d a t a O b j e c t P r o p e rt rt y ) SubPropertyOf ( d a t a : i s L o ca ca t e d O n d a t a : d a t a O b j e c t P r o p e r t y ) SubPropertyOf ( d a t a : r e l e v a n t W e l l d a t a : r e l e v an an t D a t a ) SubPropertyOf ( d a t a : a r t i f a c t B e l o n g i n g T o data:dataObjectProperty ) SubPropertyOf (data: ( data:ha hasP sPDP DPUR URL L dat a:d ata Dat aty peP rop ert y ) SubPropertyOf ( d a t a : h a s W e l l d a t a : d a t a O b j e c t P r o p e r t y ) SubPropertyOf ( d a t a : h a s S e n s o r d a t a : d a t a O b j e c t P r o p e r t y ) SubPropertyOf ( d a t a : h a s A r t i f a c t d a t a : da d a t a O bj b j e c t Pr P r o p e rt rt y ) SubPropertyOf ( d a t a : r e l e v a n t A r t i f a c t d a t a: a : r e le l e v a nt n t D a ta ta ) )
127
A. THE SEMTASK OWL ONTOLOGIES
A.4 A.4
A.4. THE EXECUTION ONTOLOGY
The The Exec Execut utio ion n On Ontolo tology gy Listing A.4: The Execution Ontology in OWL-AS
Namespace( Namespace ( r d f
=
rdf-syntax-ns#> )
Namespace( Namespace ( o w l ) Namespace( Namespace ( x s d
= =
XMLSchema#> )
Namespace( Namespace ( r d f s schema#> ) Namespace( Namespace ( e x e c u t i o n
=
/semtask/execution#> )
Namespace( Namespace ( bpmn
=
/semtask/bpmn#> )
Namespace( Namespace ( d a t a
=
/semtask/data#> )
Namespace( Namespace ( s e m t a s k
=
/semtask/semtask#> )
Ontology (
Annotation( Annotation ( o w l :i : i m po p o r t s ) Annotation( Annotation ( o w l :i : i m po p o r t s )
ObjectProperty ( e x e c u t i o n : b e l o n g s T o F i l l e d F o r m Functional inverseOf ( e x e c u t i o n : h a s F i l l e d F i e l d ) domain( domain ( e x e c u t i o n : F i l l e d F i e l d ) range ( e x e c u t i o n : F i l l e d F o r m ) ) ObjectProperty ( e x e c u t i o n : d e c i s i o n B e l o n g s T o Functional inverseOf ( e x e c u t i o n : h a s D e c i s i o n ) domain( domain ( e x e c u t i o n : D e c i s i o n ) range ( bpmn:Flo bpmn:Flow w) ) ObjectProperty ( e x e c u t i o n : e x e c u t i o n O b j e c t P r o p e r t y ) ObjectProperty ( e x e c u t i o n : h a s D e c i s i o n InverseFunctional inverseOf ( e x e c u t i o n : d e c i s i o n B e l o n g s T o ) domain(bpmn:Flow) domain (bpmn:Flow) range ( e x e c u t i o n : D e c i s i o n ) ) ObjectProperty ( e x e c u t i o n : h a s D o c u m e n t domain( domain ( e x e c u t i o n : D e c i s i o n ) range ( semtask:Do semtask:Documen cumentt ) ) ObjectProperty ( e x e c u t i o n : h a s F i l l e d F i e l d InverseFunctional inverseOf ( e x e c u t i o n : b e l o n g s T o F i l l e d F o r m ) domain( domain ( e x e c u t i o n : F i l l e d F o r m )
128
A. THE SEMTASK OWL ONTOLOGIES
A.4. THE EXECUTION ONTOLOGY
range ( e x e c u t i o n : F i l l e d F i e l d ) ) ObjectProperty ( e x e c u t i o n : h a s F i l l e d F o r m InverseFunctional inverseOf ( e x e c u t i o n : u s e d I n D e c i s i o n ) domain( domain ( e x e c u t i o n : D e c i s i o n ) range ( e x e c u t i o n : F i l l e d F o r m ) ) ObjectProperty ( e x e c u t i o n : h a s R e a s o n InverseFunctional domain( domain ( e x e c u t i o n : T a s k ) range ( unionOf ( e x e c u t i o n : D e c i s i o n e x e c u t i o n : T r i g g e r ) ) ) ObjectProperty ( e x e c u t i o n : h a s T a s k InverseFunctional inverseOf ( e x e c u t i o n : t a s k B e l o n g s T o ) domain(bpmn:Flow) domain (bpmn:Flow) range ( e x e c u t i o n : T a s k ) ) ObjectProperty ( e x e c u t i o n : h a s T r i g g e r InverseFunctional inverseOf ( e x e c u t i o n : t r i g g e r B e l o n g s T o ) domain(bpmn:Event) domain (bpmn:Event) range ( e x e c u t i o n : T r i g g e r ) ) ObjectProperty ( execution:isOfFormType Functional domain( domain ( e x e c u t i o n : F i l l e d F o r m ) range (semtask:FormDocument) ) ObjectProperty ( e x e c u t i o n : i s R e s u l t O f Functional InverseFunctional inverseOf ( e x e c u t i o n : r e s u l t s I n ) domain( domain ( e x e c u t i o n : D e c i s i o n ) range ( e x e c u t i o n : T a s k ) ) ObjectProperty ( e x e c u t i o n : r e s u l t s I n Functional InverseFunctional inverseOf ( e x e c u t i o n : i s R e s u l t O f ) domain( domain ( e x e c u t i o n : T a s k ) range ( e x e c u t i o n : D e c i s i o n ) ) ObjectProperty ( e x e c u t i o n : t a s k B e l o n g s T o Functional inverseOf ( e x e c u t i o n : h a s T a s k ) domain( domain ( e x e c u t i o n : T a s k ) range ( bpmn:Flo bpmn:Flow w) ) ObjectProperty ( e x e c u t i o n : t r i g g e r B e l o n g s T o Functional inverseOf ( e x e c u t i o n : h a s T r i g g e r ) domain( domain ( e x e c u t i o n : T r i g g e r ) range ( bpmn:Event) bpmn:Event) ) ObjectProperty ( e x e c u t i o n : u s e d I n D e c i s i o n inverseOf ( e x e c u t i o n : h a s F i l l e d F o r m ) domain( domain ( e x e c u t i o n : F i l l e d F o r m ) range ( e x e c u t i o n : D e c i s i o n ) ) ObjectProperty ( e x e c u t i o n : u s e s D a t a domain( domain ( unionOf ( e x e c u t i o n : D e c i s i o n e x e c u ti t i o n : T a sk sk ) ) range ( datex ecuti on:Da taElem ent ) ) DatatypeProperty( DatatypeProperty ( e x e c u t i o n : c r e a t e d T i m e Functional domain( domain ( e x e c u t i o n : T a s k ) range ( x s s e m t a s k : d a t e Ti Ti m e ) ) DatatypeProperty( DatatypeProperty ( e x e c u t i o n : d e s c r i p t i o n Functional
129
A. THE SEMTASK OWL ONTOLOGIES
A.4. THE EXECUTION ONTOLOGY
domain( domain ( unionOf ( e x e c u t i o n : D e c i s i o n e x e c u ti t i o n : T a sk sk ) ) range ( x s s e m t a s k : s t r i n g ) ) DatatypeProperty( DatatypeProperty ( e x e c u t i o n : e x e c u t i o n D a t a t y p e P r o p e r t y ) DatatypeProperty( DatatypeProperty ( e x e c u t i o n : t r i g g e r D e s c r i p t i o n Functional domain( domain ( e x e c u t i o n : T r i g g e r ) range ( x s s e m t a s k : s t r i n g ) ) Class (bpmn:Event p a r t i a l ) Class (bpmn:Flow p a r t i a l ) Class ( d a t e x e c u t i o n : D a t a E l e m e n t p a r t i a l ) Class ( e x e c u t i o n : D e c i s i o n p a r t i a l execution:ExecutionElement ) Class ( e x e c u t i o n : E x e c u t i o n E l e m e n t p a r t i a l ) Class ( e x e c u t i o n : F i l l e d F i e l d p a r t i a l execution:ExecutionElement ) Class ( e x e c u t i o n : F i l l e d F o r m p a r t i a l execution:ExecutionElement ) Class ( e x e c u t i o n : T a s k p a r t i a l execution:ExecutionElement ) Class ( e x e c u t i o n : T r i g g e r p a r t i a l execution:ExecutionElement r e s t r i c t i o n ( e x e c u t i o n : t r i g g e r B e l o n g s T o c a r d i n a l i t y (1 ) ) ) Class ( e x e c u t i o n : T r i g g e r p a r t i a l "Class representin representing g a triggering triggering a n n o t a t i o n ( r d f s : c o m m en e n t "Class //w www. w3. or g /20 01/XM 01/XMLS LScchema# o f a n e ve ve nt nt " ˆˆ h t t p : // stri ng ) ) Class (semtask:Document p a r t i a l ) Class (semtask:FormDocument p a r t i a l ) AnnotationProperty ( r d f s : c o m m e n t ) D at at a ty ty pe pe ( x s s e m t a s k : s t r i n g ) Datatype(xssemtask:dateTime) DisjointClasses ( e x e c u t i o n : F i l l e d F o r m executi on:Fill edField ) DisjointClasses ( e x e c u t i o n : F i l l e d F o r m e x e c u t i o n : T a s k ) si o n e x e c u t i o n : F i l l e d F i e l d ) DisjointClasses ( e x e c u t i o n : D e c i si DisjointClasses ( e x e c u t i o n : D e c i s i o n e x e c u ti t i o n : T a sk sk ) DisjointClasses ( e x e c u t i o n : F i l le le d F o r m e x e c u t i o n : T r i g g e r ) DisjointClasses ( e x ec e c u t io i o n :T : T a sk sk e x e c u t i o n : F i l l e d F i e l d ) DisjointClasses ( e x e c u t i o n : D e c i si s i o n e x e c u t i o n : T ri ri g g e r ) DisjointClasses ( e x e c u t i o n : F i l l e d F i e l d e x e c u t i o n : T ri ri g g e r ) DisjointClasses ( e x e c u t io i o n : T a sk sk e x e c u t i o n : T r i g g e r ) DisjointClasses ( e x e c u t i o n : D e c i s i o n e x e c u t i o n : F i l l ed ed F o r m ) SubPropertyOf ( e x e c u t i o n : t r i g g e r B e l o n g s T o execution:executionObjectProperty )
130
A. THE SEMTASK OWL ONTOLOGIES
A.4. THE EXECUTION ONTOLOGY
SubPropertyOf ( e x e c u t i o n : r e s u l t s I n execution:executionObjectProperty ) SubPropertyOf ( e x e c u t i o n : h a s D e c i s i o n execution:executionObjectProperty ) SubPropertyOf ( e x e c u t i o n : h a s F i l l e d F o r m execution:executionObjectProperty ) SubPropertyOf ( e x e c u t i o n : h a s T a s k execution:executionObjectProperty ) SubPropertyOf ( e x e c u t i o n : b e l o n g s T o F i l l e d F o r m execution:executionObjectProperty ) SubPropertyOf ( e x e c u t i o n : h a s D o c u m e n t execution:executionObjectProperty ) SubPropertyOf ( e x e c u t i o n : h a s R e a s o n execution:executionObjectProperty ) SubPropertyOf ( e x e c u t i o n : i s R e s u l t O f execution:executionObjectProperty ) SubPropertyOf ( e x e c u t i o n : d e c i s i o n B e l o n g s T o execution:executionObjectProperty ) SubPropertyOf ( e x e c u t i o n : u s e s D a t a execution:executionObjectProperty ) SubPropertyOf ( e x e c u t i o n : u s e d I n D e c i s i o n execution:executionObjectProperty ) SubPropertyOf ( e x e c u t i o n : h a s T r i g g e r execution:executionObjectProperty ) SubPropertyOf ( execution:isOfFormType execution:executionObjectProperty ) SubPropertyOf ( e x e c u t i o n : c r e a t e d T i m e execution:executionDat atypeProperty ) SubPropertyOf ( e x e c u t i o n : t a s k B e l o n g s T o execution:executionObjectProperty ) SubPropertyOf ( e x e c u t i o n : t r i g g e r D e s c r i p t i o n execution:executionDat atypeProperty ) SubPropertyOf ( e x e c u t i o n : h a s F i l l e d F i e l d execution:executionObjectProperty ) SubPropertyOf ( e x e c u t i o n : d e s c r i p t i o n execution:executionDat atypeProperty ) )
131
Appendix B
The RDF Documents B.1
The Daily Daily Producti Production on Optimi Optimizat zation ion Listing B.1: Daily Production Optimization in Notation3
#Converted wit h ht tp ://ww ://www. minds mindswa wap p . org /2002/ /2002/ rd fc on ve rt / @prefix : <# > . @prefix bpmn: . @prefix owl : . @prefix p r o t e g e : . @prefix r d f : . @prefix r d f s : . @prefix semtask : . @prefix xsd : . @prefix xsp : . : a c t i o n L i s t a sem tas k : FormD FormDocu ocumen mentt ; bpmn: hasConnectingFrom : actionListToExecutionOfUpdatedPlan ; bpmn: hasConnectingTo : productonOptimzationMeetingToActionList ; bpmn: bpmn: hasName hasName "Action xs d : s t r i n g . "Action List" ˆ ˆ xs : a c t i o n L i s t T o E x ec ec u t i o n O f U p d a t e d Pl P l a n a bpmn: As soc ia ti on ; bpmn: connectedF connectedFrom rom : ac ti on Li st ; bpmn: connectedTo connectedTo : executionOfUpdatedPlan .
132
B. THE RDF DOCUMENTS
B.1. THE DAILY PRODUCTION OPTIMIZATION
: approvedToStoringTestInProdTekD approvedToStoringTestInProdTekDatabase atabase a bpmn: ConditionalSequenceFlow ; bpmn: connectedFrom : dec isi onA ppr ove d ; bpmn: connectedTo connectedTo : storing TestInPr odTekDat abase ; bpmn: hasC ond iti on "Yes" ˆ ˆ xs xs d : s t r i n g . : approvedToWellTesting a bpmn: Condit ionalSe quenceFl ow ; bpmn: connectedFrom : dec isi onA ppr ove d ; bpmn: connectedTo connectedTo : wel lT est in g ; bpmn: hasC ond iti on "No" ˆ ˆ xs xs d : s t r i n g . : b e s t P r a c t i c e D o c u m e n t F o r W e l l A n a l y s i s a semtask : URLBasedDocument URLBasedDocument ; bpmn: hasConnectingFrom : bestPracticeDocumentForWellAnalysisToWellAnalysis ; "Best Practi Practice ce Docume Document nt for for Well Well Analys Analysis" is" bpmn: bpmn: hasName hasName "Best ˆˆxsd : st ri ng ; semtask : ur l "http://en.wikipedia.org/wiki/Best_Practice" ˆ ˆ xs xs d : s t r i n g . : b e s t P r a c t i c e D o c u m e n t F o r W e l l A n a l y s i s T o W e l l A n a l y s i s a bpmn: Association ; bpmn: connectedF connectedFrom rom : bestPr acticeD ocumen tForWel lAnal ysis ; bpmn : c o n ne ne c t ed ed T o : w e l l A n a l y s i s . : c h e c k l i s t F o r S y s t e m O p t i m i z i n g a sem tas k : UR URLBa LBased sedDoc Docume ument nt ; bpmn: hasConnectingFrom : checklistForSystemOptimizingToExecutionOfOptimization ; bpmn: bpmn: hasName hasName "Checklist "Checklist for System System Optimizing" Optimizing" ˆˆxsd : stri ng ; semtask : ur l "http://en.wikipedia.org/wiki/Checklist" ˆˆ x sd sd : s t r i n g . : checklistForSystemOptimizingToExecutionOfOptimization a bpmn: As soc ia ti on ; bpmn: connectedF connectedFrom rom : chec kli stF orSy ste mOpt imiz ing ; bpmn : c o n ne ne c t ed ed T o : e x e c u t i o n O f O p t i m i z a t i o n . : c o n t i n u o u s P r o d u c t i o n S u p e r v i s i n g a bpmn: bpmn: Ta sk ; bpmn: hasA ctivi tyTa skTyp e bpmn: User ; bpmn: hasConnectingFrom : continuousProductionSupervisingToFork , : continuousProductionSupervisingToOptmizationPotential ; bpmn: hasConnectingTo : forkContinuousProductionSupervisingToContinuous − P r o d u c t i o n S u p e r v i s in in g , : productionOptimizationMeetingTo − ContinuousProductionSupervising ;
133
B. THE RDF DOCUMENTS
B.1. THE DAILY PRODUCTION OPTIMIZATION
"Continuous production production supervising" supervising" ˆˆxsd : bpmn: bpmn: hasName hasName "Continuous stri ng ; bpmn : i s I n L a ne n e : e x e c u t i n g T e c h n i ca ca l m a n a g e r o p e r a t i o n .
: c o n t i n u o u s P r o d u c t i o n S u p e r v i s i n g T o F o r k a bpmn: NormalSequenceFl ow ; bpmn : c o nn nn e ct ct e dF dF r om om : c o n t i n u o u s P r o d u c t i o n S u p e r v i s i n g ; bpmn: connectedTo connectedTo : forkCo ntinuo usProd uction Superv isingA nd i o n F o r I n i t i at at i v e . − P r o p o s i t io : c o n t i n u o u s P r o d u c t i o n S u p e r v i s i n g T o Op Op t m i z a t i o n P o t e n t i a l a bpmn: As soc ia ti on ; bpmn : c o nn nn e ct ct e dF dF r om om : c o n t i n u o u s P r o d u c t i o n S u p e r v i s i n g ; bpmn : c on o n n ec ec t ed ed To To : o p t i m i z a t i o n P o t e n t i a l . : creatingNetworkModel a bpmn: bpmn: Ta sk ; bpmn: hasA ctivi tyTa skTyp e bpmn: User ; bpmn: hasConnectingFrom : creat ingNe twor kMode lToDe cisio n , : creatingNetworkModelToNetworkModel ; bpmn: hasConnectingTo : p r o c e s s C a p a c i t i e s T o C re re a t i n g N e t w o r k M o d e l , : wellDataToCreatingNetworkModel ; bpmn: bpmn: hasName hasName "Creating "Creating network network model" model" ˆ ˆ x s d : s t r i n g ; bpmn : i s I n L a ne ne : e x e c u t i n g P r o d u c t i o n e n g i n e e r o n s h o r e . : creatingNetworkModelToDecision a bpmn: NormalSequenceFlow ; bpmn: connectedFrom : creat ingNe twork Model ; bpmn: connectedTo connectedTo : decisionModelWithTestOrProductionData . : creatingNetworkModelToNetworkMode creatingNetworkModelToNetworkModell a bpmn: As soc ia ti on ; bpmn: connectedFrom : creat ingNe twork Model ; bpmn: connectedTo : networkModel networkModel . : d e c i s i o n A p p r o v e d a semtask : DecisionGateway ; bpmn: hasConnectingFrom : approvedToStoringTestInProdTekData approvedToStoringTestInProdTekDatabase base , : approved ToWellTes ting ; bpmn: hasConnectingTo : wellTes tingT oApprov ed ; bpmn : i s I n L a ne ne : e x e c u t i n g P r o d u c t i o n e n g i n e e r o n s h o r e . : d e c i s i o n I m p l e m e n t I n i t i a t i v e a semtask : DecisionGateway ; bpmn: hasConnectingFrom : i m p l e m e n t I n i t i a t i v e T o E x e c u t i o n O f Up Up d a t e d P l a n , : implementInitiativeToOptimalProduction ; bpmn : h a sC sC oon n n ec ec t in in ggT To : prop osi tion ForI nit iat iveT oDec isio n ; bpmn : i s I n L a ne ne : o r g a n i z e r P r o d u c t i o n e n g i n e e r o n s h o r e .
134
B. THE RDF DOCUMENTS
B.1. THE DAILY PRODUCTION OPTIMIZATION
: decisionModelOK a semtask : DecisionGatewa y ; bpmn: hasConnect hasConnectingFr ingFrom om : decision ToEvalu ationOf InputD ata , : decisionToExecutionOfOptimzation ; bpmn: hasConnectingTo : v a l i d a t i n g M o de de l W i t h P r o d u ct ct i o n D a t a T o D e ci ci s i o n , : validatingModelWithTestDataToDecision ; bpmn : i s I n L a ne ne : e x e c u t i n g P r o d u c t i o n e n g i n e e r o n s h o r e . : decisionModelWithTestOrProductionData a semtask : DecisionGateway ; bpmn: hasConnectingFrom : d e c i s i o n T o V al al i d a t i n g M o d e lW lW i t h P r o d u c t i on on D a t a , : decisionToValidatingModelWithTestData ; bpmn: hasConnectin hasConnectingTo gTo : creatingNet workModelToD ecision ; bpmn : i s I n L a ne ne : e x e c u t i n g P r o d u c t i o n e n g i n e e r o n s h o r e . : decisionMoreThan180DaysSinceLastWellExaminati on a semtask : DecisionGateway ; bpmn: hasConnectingFrom : deci sionT oWell Exami nati on , : decisionToWellInitativeSuggestion ; bpmn: hasConnectingTo hasConnectingTo : wel lAn aly sis ToD eci sio n ; or e t ha ha n 1 80 80 d ay ay s s in in ce ce l as as t w el el l bpmn: bpmn: hasName hasName " M or examiniation" ˆ ˆ x s d : s t r i n g ; bpmn : i s I n L a ne ne : e x e c u t i n g P r o d u c t i o n e n g i n e e r o n s h o r e . : d e c i s i o n N e e d F o r W e l l T e s t a semtask : DecisionGateway ; bpmn: hasConnectingFrom : needFor WellTes tToWel lAnaly sis , : needForWellTestToWellTesting ; bpmn: hasConnectin hasConnectingTo gTo : trendingO fWellDataTo Decision ; bpmn : i s I n L a ne ne : e x e c u t i n g P r o d u c t i o n e n g i n e e r o n s h o r e . : d e c i s i o n T o E v a l u a t i o n O f I n p u t D a t a a bpmn: ConditionalSequenceFlow ; bpmn: connected From : decisio nModelO K ; bpmn: connectedTo connectedTo : evalu ation OfInp utDat a ; bpmn: hasC ond iti on "No" ˆ ˆ xs xs d : s t r i n g . : d e c i s i o n T o E x e c u t i o n O f O p t i m z a t i o n a bpmn: ConditionalSequenceFlow ; bpmn: connected From : decisio nModelO K ; bpmn: connectedTo connectedTo : exec utio nOfO pti miza tio n ; bpmn: hasC ond iti on "Yes" ˆ ˆ xs xs d : s t r i n g . : d e c i s i o n T o V a l i d a t i n g Mo Mo d e l W i t h P r o d u c t i o n Da D a t a a bpmn: ConditionalSequenceFlow ; bpmn: connectedFrom : decisionModelWithTestOrProductionData ; bpmn: connectedTo connectedTo : validatin gModelWithP roductionDa ta ; bpmn: hasC ond iti on "Use xs d : s t r i n g . "Use produc productio tion n data" data" ˆ ˆ xs
135
B. THE RDF DOCUMENTS
B.1. THE DAILY PRODUCTION OPTIMIZATION
: decisionToValidatingModelWithTestData a bpmn: ConditionalSequenceFlow ; bpmn: connectedFrom : decisionModelWithTestOrProductionData ; bpmn: connectedTo connectedTo : validatingModelWithTestData ; "Use test test data" data" ˆ ˆ xs bpmn: hasC ond iti on "Use xs d : s t r i n g . : decisionToWellExamination a bpmn: Condit ionalS equenceFl ow ; bpmn: connectedFrom : decisionMoreThan180DaysSinceLastWellExaminat ion ; bpmn: connectedTo connectedTo : wellExami nation ; bpmn: hasC ond iti on "Yes" ˆ ˆ xs xs d : s t r i n g . : d e c i s i o n T o W e l l I n i t a t i v e S u g g e s t i o n a bpmn: ConditionalSequenceFlow ; bpmn: connectedFrom : decisionMoreThan180DaysSinceLastWellExaminat ion ; bpmn : c on o n n ec ec t ed ed To To : w e l l I n i t i a t i v e S u g g e s t i o n ; bpmn: hasC ond iti on "No" ˆ ˆ xs xs d : s t r i n g . : e s t i m a t e d R i s k a semtask : Fie ld ; semt ask : hasN hasNam amee "Estimated "Estimated risk (1-5)" ˆ ˆ x s d : s t r i n g ; s em e m t as a s k : i s In I n F or or m : o p t i m i z a t i o n P o t e n t i a l . : e s t i m a t e d V a l u e a semtask : Fie ld ; "Estimated ted Value Value in NOK" NOK" ˆ ˆ x s d : s t r i n g ; semt ask : hasN hasNam amee "Estima s em e m t as a s k : i s In I n F or or m : o p t i m i z a t i o n P o t e n t i a l . : e v a l u a t e S u b s e a W e l l I n i t i a t i v e bpmn : h a sC sC on o n n ec ec t in in ggT To : followUpToEvaluateSubseaWellInitiative ; bpmn: bpmn: hasName hasName "Evaluate "Evaluate Subsea Subsea Well Well Initiative" Initiative" ˆˆxsd : stri ng ; bpmn: hasSt artEve nt : needForW ellAnal ysis ; bpmn : i s I n L a ne ne : e x e c u t i n g P r o d u c t i o n e n g i n e e r o n s h o r e . : e v a l u a t i o n O f I n p u t D a t a a bpmn: bpmn: Ta sk ; bpmn: hasA ctivi tyTa skTyp e bpmn: User ; bpmn: hasConnectingFrom : evaluat ionOfI nputD ataToWe llData ; bpmn: hasConnectingTo hasConnectingTo : decisi onToEv aluat ionOf Input Data ; "Evaluatio tion n of Input Input Data" Data" ˆ ˆ x s d : s t r i n g ; bpmn: bpmn: hasName hasName "Evalua bpmn : i s I n L a ne ne : e x e c u t i n g P r o d u c t i o n e n g i n e e r o n s h o r e . : evaluationOfInputDataToWellData a bpmn : NormalSequenc eFlow ; bpmn: connectedF connectedFrom rom : evalua tionO fInpu tDat a ; bpmn: connectedTo connectedTo : wellData . : e x e c ut u t i n g P r o c es e s s O p e r at a t i o n e n g i n ee e e r o n s h o re r e a bpmn: bpmn: L ane ;
136
B. THE RDF DOCUMENTS
B.1. THE DAILY PRODUCTION OPTIMIZATION
"Executing (Process/Operat (Process/Operation ion enginee engineer, r, bpmn: bpmn: hasName hasName "Executing onshore)" ˆ ˆ x s d : s t r i n g ; bpmn: hasObject : forkTopsideProductionOptimizationAndPropositionFor − Initative , : topsideProductionOptimization ; bpmn : i s I n P o o l : p r o d u c t i o n O p t i m i z a t i o n .
: e x e c u t i n g P r o d u c t i o n e n g i n e e r o n s h o r e a bpmn: bpmn: L ane ; "Executing (Production (Production engineer engineer onshore)" onshore)" ˆˆ bpmn: bpmn: hasName hasName "Executing xsd : str in g ; bpmn: hasObject : creatingNetworkModel , : decisionAp proved , : decisionMode lOK , : decisionModelWithTestOrProductionData , : decisionMoreThan180DaysSinceLastWellExamination , : decisionNeedForWellTest , : evaluateSubseaWellInit iative , : evaluationOfInputData , : executionOfOptim ization , : followUp , : f o r k P r o d u c t i o n F o l l o w U p An An d P r o p o s i t i o n F o r I n i t i a t i v e , : needForNetworkOptim izing , : needForWellAna lysis , : optimizedModelCalculations , : p r o c es es s C a p a c i t i e s , : productionFollowUp , : s t a r t P r o d u c t i o n F o l l ow ow U p , : storingTestInProdTekDatabase , : systemOpti mization , : trendingOfWellData , : updatingAllModelsThatUseTestData , : validatingModel WithProductionDa ta , : validatingModelWithTestData , : wellAnalysis , : wellData , : wellExamination , : wellIniti ativeSuggest ion , : wellTesting ; bpmn : i s I n P o o l : p r o d u c t i o n O p t i m i z a t i o n . : e x e c u t i n g T e c h n i c al a l m a n a g e r o p e r a t i o n a bpmn: bpmn: L ane ; "Executing (Tehnical (Tehnical manage manager r , operation)" operation)" ˆˆ bpmn: bpmn: hasName hasName "Executing xsd : str in g ; bpmn : h a s O b j e c t : c o n t i n u o u s P r o d u c t i o n S u p e r v i s i n g , : executionOfUpdatedPlan executionOfUpdatedPlan , : forkContinuousProductionSupervisingAnd − PropositionForI nitiative ; bpmn : i s I n P o o l : p r o d u c t i o n O p t i m i z a t i o n .
137
B. THE RDF DOCUMENTS
B.1. THE DAILY PRODUCTION OPTIMIZATION
: e x e c u t i o n O f O p t i m i z a t i o n a bpmn: bpmn: T ask ; bpmn: hasA ctivi tyTa skTyp e bpmn: User ; bpmn: hasConnectingFrom : e x e c u t i o n O f O p t i m z a t i o n T o O p t i m i z e d M od od e l C a l c u l a t i o n s ; bpmn: hasConnectingTo : checklistForSystemOptimizingToExecutionOfOptimization , : decisionToExecutionOfOptimzation ; "semtask of Optimization" Optimization" ˆ ˆ x s d : s t r i n g ; bpmn: bpmn: hasName hasName "semtask bpmn : i s I n L a ne ne : e x e c u t i n g P r o d u c t i o n e n g i n e e r o n s h o r e . : e x e c u t i o n O f O p t i m z a t i o n T o O p t i m i z e d Mo M o d e l C a l c u l a t i o n s a bpmn : NormalSequenceFlow ; bpmn: connectedF connectedFrom rom : exec uti onOf Opt imiz ati on ; bpmn : c o n ne ne c t ed ed T o : o p t i m i z e d M o d e l C a l c u l a t i o n s . : executionOfUpdatedPlan a bpmn: bpmn: Ta sk ; bpmn: hasA ctivi tyTa skTyp e bpmn: User ; bpmn: hasConnectingFrom : executionOfUpdatedPlanToPropsitionForInit iative ; bpmn: hasConnectingTo hasConnectingTo : actionListToEx ecutionOfUpdat edPlan , : i m p l e m e n t I n i t i a t i v e T o E x e c u t i o n O f Up Up d a t e d P l a n , : newInitiativeToExecutionOfUpdatedPlan , : productionOptimi zationMeetingToExecutionO fUpdatedPlan ; "semtask k of Update Updated d Plan" Plan" ˆ ˆ x s d : s t r i n g ; bpmn: bpmn: hasName hasName "semtas bpmn : i s I n L a ne n e : e x e c u t i n g T e c h n i ca ca l m a n a g e r o p e r a t i o n . : e x e c u t i o n O f U p d a t e d P l a n T o P r o p s i t i o n F o r I n i t i a t i v e a bpmn: NormalSequenceFl ow ; bpmn: connectedFrom : execut ionOf Updat edPlan ; bpmn : c on on ne n e ct ct ed e d To To : p r o p o s i t i o n F o r I n i t i a t i v e . : followUp a bpmn: bpmn: Ta sk ; bpmn: hasA ctivi tyTa skTyp e bpmn: User ; bpmn: hasConnectingFrom : followUpToEvaluateSubseaWellInitiative , : followUpToSystemOptimization ; bpmn: bpmn: hasName hasName "Follow-up" ˆ ˆ x s d : s t r i n g ; bpmn : i s I n L a ne ne : e x e c u t i n g P r o d u c t i o n e n g i n e e r o n s h o r e . : f o l l o w U p T o E v a l u a t e S u b s e a W e l l I n i t i a t i v e a bpmn: NormalSequenceFl ow ; bpmn: connectedFrom connectedFrom : foll owUp ; bpmn : c on o n n ec ec t ed ed To To : e v a l u a t e S u b s e a W e l l I n i t i a t i v e . : followUpToSystemOptimization a bpmn: NormalSequenceFlow ; bpmn: connectedFrom connectedFrom : foll owUp ;
138
B. THE RDF DOCUMENTS
B.1. THE DAILY PRODUCTION OPTIMIZATION
bpmn: connectedTo connectedTo : system Optimi zation . : forkContinuousProductionSupervisingAndProposition − F o r I n i t i a t i v e a bpmn: Paral ell Fork Gate way ; bpmn: hasConnectingFrom : forkContinuousProductionSupervisingToContinuous − P r o d u c t i o n S u p e r v i s in in g , : f o r k C o n t i n u o u s P r o d u c t i o n S u p e r vi vi s i n g T o P r o p s i t i o n − ForInit iativ e ; bpmn: hasConnectingTo : continuousProductionSupervisingToFork ; bpmn : i s I n L a ne n e : e x e c u t i n g T e c h n i ca ca l m a n a g e r o p e r a t i o n . : forkContinuousProductionSupervisingToContinuous − P r o d u c t i o n S u p e r v i s i n g a bpmn: NormalSequenceFlow ; bpmn: connectedFrom : f o r k C o n t i n u o us u s P r o d u c t i o n S u pe p e r v i s i n g A n d Pr Pr o p o s i t i o n − ForIni tiati ve ; bpmn : c o n ne ne c t ed ed T o : c o n t i n u o u s P r o d u c t i o n S u p e r v i s i n g . : f o r k C o n t i n u o u s P r o d u c t i o n S u p e r v i s i n g To To P r o p s i t i o n − F o r I n i t i a t i v e a bpmn: NormalSequenceFlow ; bpmn: connectedFrom : forkContinuousProductionSupervisingAnd − PropositionForI nitiative ; bpmn : c on on ne n e ct ct ed e d To To : p r o p o s i t i o n F o r I n i t i a t i v e . : forkProductionFollowUpAndProposition − F o r I n i t i a t i v e a bpmn : Paralell ForkGatewa y ; bpmn: hasConnectingFrom : forkProductionFollowUpToProductionFollowUp forkProductionFollowUpT oProductionFollowUp , : f o r k P r o d u c t i o n F o l l o w U p T o P r o p s i t i o n −F o r I n i t i a t i v e ; bpmn: hasConnectingTo : productionFollowUpToFork ; bpmn : i s I n L a ne ne : e x e c u t i n g P r o d u c t i o n e n g i n e e r o n s h o r e . : forkProductionFollowUpToProductionFollowUp a bpmn: NormalSequenceFl ow ; bpmn: connectedFrom : forkProductionFollowUpAndPropositionForInitiat ive ; bpmn: connectedTo connectedTo : productionFollowUp . : f o r k P r o d u c t i o n F o l l o w U p T o P r o p s i t i o n F o r I n i t i a t i v e a bpmn: NormalSequenceFl ow ; bpmn: connectedFrom : forkProductionFollowUpAndPropositionForInitiat ive ; bpmn : c on on ne n e ct ct ed e d To To : p r o p o s i t i o n F o r I n i t i a t i v e . : f o r k T o p s i d e P r od o d u c t i o n O p t i m i z a t i o n A nd nd − P r o p o s i t i o n F o r I n i t a t i v e a bpmn: Paral ell Fork Gate way ;
139
B. THE RDF DOCUMENTS
B.1. THE DAILY PRODUCTION OPTIMIZATION
bpmn: hasConnectingFrom : forkTopsideProductionOptimizationTo− PropsitionFo rInitiat ive ; bpmn: hasConnectingTo : topsideProductionOptimizationToFork ; bpmn : i s I n L a n e : e x e c ut u t i n g P r o c e s s O p e ra r a t i o n e n g i n e er er o n s h o r e . : forkTopsideProductionOptimizationTo − P r o p s i t i o n F o r I n i t i a t i v e a bpmn: NormalSequenceFlow ; bpmn: connectedF connectedFrom rom : forkTopsi deProducti onOptimi zationAnd −P r o p o s i t i o n F o r I n i t a t i v e ; bpmn : c on on ne n e ct ct ed e d To To : p r o p o s i t i o n F o r I n i t i a t i v e . : forkValidatingModelWithPr forkValidatingModelWithProductionDataAnd oductionDataAnd − ValidatingModelWithTestData a bpmn: ParalellForkGateway . : i m p l e m e n t I n i t i a t i v e T o E x e c u t i o n O f U p d a t e d P l a n a bpmn: ConditionalSequenceFlow ; bpmn : c o nn nn e ct ct e dF dF r om om : d e c i s i o n I m p l e m e n t I n i t i a t i v e ; bpmn: connectedTo : execut ionOfU pdate dPlan ; bpmn: hasC ond iti on "Yes" ˆ ˆ xs xs d : s t r i n g . : i m p l e m e n t I n i t i a t i v e T o O p t i m a l P r o d u c t i o n a bpmn: ConditionalSequenceFlow ; bpmn : c o nn nn e ct ct e dF dF r om om : d e c i s i o n I m p l e m e n t I n i t i a t i v e ; bpmn: connectedTo connectedTo : opti malPr oduct ion ; bpmn: hasC ond iti on "No" ˆ ˆ xs xs d : s t r i n g . : l o n g D e s c r i p t i o n a semtask : Fie ld ; semt ask : hasN hasNam amee "Long description" description" ˆ ˆ x s d : s t r i n g ; s em e m t as a s k : i s In I n F or or m : o p t i m i z a t i o n P o t e n t i a l . : needForAnalysisToTrendingOfWellData needForAnalysisToTrendingOfWellData a bpmn: NormalSequenceFl ow ; bpmn: connectedFrom : need ForW ell Anal ysi s ; bpmn: connectedTo connectedTo : trendingOfWellData . : needForNetworkOptimizing a bpmn: StartEvent ; bpmn: hasConnectingFrom : n e e d F o r N e t wo wo r k O p t i m i z i n g T o Pr Pr o c e s s C a p a c it it i e s , : needForNetworkOptimizingToWellData ; bpmn: bpmn: hasName hasName "Need "Need for for Networ Network k Optimi Optimizin zing" g" ˆ ˆ x s d : s t r i n g ; bpmn : i s I n L a ne ne : e x e c u t i n g P r o d u c t i o n e n g i n e e r o n s h o r e . : n e e d F o r N e t w o r k O p t i m i z in i n g T o P r o c e s s C a p a c i t i e s a bpmn: NormalSequenceFl ow ; bpmn: connectedFrom connectedFrom : needForNetwo rkOptimiz ing ;
140
B. THE RDF DOCUMENTS
B.1. THE DAILY PRODUCTION OPTIMIZATION
bpmn : c on o n n ec ec t ed ed To To : p r o c e s s C a p a c i t i e s . : needForNetworkOptimizingToWellData a bpmn: NormalSequenceFl ow ; bpmn: connectedFrom connectedFrom : needForNetwo rkOptimiz ing ; bpmn: connectedTo connectedTo : wellData . : n e e d F o r W e l l A n a l y s i s a bpmn: S tar tEv ent ; bpmn: hasConnectingFrom : needForAnalysisToTrendingOfWellD needForAnalysisToTrendingOfWellData ata ; bpmn: bpmn: hasName hasName "Need "Need for for Well Well Analys Analysis" is" ˆ ˆ x s d : s t r i n g ; bpmn : i s I n L a ne ne : e x e c u t i n g P r o d u c t i o n e n g i n e e r o n s h o r e . : needForWellTestToWellAnalysis a bpmn: ConditionalSequenceFlow ; bpmn: conne connectedF ctedFrom rom : decisionNee dForWe llTest ; bpmn: connectedTo connectedTo : we ll An al ys is ; bpmn: hasC ond iti on "No" ˆ ˆ xs xs d : s t r i n g . : needForWellTestToWellTesting a bpmn: ConditionalSequenceFlow ; bpmn: conne connectedF ctedFrom rom : decisionNee dForWe llTest ; bpmn: connectedTo connectedTo : wel lT est in g ; bpmn: hasC ond iti on "Yes" ˆ ˆ xs xs d : s t r i n g . : networkModel a bpmn: DataObject ; bpmn: hasConnectingFrom : networkModelToValidatingModelWithProductionData , : networkModelToValidatingModelWithTestData ; bpmn: hasConnectingTo : creatingNetworkModelToNetworkModel ; bpmn: bpmn: hasName hasName "Network xs d : s t r i n g . "Network Model" Model" ˆ ˆ xs : networkModelToValidatingModelWithProductionData a bpmn: Association ; bpmn: connectedFrom : networkModel ; bpmn: connectedTo connectedTo : validatin gModelWithP roductionDa ta . : networkModelToValidatingModelWithTestData a bpmn: Association ; bpmn: connectedFrom : networkModel ; bpmn: connectedTo connectedTo : updatingAllModelsThatUseTes updatingAllModelsThatUseTestData tData . : n e w I n i t i a t i v e a sem ta sk : FormDo FormDocum cument ent ; bpmn: hasConnectingFrom : newInitiativeToExecutionOfUpdatedPlan ; bpmn: hasConnectingTo : p r o p o s i t i o n F o r I n i t i a t i v e T o N e wI wI n i t i a t i v e ; bpmn: bpmn: hasName hasName "New Initiative" xs d : s t r i n g . Initiative" ˆ ˆ xs
141
B. THE RDF DOCUMENTS
B.1. THE DAILY PRODUCTION OPTIMIZATION
: n e w I n i t i a t i v e T o E x e c u t i o n O f U p d a t e d P la l a n a bpmn: Ass oc ia ti on ; bpmn : c o nn nn e ct ct e dF dF r om om : n e w I n i t i a t i v e ; bpmn: connectedTo connectedTo : executionOfUpdatedPlan . : o p t i m a l P r o d u c t i o n a bpmn pmn : Terminat eEndEve nt ; bpmn: hasConnectingTo : implementInitiativeToOptimalProduction ; "Optimal Production" Production" ˆ ˆ x s d : s t r i n g ; bpmn: bpmn: hasName hasName "Optimal bpmn : i s I n L a ne ne : o r g a n i z e r P r o d u c t i o n e n g i n e e r o n s h o r e . : o p t i m i z a t i o n P o t e n t i a l a sem tas k : FormDo FormDocum cument; ent; bpmn: hasConnectingFrom : optmizationPotentialToPropositionForInitiative ; bpmn: hasConnectingTo : c o n t i n u o u s P r o d u ct c t i o n S u p e r v i s i n g T o O pt pt m i z a t i o n P o t e n t i a l , : productonFollowUp ToOptmizationPot ential ; "Optimization Potential" Potential" ˆ ˆ x s d : s t r i n g ; bpmn: bpmn: hasName hasName "Optimization s e m ta ta s k : h a s F i e l d : e s t i m a t e d R i s k , : estimatedV alue , : longDescript ion , : s h o r t D e s cr cr i p t i o n . : o p t i m i z e d M o d e l C a l c u l a t i o n s a bpmn: bpmn: Termina teEndE vent ; bpmn: hasConnectingTo : e x e c u t i o n O f O p t i m z a t i o n T o O p t i m i z e d M od od e l C a l c u l a t i o n s ; bpmn : i s I n L a ne ne : e x e c u t i n g P r o d u c t i o n e n g i n e e r o n s h o r e . : o p t m i z a t i o n P o t e n t i a l T o P r o p o s i t i o n F o r I n i t i a t i v e a bpmn: Association ; bpmn : c o nn nn e ct ct e dF dF r om om : o p t i m i z a t i o n P o t e n t i a l ; bpmn : c on on ne n e ct ct ed e d To To : p r o p o s i t i o n F o r I n i t i a t i v e . : o r g a n iz i z e r P r o d u ct c t i o n e n g i n e er e r o n s h o re r e a bpmn: bpmn: L ane ; "Organizaer (production (production enginee engineer r , noshore)" noshore)" bpmn: bpmn: hasName hasName "Organizaer ˆˆxsd : st ri ng ; bpmn : h a s Ob Ob j e c t : d e c i s i o n I m p l e m e n t I n i t i a t i v e , : optimalProduction , : productionOptimizationMeeting , : propositionForIn itiative , : weekday 9am ; bpmn : i s I n P o o l : p r o d u c t i o n O p t i m i z a t i o n . : p r o c e s s C a p a c i t i e s a bpmn: bpmn: Ta sk ; bpmn: hasA ctivi tyTa skTyp e bpmn: User ; bpmn: hasConnectingFrom : processCapacitiesToCreatingNetworkModel ;
142
B. THE RDF DOCUMENTS
B.1. THE DAILY PRODUCTION OPTIMIZATION
bpmn: hasConnectingTo : n e e d F o r N e t w o r k O p t i m i z i n gT gT o P r o c e s s C a p a c i t i e s ; "Process Capacities" Capacities" ˆ ˆ x s d : s t r i n g ; bpmn: bpmn: hasName hasName "Process bpmn : i s I n L a ne ne : e x e c u t i n g P r o d u c t i o n e n g i n e e r o n s h o r e . : p r o c e s s C a p a c i t i e s T o C r e a t i n g N e t w o r k M o d e l a bpmn: NormalSequenceFl ow ; bpmn : c o nn nn e ct ct e dF dF r om om : p r o c e s s C a p a c i t i e s ; bpmn: connectedTo connectedTo : creatingNetworkModel . : productionFollowUp a bpmn : Looped SubP roces s ; bpmn: hasConnectingFrom hasConnectingFrom : productionFollowUpToFork , : productonFollowUp ToOptmizationPot ential ; bpmn: hasConnectingTo : forkProductionFollowUpToProductionFollowUp ; "Production Follow-up" Follow-up" ˆ ˆ x s d : s t r i n g ; bpmn: bpmn: hasName hasName "Production bpmn : h a s S t a r t E v e n t : s t a r t P r o d u c t i o n F o l l o w U p ; bpmn : i s I n L a ne ne : e x e c u t i n g P r o d u c t i o n e n g i n e e r o n s h o r e . : productionFollowUpToFork a bpmn: NormalSequenceFlow ; bpmn: connectedFrom : produ ction Follow Up ; bpmn: connectedTo : forkProductionFollowUpAndPropositionForInitiat ive . : p r o d u c t i o n I n c r e a s i n g I n i t i a t i v e R e p o r t a semtask : FormDocum FormDocument ent ; bpmn: hasConnectingFrom : productionIncreasingInitiativeReportTo − PropositionForI nitiative ; bpmn: hasConnectingTo hasConnectingTo : topsdeProd uctionOp timizati onTo − ProductionIncreasingInitiativeReport ; bpmn: bpmn: hasName hasName "Production "Production Increasing Increasing Initiative Initiative Report" Report" ˆˆ x sd sd : s t r i n g . : productionIncreasingInitiativeReportTo − P r o p o s i t i o n F o r I n i t i a t i v e a bpmn: Ass oc ia ti on ; bpmn : c on on ne n e ct ct ed ed Fr Fr oom m : prod uct ion Inc reas ing Ini tia tiv eRep ort ; bpmn : c on on ne n e ct ct ed e d To To : p r o p o s i t i o n F o r I n i t i a t i v e . : p r o d u c t i o n O p t i m i z a t i o n M e e t i n g a bpmn: bpmn: Ta sk ; bpmn: hasA ctivi tyTa skTyp e bpmn: User ; bpmn: hasConn hasConnectin ectingFro gFrom m : production Optimizati onMeetingTo − ContinuousProductionSupervising , : productionOptimizationMeetingToExecuti onOfUpdatedPlan , : productionOptimizationMeetingToProductionFollowUp , : p r o d u c t i o n O p t i m i z a t i o n M ee ee t i n g T o T o p s i d e P r o d u ct ct i o n − Optimization , : productonOptimzationMeetingToActionList ;
143
B. THE RDF DOCUMENTS
B.1. THE DAILY PRODUCTION OPTIMIZATION
bpmn: hasConnectingTo : weekday9amToProductionOptimizationMeeting , : weeklyPlanToProductonOptimzationMeeting ; bpmn: bpmn: hasName hasName "Production "Production Optimization Optimization Meeting" Meeting" ˆˆxsd : stri ng ; bpmn : i s I n L a ne ne : o r g a n i z e r P r o d u c t i o n e n g i n e e r o n s h o r e . : productionOptimizationMeetingToContinuous − P r o d u c t i o n S u p e r v i s i n g a bpmn: NormalSequenceFlow ; bpmn: connectedF connectedFrom rom : produ ction Optim izati onMeet ing ; bpmn : c o n ne ne c t ed ed T o : c o n t i n u o u s P r o d u c t i o n S u p e r v i s i n g . : productionOptimizationMeetingToExecutionOf −UpdatedPlan a bpmn: NormalSequenceFlow ; bpmn: connectedF connectedFrom rom : produ ction Optim izati onMeet ing ; bpmn: connectedTo connectedTo : executionOfUpdatedPlan . : p r o d u c t i o n O p t i m i z a t i o n M ee ee t i n g T o P r o d u c t i o n −FollowUp a bpmn : NormalSequenceFlow ; bpmn: connectedF connectedFrom rom : produ ction Optim izati onMeet ing ; bpmn : c o n ne ne c t ed ed T o : t o p s i d e P r o d u c t i o n O p t i m i z a t i o n . : p r o d u c t i o n O p t i m i z a t i o n M e et et i n g T o T o p s i d e P r o d u c t i o n − O p t i m i z a t i o n a bpmn: NormalSequenceFlow ; bpmn: connectedF connectedFrom rom : produ ction Optim izati onMeet ing ; bpmn : c o n ne ne c t ed ed T o : t o p s i d e P r o d u c t i o n O p t i m i z a t i o n . : p r o d u c t i o n O p t i m i z a t i o n a bpmn: bpmn: Po ol ; bpmn: hasLane : executing Process Operation engineer onshore , : executing Production engineer onshore , : e x e c u ti t i n g T e c h ni n i c a l m a n a g e r o p e r a t io io n , : organizer Production engineer onshore ; "Production Optimization" Optimization" ˆ ˆ xs bpmn: bpmn: hasName hasName "Production xs d : s t r i n g . : productonFollowUpToOptmizationPotential a bpmn: Association ; bpmn: connectedFrom : produ ction Follow Up ; bpmn : c on o n n ec ec t ed ed To To : o p t i m i z a t i o n P o t e n t i a l . : productonOptimzationMeetingToActionList a bpmn: Association ; bpmn: connectedF connectedFrom rom : produ ction Optim izati onMeet ing ; bpmn : c o n ne ne c t ed ed T o : a c t i o n L i s t . : p r o p o s i t i o n F o r I n i t i a t i v e a bpmn: bpmn: Ta sk ; bpmn: hasA ctivi tyTa skTyp e bpmn: User ; bpmn: hasConnectingFrom : propositionForInitiativeToDecision ,
144
B. THE RDF DOCUMENTS
B.1. THE DAILY PRODUCTION OPTIMIZATION
: propositionForInitiativeToNewInitiative ; bpmn: hasConnectingTo : executionOfUpdatedPlanToPropsitionForInitiative , : forkContinuousProduct ionSupervisingTo − PropsitionForInitiative , : forkProductionFollowUpToPropsit ionForInitiative , : forkTopsideProductionOptimizationTo − PropsitionForInitiative , : optmizationPotentialToProposi tionForInitiative , : productionIncreasingInit iativeReportToProposition − ForInit iativ e ; "Proposition for Initiative" Initiative" ˆ ˆ x s d : s t r i n g ; bpmn: bpmn: hasName hasName "Proposition bpmn : i s I n L a ne ne : o r g a n i z e r P r o d u c t i o n e n g i n e e r o n s h o r e . : p r o p o s i t i o n F o r I n i t i a t i v e T o D e ci c i s i o n a bpmn: NormalSequenceFl ow ; bpmn : c on on ne n e ct ct ed ed Fr Fr oom m : pro pos it io nFo rIn it ia ti ve ; bpmn : c on o n n ec ec t ed ed To To : d e c i s i o n I m p l e m e n t I n i t i a t i v e . : p r o p o s i t i o n F o r I n i t i a t i v e T o N e wI w I n i t i a t i v e a bpmn: Association ; bpmn : c on on ne n e ct ct ed ed Fr Fr oom m : pro pos it io nFo rIn it ia ti ve ; bpmn : c on o n n ec ec t ed ed To To : n e w I n i t i a t i v e . : recommendedPracticeForWellTest ing a semtask : URLBasedDocument URLBasedDocument ; bpmn: hasConnectingFrom : recommendedPracticeForWellTesti ngToWellTesting ; "Recommende nded d Practi Practice ce for for Well Well Te" ˆˆxsd : bpmn: bpmn: hasName hasName "Recomme stri ng ; semtask : ur l "http://en.wikipedia.org/wiki/Well_Testing" ˆ ˆ xs xs d : s t r i n g . : recommendedPracticeForWellTestingToWellTesting a bpmn: Association ; bpmn: connectedFrom : recom mende dPrac ticeF orWel lTest ing ; bpmn : c o n ne ne c t ed ed T o : w e l l T e s t i n g . : s h o r t D e s c r i p t i o n a semtask : Fie ld ; "Short descri descripti ption on of the the optimi optimizat zation ion semt ask : hasN hasNam amee "Short potential" ˆ ˆ x s d : s t r i n g ; s em e m t as a s k : i s In I n F or or m : o p t i m i z a t i o n P o t e n t i a l . : s t a r t P r o d u c t i o n F o l l o w U p a bpmn: StartEvent ; bpmn : i s I n L a ne ne : e x e c u t i n g P r o d u c t i o n e n g i n e e r o n s h o r e . : startProductionFollowUpToFollowUp a bpmn: NormalSequenceFl ow ; bpmn: connectedF connectedFrom rom : start Produ ction Follow Up ;
145
B. THE RDF DOCUMENTS
B.1. THE DAILY PRODUCTION OPTIMIZATION
bpmn: connectedTo connectedTo : followUp . : s t o r i n g T e s t I n P r o d T e kD k D a t a b a s e a bpmn: bpmn: Ta sk ; bpmn: hasA ctivi tyTa skTyp e bpmn: User ; bpmn: hasConnectingFrom : storingTestInProdTekDatabaseToUpdating − AllModelsThatUseTestDa ta ; bpmn: hasConnectingTo : approvedToStoringTestInProdTekData approvedToStoringTestInProdTekDatabase base , : wellTestResultsToStoringTestInProdtekDatabase ; bpmn: bpmn: hasName hasName "Storin "Storing g Test Test in ProdTe ProdTek k Databa Database" se" ˆˆxsd : stri ng ; bpmn : i s I n L a ne ne : e x e c u t i n g P r o d u c t i o n e n g i n e e r o n s h o r e . : storingTestInProdTekDatabaseToUpdating − AllModelsThatUseTestData a bpmn: NormalSequenceFlow ; bpmn: connect connectedFr edFrom om : storingTestI nProdTekDa tabase ; bpmn: connectedTo connectedTo : updatingAllModelsThatUseTes updatingAllModelsThatUseTestData tData . : s y s t e m O p t i m i z a t i o n a bpmn : SubP roc ess ; bpmn: hasConnectingTo : follo wUpToSy stemO ptimi zation ; "System Optimizatio Optimization" n" ˆ ˆ x s d : s t r i n g ; bpmn: bpmn: hasName hasName "System bpmn: hasStart Event : needForNetworkOptimizing needForNetworkOptimizing ; bpmn : i s I n L a ne ne : e x e c u t i n g P r o d u c t i o n e n g i n e e r o n s h o r e . : t o p s d e P r o d u c t i on o n O p t i m i z a t i o n T o Pr P r o d u c t i o n I n c r ea ea s i n g − I n i t i a t i v e R e p o r t a bpmn: As so ci at io n ; bpmn : co co n ne ne c te te d Fr Fr o m : t o p s i d e P r o d u c t i o n O p t i m i z a t i o n ; bpmn : c on on ne n e ct ct ed e d To To : p r o d u c t i o n I n c r e a s i n g I n i t i a t i v e R e p o r t . : t o p s i d e P r o d u c t i o n O p t i m i z a t i o n a bpmn: bpmn: Ta sk ; bpmn: hasA ctivi tyTa skTyp e bpmn: User ; bpmn: hasConnectingFrom : t o p s d e P r o d u ct c t i o n O p t i m i z a t i o n T oP o P r o d u c t i o n I n c re re a s i n g − InitiativeReport , : topsideProductionOptimizationToFork ; bpmn: hasConnectingTo : productionOptimizationMeetingToProductionFollowUp , : productionOptimizationMeetingToTopside − ProductionOptimizat ion ; "Topside Production Production Optimizati Optimization" on" ˆˆxsd : bpmn: bpmn: hasName hasName "Topside stri ng ; bpmn : i s I n L a n e : e x e c ut u t i n g P r o c e s s O p e ra r a t i o n e n g i n e er er o n s h o r e . : t o p s i d e P r o d u c t i o n O p t i m i z a t i o n T o F o r k a bpmn: NormalSequenceFl ow ; bpmn : co co n ne ne c te te d Fr Fr o m : t o p s i d e P r o d u c t i o n O p t i m i z a t i o n ;
146
B. THE RDF DOCUMENTS
B.1. THE DAILY PRODUCTION OPTIMIZATION
bpmn: connectedTo : forkTopsideProductionOptimizationAndProposition − F o r I n it it a t i v e . : trendingOfWellData a bpmn: bpmn: Ta sk ; bpmn: hasA ctivi tyTa skTyp e bpmn: User ; bpmn: hasConnec hasConnectingF tingFrom rom : trendingOfWellD ataToDecisi on ; bpmn: hasConnectingTo : needForAnalysisToTrendingOfWellD needForAnalysisToTrendingOfWellData ata ; "Trending ng of Well Well Data" Data" ˆ ˆ x s d : s t r i n g ; bpmn: bpmn: hasName hasName "Trendi bpmn : i s I n L a ne ne : e x e c u t i n g P r o d u c t i o n e n g i n e e r o n s h o r e . : trendingOfWellDataToDecision a bpmn: NormalSequenceFlow ; bpmn: connectedFrom : trend ingOf WellD ata ; bpmn : c o n ne ne c t ed ed T o : d e c i s i o n N e e d F o r W e l l T e s t . : updatingAllModelsThatUseTe updatingAllModelsThatUseTestData stData a bpmn: bpmn: Ta sk ; bpmn: hasA ctivi tyTa skTyp e bpmn: User ; bpmn: hasConnectingFrom : updatingAllModelsThatUseTestDataToWellAnalysis ; bpmn: hasConnectingTo : networkModelToValidatingModelWithTestData , : storingTestInProdTekDatabaseToUpdating − AllModelsThatUseTestDat a ; bpmn: bpmn: hasName hasName "Updati "Updating ng all all Models Models that that Use Use Test Test Data" Data" ˆˆ xsd : str in g ; bpmn : i s I n L a ne ne : e x e c u t i n g P r o d u c t i o n e n g i n e e r o n s h o r e . : updatingAllModelsThatUseTestDataToWellAnalysis a bpmn: NormalSequenceFl ow ; bpmn: connectedFrom : updatin gAllMode lsThatU seTestDa ta ; bpmn : c o n ne ne c t ed ed T o : w e l l A n a l y s i s . : validatingModelWithProductionData a bpmn: bpmn: T ask ; bpmn: hasA ctivi tyTa skTyp e bpmn: User ; bpmn: hasConnectingFrom : v a l i d a t i n g M o d e l W i t h P ro r o d u c t i o n D a t a T o D e c i s i on on ; bpmn: hasConnectingTo : d e c i s i o n T o V al al i d a t i n g M o d e lW lW i t h P r o d u c t i on on D a t a , : networkModelToValidatingModelWithProductionData ; "Validatin ting g Model Model with with Produc Productio tion n Data" Data" ˆˆ bpmn: bpmn: hasName hasName "Valida xsd : str in g ; bpmn : i s I n L a ne ne : e x e c u t i n g P r o d u c t i o n e n g i n e e r o n s h o r e . : v a l i d a t i n g M o d e l W i t h P r o du du c t i o n D a t a T o D e c i s i o n a bpmn: NormalSequenceFl ow ; bpmn: connect connectedFr edFrom om : validatingModelWit hProductio nData ; bpmn: connectedTo : decisionModelOK .
147
B. THE RDF DOCUMENTS
B.1. THE DAILY PRODUCTION OPTIMIZATION
: validatingModelWithTestData a bpmn: bpmn: Ta sk ; bpmn: hasA ctivi tyTa skTyp e bpmn: User ; bpmn: hasConnectingFrom : validatingModelWithTestDataToDecision ; bpmn: hasConnectingTo : decisionToValidatingModelWithTestData ; "Validatin ting g Model Model with with Test Test Data" Data" ˆˆxsd : bpmn: bpmn: hasName hasName "Valida stri ng ; bpmn : i s I n L a ne ne : e x e c u t i n g P r o d u c t i o n e n g i n e e r o n s h o r e . : validatingModelWithTestDataToDecision a bpmn: NormalSequenceFl ow ; bpmn: connectedFrom : vali dati ngMod elWit hTest Data ; bpmn: connectedTo : decisionModelOK . : weekday9amToProductionOptimizationMeeting a bpmn: NormalSequenceFl ow ; bpmn: connectedFrom : weekday weekday 9am ; bpmn : c o n ne ne c t ed ed T o : p r o d u c t i o n O p t i m i z a t i o n M e e t i n g . : weekday 9am a bpmn: TimerStartEvent ; bpmn: hasConnectingFrom : weekday9amToProductionOptimizationMeeting ; "Weekday 9am" ˆ ˆ x s d : s t r i n g ; bpmn: bpmn: hasName hasName "Weekday bpmn : i s I n L a ne ne : o r g a n i z e r P r o d u c t i o n e n g i n e e r o n s h o r e ; semtask : isBeginningEvent "true" ˆ ˆ x s d : b o o l e a n . : weeklyPlanToProductonOptimzationM weeklyPlanToProductonOptimzationMeeting eeting a bpmn: Association ; bpmn: connectedF connectedFrom rom : week ly P and I plan ; bpmn : c o n ne ne c t ed ed T o : p r o d u c t i o n O p t i m i z a t i o n M e e t i n g . : w e e kl k l y P a n d I p l a n a sem ta sk : URL URLBas BasedD edDocu ocumen mentt ; bpmn: hasConnectingFrom : weeklyPlanToProductonOptimzationMeeting ; "Weekly P&I-plan" P&I-plan" ˆ ˆ x s d : s t r i n g ; bpmn: bpmn: hasName hasName "Weekly semtask : ur l "http://en.wikipedia.org/wiki/Plan" ˆˆxsd : s t ri ri n g . : w e l l A n a l y s i s a bpmn: bpmn: T ask ; bpmn: hasA ctivi tyTa skTyp e bpmn: User ; bpmn: hasConnect hasConnectingFr ingFrom om : wel lAn aly sis ToD eci sio n ; bpmn: hasConnectingTo : b e s t P r a c t i c e D o c u m e n t Fo F o r W e l l A n a l y s i s T o W e l l An An a l y s i s , : needForWellTestToWellAnalysis , : updatingAllModelsThatUseTestDataToWellAnalysis ; Analysis" ˆ ˆ x s d : s t r i n g ; bpmn: bpmn: hasName hasName "Well Analysis" bpmn : i s I n L a ne ne : e x e c u t i n g P r o d u c t i o n e n g i n e e r o n s h o r e .
148
B. THE RDF DOCUMENTS
B.1. THE DAILY PRODUCTION OPTIMIZATION
: w e l l A n a l y s i s T o D e c i s i o n a bpmn: NormalSequenceFlow ; bpmn: connectedF connectedFrom rom : we ll An al ys is ; bpmn: connectedTo : d e c i s i on on M o r e Th Th a n 1 8 0 Da Da y s S i n c eL eL a s t W e l lE lE x a m i n at at i o n . : wellData a bpmn: bpmn: Ta sk ; bpmn: hasA ctivi tyTa skTyp e bpmn: User ; bpmn: hasConnectingFrom hasConnectingFrom : wellDataToCreat ingNetworkModel ; bpmn: hasConnectingTo : evaluat ionOfInp utDataT oWellDat a , : needForNetworkOptimizingToWellData ; bpmn: bpmn: hasName hasName "Well "Well Data" Data" ˆ ˆ x s d : s t r i n g ; bpmn : i s I n L a ne ne : e x e c u t i n g P r o d u c t i o n e n g i n e e r o n s h o r e . : wellDataToCreatingNetworkModel a bpmn: NormalSequenceFlow ; bpmn: connectedFrom connectedFrom : well Data ; bpmn: connectedTo connectedTo : creatingNetworkModel . : wellExamination a bpmn: bpmn: Ta sk ; bpmn: hasA ctivi tyTa skTyp e bpmn: User ; bpmn: hasConnectingFrom : wellExaminationToWellInitativeSuggestion ; bpmn: hasConnectin hasConnectingTo gTo : decisionT oWellExami nation ; bpmn: bpmn: hasName hasName "Well Examinatio Examination" n" ˆ ˆ x s d : s t r i n g ; bpmn : i s I n L a ne ne : e x e c u t i n g P r o d u c t i o n e n g i n e e r o n s h o r e . : w el e l l E x a m i n a t i o n T o W e l l I n i t a t i v e S u g g e s t i o n a bpmn: NormalSequenceFl ow ; bpmn: connectedFrom : well Exam inat ion ; bpmn : c on on ne n e ct ct ed e d To To : w e l l I n i t i a t i v e S u g g e s t i o n . : w e l l I n i t i a t i v e S u g g e s t i o n a bpmn pmn : Terminat eEndEve nt ; bpmn : h a s Co Co n n ec ec t i ng ng T o : d e c i s i o n T o W e l l I n i t a t i v e S u g g e s t i o n , : wellExaminationToWellInitativeSuggestion ; Initiative Suggestion" Suggestion" ˆ ˆ x s d : s t r i n g ; bpmn: bpmn: hasName hasName "Well Initiative bpmn : i s I n L a ne ne : e x e c u t i n g P r o d u c t i o n e n g i n e e r o n s h o r e . : w e l l T e s t R e s u l t s a bpmn: DataObject ; bpmn: hasConnectingFrom : wellTestResultsToStoringTestInProdtekDatabase ; "Well Test Test Result Results" s" ˆ ˆ xs bpmn: bpmn: hasName hasName "Well xs d : s t r i n g . : w e l l T e s t R e s u l t s T o S t o r i n g T e s t I n P r o d t e k D a t a b a s e a bpmn: Association ; bpmn: connectedF connectedFrom rom : wel lT est Re su lt s ; bpmn: connectedTo connectedTo : storing TestInPr odTekDat abase . : w e l l T e s t i n g a bpmn: bpmn: Ta sk ; bpmn: hasA ctivi tyTa skTyp e bpmn: User ; bpmn: hasConnectingFrom : wellTes tingTo Approv ed ;
149
B. THE RDF DOCUMENTS
B.1. THE DAILY PRODUCTION OPTIMIZATION
bpmn: hasConnectingTo : approvedToWell Testing , : needForWellTestToWellTesting , : recommendedPracticeForWellTestingToWellTesting ; bpmn: bpmn: hasName hasName "Well Testing" Testing" ˆ ˆ x s d : s t r i n g ; bpmn : i s I n L a ne ne : e x e c u t i n g P r o d u c t i o n e n g i n e e r o n s h o r e . : wellTestingToApproved a bpmn: NormalSequenceFlow ; bpmn: connectedF connectedFrom rom : well Tes ti ng ; bpmn: connectedTo connectedTo : decis ionApp roved . bpmn: bpmn: BPMN BPMNEl Elem emen entt r d f s : comm comment ent "" ˆ ˆ xs xs d : s t r i n g .
#ENDS
150
B. THE RDF DOCUMENTS
B.2 B.2
B.2. DATA SOURCES
Data Data Sour Source cess Listing B.2: A sample of data sources in Notation3
@prefix : <# > . @prefix data : . @prefix owl : . @prefix p r o t e g e : . @prefix r d f : . @prefix r d f s : . @prefix xsd : . @prefix xsp : . <> a owl : Ontology ; owl : import s .
[
a o wl wl : A l l D i f f e r e n t ; o wl wl : d i s t i n ct c t M e m b er er s ( :temp1 :temp2 :temp3 :temp4 :temp5 :temp6 :temp7 : t em em p 8 ) ] .
: flow 1 a data : FlowSensor ; data :hasPDPURL "http://pdp/sensors/flow1" @en; d a t a : i s L o c at at e d O n : i n j e c t i o n W e l l A 1 ; d at at a : r e l e v a n t S e n s o r : f l o w 5 . : flow 2 a data : FlowSensor ; data :hasPDPURL "http://pdp/sensors/flow2" @en; data : isLocatedOn : productionWellB1 ; d at at a : r e l e v a n t S e n s o r : f l o w 5 . : flow 3 a data : FlowSensor ; data :hasPDPURL "http://pdp/sensors/flow3" @en; data : isLocatedOn : productionWellB2 ; d at at a : r e l e v a n t S e n s o r : f l o w 5 . : flow 4 a data : FlowSensor ; data :hasPDPURL "http://pdp/sensors/flow4" @en; data : isLocatedOn : productionWellB3 ;
151
B. THE RDF DOCUMENTS
B.2. DATA SOURCES
d at at a : r e l e v a n t S e n s o r : f l o w 5 . : flow 5 a data : FlowSensor ; d a t a : h a s D e s c r i p t i o n " F lo lo w b ef ef or or e l iq iq ui ui d g et et s s ep ep er er at at ed ed " ˆˆxsd : st ri ng ; data :hasPDPURL "http://pdp/sensors/flow5" @en; d a t a : i s L o c at at e d O n : s e p a r a t o r 1 ; d a ta t a : r e l e v a n t S e n s o r : f l o w1 w1 , : flow2 , : flow3 , : flow4 . : gasTank1 a d a t a : T o p s i d e A r t i f a c t ; d a ta ta : a r t i f a c t B e l o n g i n g T o : o s e b e r g E a s t ; data :hasPDPURL "http://pdp/osebergEast/artifacts/gasTank1 " @en; data : hasSensor : pressur e2 , :temp1; d a ta t a : r e l e v a n t A r t i f a c t : g as as Ta Ta nk nk 2 , : o i l Ta Ta n k 1 . : gasTank2 a d a t a : T o p s i d e A r t i f a c t ; d a ta ta : a r t i f a c t B e l o n g i n g T o : o s e b e r g E a s t ; data :hasPDPURL "http://pdp/osebergEast/artifacts/gasTank2 " @en; data : hasSensor : pressur e4 , :temp2; d a ta t a : r e l e v a n t A r t i f a c t : g as as Ta Ta nk nk 1 . : i n j e c t i o n W e l l A 1 a d a ta ta : I n j e c t i o n W e l l ; data :hasPDPURL "" ˆ ˆ x s d : s t r i n g ; data : hasSensor : flow1 , : pressur e1 , :temp3; d a t a : r e l e v a n t W e l l : p r o d u c ti ti o n W e l lB lB 3 ; d a ta t a : w e l l B el el o n g i n gT gT o : o s e b e r g E a s t . : oilTank1 a d a t a : T o p s i d e A r t i f a c t ; d a ta ta : a r t i f a c t B e l o n g i n g T o : o s e b e r g E a s t ; data :hasPDPURL "" @en; d a t a : h a s S e n s o r : t em em p p44 . : o s e b e r g E a s t a data : Plat form ; d a t a : h a s A r t i f a c t : g aass Ta Ta n nk k1 , : gasTank2 , : oilTank 1 , : sepa rato r1 ; data :hasPDPURL "http://pdp/osebergEast/" @en; d a t a : h a s We We l l : i n j e c t i o n W e l l A 1 ,
152
B. THE RDF DOCUMENTS
B.2. DATA SOURCES
: productio nWellB1 , : productio nWellB2 , : p r o d u ct ct i o n W e ll ll B 3 . : pressure1 a data : Pressure Senso r ; data :hasPDPURL "http://pdp/sensors/pressure1" @en; d a t a : i s L o c at at e d O n : i n j e c t i o n W e l l A 1 ; d a ta t a : r e l e v a n t S e n s o r : t em em p 2 . : pressure2 a data : Pressure Senso r ; data :hasPDPURL "http://pdp/sensors/pressure2" @en; data : isLoca tedOn : gasTank1 gasTank1 ; d a ta t a : r e l e v a n t S e n s o r : t em em p 1 . : pressure3 a data : Pressure Senso r ; data :hasPDPURL "http://pdp/sensors/pressure3" @en; d a t a : i s L o c at at e d O n : p r o d u ct ct i o n W e ll ll B 1 . : pressure4 a data : Pressure Senso r ; data :hasPDPURL "http://pdp/sensors/pressure4" @en; data : isLocatedOn : gasTan gasTank2 k2 . : productionWellB1 a data : ProductionWell ; data :hasPDPURL "" ˆ ˆ x s d : s t r i n g ; data : hasSensor : flow2 , : pressur e3 , :temp5; d a t a : r e l e v a n t W e l l : p r o d u c ti ti o n W e l lB lB 2 ; d a ta t a : w e l l B el el o n g i n gT gT o : o s e b e r g E a s t . : productionWellB2 a data : ProductionWell ; data :hasPDPURL "" ˆ ˆ x s d : s t r i n g ; data : hasSensor : flow3 , :temp6; d a t a : r e l e v a n t W e l l : p r o d u c ti ti o n W e l lB lB 1 ; d a ta t a : w e l l B el el o n g i n gT gT o : o s e b e r g E a s t . : productionWellB3 a data : ProductionWell ; data :hasPDPURL "" ˆ ˆ x s d : s t r i n g ; data : hasSensor : flow4 , :temp7; d a ta ta : r e l e v a n t W e l l : i n j e c t i o n W e l l A 1 ; d a ta t a : w e l l B el el o n g i n gT gT o : o s e b e r g E a s t . : separator 1 a data : Tops ideA rti fact ; d a ta ta : a r t i f a c t B e l o n g i n g T o : o s e b e r g E a s t ; data :hasPDPURL "http://pdp/osebergEast/artifacts/ separator1" @en; data : hasSensor : flow5 ,
153
B. THE RDF DOCUMENTS
B.2. DATA SOURCES
: t em em p 8 . : temp1 da ta : hasP asPDPUR URL L "http://pdp/sensors/temp1" @en; data : isLoca tedOn : gasTank1 gasTank1 ; d at at a : r e l e v a n t S e n s o r : p r e s s u r e 2 . : temp2 temp2 a dat a : TempSensor ; data :hasPDPURL "http://pdp/sensors/temp2" @en; data : isLoca tedOn : gasTank2 gasTank2 ; d at at a : r e l e v a n t S e n s o r : p r e s s u r e 1 . : temp3 temp3 a dat a : TempSensor ; data :hasPDPURL "http://pdp/sensors/temp3" @en; d a ta t a : i s L oc oc a t ed ed O n : i n j e c t i o n W e l l A 1 . : temp4 temp4 a dat a : TempSensor ; data :hasPDPURL "http://pdp/sensors/temp4" @en; d a t a : i s L o c at at e d O n : o i l T a n k 1 . : temp5 temp5 a dat a : TempSensor ; data :hasPDPURL "http://pdp/sensors/temp5" @en; d a t a : i s L o c at at e d O n : p r o d u ct ct i o n W e ll ll B 1 . : temp6 temp6 a dat a : TempSensor ; data :hasPDPURL "http://pdp/sensors/temp6" @en; d a t a : i s L o c at at e d O n : p r o d u ct ct i o n W e ll ll B 2 . : temp7 temp7 a dat a : TempSensor ; data :hasPDPURL "http://pdp/sensors/temp7" @en; d a t a : i s L o c at at e d O n : p r o d u ct ct i o n W e ll ll B 3 . : temp8 temp8 a dat a : TempSensor ; data :hasPDPURL "http://pdp/sensors/temp8" @en; d a ta t a : i s L oc oc a t ed ed O n : s e p a r a t o r 1 .
#ENDS
154
Appendix C
Jena Rules Listing C.1: Two execution rules in Jena // p r e f i x e s @prefix bpmn:
@prefix data :
@prefix semtask :
@prefix e x e c u t i o n : @prefix xsd :
/ / r u l e t h a t p r oc o c e ss s s e s o f t r i g g e r e d e v en en t s [ proces sTrigg er : / / S pe p e ci c i f y t he h e t yp y p es e s o f o u r v a r i a bl bl e s ( ?sf r d f : type bpmn : S e q u e n c e F l o w ) , ( ?activity r d f : type bpmn : A c t i v i t y ) , ( ? s t aarr t E v e n t r df df : t y p e bpmn : S t a r t E v e n t ) , ( ?trigger r d f : type execution : Trigger ) , / / Ma M ake s u re r e t h a t t h ey e y a re r e c on o n ne n e ct c t ed e d t o e ac ac h o t h er er ( ? s t a r t Ev E v e n t e x e c u t i o n : h a s T ri ri g g e r ? t r i g g e r ) , ( ?sf bpmn : c o n n e c t e d F r o m ? st s t ar a r tE t E v en en t ) , ( ?s f bpmn : c o n n e c t e d T o ? a ct c t iv i v it it y ) , / / T hi hi s t r i g g e r h a s n ot o t t r i g ge g e r e d t h i s a c t i v i t y b ef e f o re re noValue( noValue ( ? t r i g g e r t r i gg gg e d ? a c t i v i t y ) , / / C r e at at e a new , b l a n k , RDF− node . makeTemp( makeTemp ( ?t as k ) , / / C r e a t e a new RD RDF− n o d e w i th t h t h e c u rr r r e nt n t t im im e .
155
C. JENA RULES
now now (?now) , −> / / P r i nt n t d eb e b ug u g i n f o rm rm a t i o n print ( "RULE: processTrig iv i t y , " processTrigger. ger. Activity" Activity" , ? a c t iv Event:" , ? s t a r t E v e n t ) ,
/ / Ma M ake s ur u r e t h i s i s n ot ot e xe x e cu c u t ed e d a n y m or or e f o r t h i s e ve v e nt nt ( ? t r i g g e r t r i gg gg e d ? a c t i v i t y ) , / / C re r e at at e t h e ne n ew T as as k a nd nd a t ta t a c h i t t o t h e a c t i v i t y an d t he he t r i g g e r ( ? t a s k r d f : t y p e e x e c u t i o n : T as as k ) , ( ? a c t i v i t y e x e c u t i o n : h aass Ta Ta sk sk ? t a s k ) , ( ? t a s k e x e c u t i on o n : h as as Ca Ca us us e ? t r i g g e r ) , / / S et e t t im im e st st a mp mp f o r t he he t r i g g e r ( ? t a s k e x e c u t i on o n : c r e a t e d ?now ) ] / / r u le l e t h at a t c r ea e a t es e s a t as a s k o u t o f a d e ci c i s io io n [ proce ssDeci sion : ( ?sf r d f : type bpmn : S e q u e n c e F l o w ) , ( ? d e c i s i o n A c t i v i t y r d f : t yp yp e bpmn : A c t i v i t y ) , ( ? ta t a ssk k Ac A c ti t i vi vi y r df d f : t y pe pe bpmn : A ct c t i vi vi t y ) , ( ? de d e ci c i ssii on on rd f : type execution : Decision ) , ( ?sf bpmn : c o n n e c t e d F r o m ? d e c i si s i o n A c t i vi vi t y ) , ( ?sf bpmn : c o n n e c t e d T o ? ta t a ssk k Ac A c ti t i vi v i ty ty ) , ( ? d e c i s i o n e x e c u t i on o n : b el e l on o n gs g s To To ? d e c i s i o n A c t i v i t y ) , noValue( noValue ( ? d e c i s i o n t r i g g e d ? t a s k A ct ct i v i t y ) , makeTemp( makeTemp ( ?t as k ) , now now (?now) , −> processDecision. sion. from from activity" activity" , print ( "RULE: processDeci activity:" ty:" , ? t a s k A c t i v i y ) , ? d e c i s i o n A c t i v i t y , " to activi ( ?task r d f : type ( ? t a s k A c t i v i t y e x e c u t i o n : h aass Ta Ta sk sk
e x e c u t i o n : T as k ) , ?task ) ,
/ / ma make s u r e t h i s i s n ot o t e x e ccu u t ed e d a n y mo m or e f o r t h i s e v en en t ( ?decision trigged ?taskActivity ) , / / C r ea e a t e a n ew ew T a sk sk b a se s e d on t h e D e c is is i o n ( ?task e x e c u t i o n : c r e a t e d ?now ) , ( ? ta t a ssk k e xe x e cu c u ti t i on o n : h a s C a u s e ? d e ci ci si on ) ]
156