Workflow evolution provenance and OPM Tommy Ellkvist and

  • Slides: 10
Download presentation
Workflow evolution provenance and OPM Tommy Ellkvist and Juliana Freire Using Provenance to Support

Workflow evolution provenance and OPM Tommy Ellkvist and Juliana Freire Using Provenance to Support Real-Time Collaborative Design of Workflows

Workflow Evolution Workflows Version Tree 2 Data Products 2008

Workflow Evolution Workflows Version Tree 2 Data Products 2008

Action based representation of workflows u u Nodes represents workflows Edges represents actions Actions

Action based representation of workflows u u Nodes represents workflows Edges represents actions Actions are transformations on workflows Actions are performed by users 0 Add Module(0) 1 Add Module(1) 2 Add Connection(0, 1) 3 3 2008

OPM XML schema: Example of OPM (The OPM, 2007) 4 2008

OPM XML schema: Example of OPM (The OPM, 2007) 4 2008

OPM XML schema: Translated OPM Example <OPMGraph. . . > <Artifact> <Artifact. Id>1</Artifact. Id>

OPM XML schema: Translated OPM Example <OPMGraph. . . > <Artifact> <Artifact. Id>1</Artifact. Id> <Account>G</Account> <Account>O</Account> </Artifact> … <Process> <Process. Id>1</Process. Id> <Account>G</Account> </Process> <Process. Id>2</Process. Id> <Account>O</Account> </Process> <Process. Id>3</Process. Id> <Account>O</Account> </Process> … <Used Process. Id = "1" Role = "in" Artifact. Id = "1"> <Account>G</Account> </Used> <Used Process. Id = "2" Role = "pair" Artifact. Id = "1"> <Account>O</Account> </Used> <Used Process. Id = "3" Role = "in" Artifact. Id = "3"> <Account>O</Account> </Used> <Used Process. Id = "4" Role = "in" Artifact. Id = "4"> <Account>O</Account> </Used> <Used Process. Id = "5" Role = "left" Artifact. Id = "5"> <Account>O</Account> </Used> <Used Process. Id = "5" Role = "right" Artifact. Id = "6"> <Account>O</Account> </Used> <Was. Generated. By Artifact. Id = "2" Role = "out" Process. Id = "1"> <Account>G</Account> </Was. Generated. By> … <Alternate Account 1 = "O" Account 2 = "G"/> </OPMGraph> 5 2008

Vistrails XML Model <vistrail db. Host="" db. Name="" db. Port="" id="" name="" version="0. 9.

Vistrails XML Model <vistrail db. Host="" db. Name="" db. Port="" id="" name="" version="0. 9. 0" xmlns: xsi="http: //www. w 3. org/. . . "> <action date="2008 -05 -27 17: 35: 39" id="1" prev. Id="0" prune="" session="" user="g-tomel"> <add id="0" object. Id="0" parent. Obj. Id="" parent. Obj. Type="" what="module"> <module cache="1" id="0" name="String" package="edu. utah. sci. vistrails. basic" tag="" version="" /> </add> <add id="1" object. Id="0" parent. Obj. Type="module" what="location"> <location id="0" x="-89. 0" y="62. 0" /> </add> </action> <action date="2008 -05 -27 17: 35: 43" id="2" prev. Id="1" prune="" session="" user="g-tomel"> <add id="2" object. Id="1" parent. Obj. Id="" parent. Obj. Type="" what="module"> <module cache="1" id="1" name="Concatenate. String" package="edu. utah. sci. vistrails. basic" tag="" version="" /> </add> <add id="3" object. Id="1" parent. Obj. Type="module" what="location"> <location id="1" x="-20. 0" y="-67. 0" /> </add> </action> <action date="2008 -05 -27 17: 35: 46" id="3" prev. Id="2" prune="" session="" user="g-tomel"> <add id="4" object. Id="0" parent. Obj. Id="" parent. Obj. Type="" what="connection"> <connection id="0" /> </add> <add id="5" object. Id="1" parent. Obj. Id="0" parent. Obj. Type="connection" what="port"> <port id="1" module. Id="1" module. Name="Concatenate. String" name="str 1" spec="(edu. utah. sci. vistrails. basic: String)" type="destina </add> <add id="6" object. Id="0" parent. Obj. Type="connection" what="port"> <port id="0" module. Id="0" module. Name="String" name="value" spec="(edu. utah. sci. vistrails. basic: String)" type="source" /> </add> </action> </vistrail> 6 2008

Vistrails XML Model: Translated to OPM <Agent> <Agent. Id>concat. xml</Agent. Id> <Agent>G</Agent> <Artifact> <Artifact.

Vistrails XML Model: Translated to OPM <Agent> <Agent. Id>concat. xml</Agent. Id> <Agent>G</Agent> <Artifact> <Artifact. Id>0</Artifact. Id> <Account>G</Account> </Artifact> <Artifact. Id>1</Artifact. Id> <Account>G</Account> </Artifact> <Artifact. Id>2</Artifact. Id> <Account>G</Account> </Artifact> <Artifact. Id>3</Artifact. Id> <Account>G</Account> </Artifact> <Process. Id>1</Process. Id> <Account>G</Account> </Process> <Process. Id>2</Process. Id> <Account>G</Account> </Process> <Process. Id>3</Process. Id> <Account>3</Account> </Process> <Used Process. Id = "1" Role = "in" Artifact. Id = "0"stop. Time. Begin = "2008 -05 -27 17: 35: 39" stop. Time. End = "2008 -05 -27 17: 35: 39"> <Account>G</Account> </Used> <Used Process. Id = "2" Role = "in" Artifact. Id = "1" stop. Time. Begin = "2008 -05 -27 17: 35: 43" stop. Time. End = <Account>G</Account> </Used> <Used Process. Id = "3" Role = "in" Artifact. Id = "2” stop. Time. Begin = "2008 -05 -27 17: 35: 46" stop. Time. End = <Account>G</Account> </Used> <Was. Generated. By Artifact. Id = "1" Role = "out" Process. Id = "1” stop. Time. Begin = "2008 -05 -27 17: 35: 39” stop. Time. End = "2008 -05 -27 17: 35: 39"> <Account>G</Account> </Was. Generated. By> <Was. Generated. By Artifact. Id = "2" Role = "out" Process. Id = "2” stop. Time. Begin = "2008 -05 -27 17: 35: 43" s <Account>G</Account> </Was. Generated. By> <Was. Generated. By Artifact. Id = "3" Role = "out" Process. Id = "3” stop. Time. Begin = "2008 -05 -27 17: 35: 46" s <Account>G</Account> </Was. Generated. By> <Was. Controlled. By Process. Id = "1" Agent. Id = "concat. xml" start. Time. Begin = "2008 -05 -27 17: 35: 39” start. Time. End = "2008 -05 -27 17: 35: 39” stop. Time. Begin = "2008 -05 -27 17: 35: 39” stop. Time. End = "2008 -05 -27 17: 35: 39"> <Account>G</Account> </Was. Controlled. By> <Was. Controlled. By Process. Id = "1" Agent. Id = "concat. xml" start. Time. Begin = "2008 -05 -27 17: 35: 43" start. T <Account>G</Account> </Was. Controlled. By> <Was. Controlled. By Process. Id = "1" Agent. Id = "concat. xml" start. Time. Begin = "2008 -05 -27 17: 35: 46" start. T <Account>G</Account> </Was. Controlled. By> 7 2008

Observations u General model – Only contains enough information to traverse the provenance graph

Observations u General model – Only contains enough information to traverse the provenance graph – No additional information stored u Different ways of representing workflow design provenance – Edges as actions – Edges as version differences 8 2008

Observations u What is the time? – How to interpret a time T of

Observations u What is the time? – How to interpret a time T of a process? – Does interpretation affect querying – Semantics of intervals u Who is the Agent? – – u Users Workflow system The session Workflow specification ”OPM Level 2”? – Are ther workflow specifics we want to express 9 2008

Interoperability 10 2008

Interoperability 10 2008