18
IPAW'08 – Salt Lake City, Utah, Jun Data lineage model for Taverna workflows with lightweight annotation requirements Paolo Missier , Khalid Belhajjame, Jun Zhao, Carole Goble School of Computer Science The University of Manchester, UK

IPAW'08 – Salt Lake City, Utah, June 2008 Data lineage model for Taverna workflows with lightweight annotation requirements Paolo Missier, Khalid Belhajjame,

Embed Size (px)

Citation preview

Page 1: IPAW'08 – Salt Lake City, Utah, June 2008 Data lineage model for Taverna workflows with lightweight annotation requirements Paolo Missier, Khalid Belhajjame,

IPAW'08 – Salt Lake City, Utah, June 2008

Data lineage model for Taverna workflows

with lightweight annotation requirementsPaolo Missier, Khalid Belhajjame, Jun Zhao, Carole Goble

School of Computer ScienceThe University of Manchester, UK

Page 2: IPAW'08 – Salt Lake City, Utah, June 2008 Data lineage model for Taverna workflows with lightweight annotation requirements Paolo Missier, Khalid Belhajjame,

IPAW'08 – Salt Lake City, Utah, June 2008

Context and scopeOngoing work on a new provenance component for Taverna• myGrid consortium

Scope:• capture raw provenance events

– data transformations, data transfers

• store one lineage graph for each dataflow execution• query over single or multiple lineage graphs

Page 3: IPAW'08 – Salt Lake City, Utah, June 2008 Data lineage model for Taverna workflows with lightweight annotation requirements Paolo Missier, Khalid Belhajjame,

IPAW'08 – Salt Lake City, Utah, June 2008

Example (Taverna) dataflow

QTL -> genes -> Kegg pathways

Page 4: IPAW'08 – Salt Lake City, Utah, June 2008 Data lineage model for Taverna workflows with lightweight annotation requirements Paolo Missier, Khalid Belhajjame,

IPAW'08 – Salt Lake City, Utah, June 2008

Some user questions on lineage

• on a single workflow run:– find all genes that participate in some pathway p– find all pathways derived from Uniprot genes– describe the complete derivation of each pathway in

which gene g is involved

• on a collection of runs:– find all distinct pathways produced by runs of a

dataflow[over a period of time, produced by a member of my group, ...]

Page 5: IPAW'08 – Salt Lake City, Utah, June 2008 Data lineage model for Taverna workflows with lightweight annotation requirements Paolo Missier, Khalid Belhajjame,

IPAW'08 – Salt Lake City, Utah, June 2008

Shortcomings of lineage data

• Granularity– risk of returning trivial answers– “all outputs depend on all inputs”

• Semantics– Results not expressed in the language of the designer

• Abstraction level, noise – the “latent data model” – many processors are irrelevant – shims, mundane

tasks

Page 6: IPAW'08 – Salt Lake City, Utah, June 2008 Data lineage model for Taverna workflows with lightweight annotation requirements Paolo Missier, Khalid Belhajjame,

IPAW'08 – Salt Lake City, Utah, June 2008

The need for selective annotations

• As long as processors are black boxes, these remain difficult problems

• Adding annotations to processors is tempting

Scope of this work: to explore the “gray box” region• simple annotations with minimal semantics• driving principle: justified by technical benefits

– precision of query results– efficiency of query processing

Page 7: IPAW'08 – Salt Lake City, Utah, June 2008 Data lineage model for Taverna workflows with lightweight annotation requirements Paolo Missier, Khalid Belhajjame,

IPAW'08 – Salt Lake City, Utah, June 2008

Test dataflow model

P1

extract query terms

P3

query1

P4

query 2

P6

merge results

P1V

I1documentsconfiguration

mergedresults

number ofduplicates

P2

query prep

P5

post-proc

P7

sort

P1V

I2

P1V

O1

P2V

I1P

4V

I1

P2V

O1P

4V

O1

P3V

I1 P5V

I1

P3V

O1 P5V

O1

P6V

I1 P6V

I2

P6V

O1 P6V

O2

P7V

I

P7V

O

Page 8: IPAW'08 – Salt Lake City, Utah, June 2008 Data lineage model for Taverna workflows with lightweight annotation requirements Paolo Missier, Khalid Belhajjame,

IPAW'08 – Salt Lake City, Utah, June 2008

Two main annotation types

Focusing: processor selection some processors are more interesting than others

“boring” annotations query-time user selection of interesting processors

Precision: fine-grained lineage tracing goal: trace lineage of individual items within a

collection

Page 9: IPAW'08 – Salt Lake City, Utah, June 2008 Data lineage model for Taverna workflows with lightweight annotation requirements Paolo Missier, Khalid Belhajjame,

IPAW'08 – Salt Lake City, Utah, June 2008

Abstraction by modularizationLucene_query

NERecognize extract diseasesfrom OMIM

shims

Page 10: IPAW'08 – Salt Lake City, Utah, June 2008 Data lineage model for Taverna workflows with lightweight annotation requirements Paolo Missier, Khalid Belhajjame,

IPAW'08 – Salt Lake City, Utah, June 2008

Abstraction by selection

select

Page 11: IPAW'08 – Salt Lake City, Utah, June 2008 Data lineage model for Taverna workflows with lightweight annotation requirements Paolo Missier, Khalid Belhajjame,

IPAW'08 – Salt Lake City, Utah, June 2008

Abstraction by selection

select

Page 12: IPAW'08 – Salt Lake City, Utah, June 2008 Data lineage model for Taverna workflows with lightweight annotation requirements Paolo Missier, Khalid Belhajjame,

IPAW'08 – Salt Lake City, Utah, June 2008

Focusing – processor selection

P1

extract query terms

P3

query1

P4

query 2

P6

merge results

P1V

I1

P2

query prep

P5

post-proc

P7

sort

P1V

I2

P1V

O1

P2V

I1P

4V

I1

P2V

O1P

4V

O1

P3V

I1 P5V

I1

P3V

O1 P5V

O1

P6V

I1 P6V

I2

P6V

O1 P6V

O2

P7V

I

P7V

O

= b

= a1 = a2

= b = b

= g

var valueP1/VI1 a1P1/VI2 a2P1/VO1 bP2/VI1 bP4/VI1 bP2/VO1 c1P4/VO1 c2...P7/VO g

xform()IN OUT PP4/VI1 P4/VO1 P4P5/VI1 P5/VO1 P5P6/VI2 P6/VO2 P6P7/VI P7/VO P7

xfer()source sinkP4/VO1 P5/VI1P5/VO1 P6/VI2P6/VO2 P7/VI

P4 is the only interesting processor

Assume all values atomic

Query: lineage(P7V

O,{P

4})

Goal:• avoid recursive queries on

instance tablesIdea: use recursion on static

model to generate a targeted query

execute query only once

Page 13: IPAW'08 – Salt Lake City, Utah, June 2008 Data lineage model for Taverna workflows with lightweight annotation requirements Paolo Missier, Khalid Belhajjame,

IPAW'08 – Salt Lake City, Utah, June 2008

Precision: elements within collections

Problem: xform() also applies to list values• It may be impossible to trace individual elements

– “which pathways (out) depend on which genes (in)”?

Goal: extend the query generation idea just sketched to trace element-level lineage within collections

Approach: exploit static typing of Taverna processors

Goal: extend the query generation idea just sketched to trace element-level lineage within collections

Approach: exploit static typing of Taverna processors

P1

P1V

o: l(s) = [a, b, c]

P2V

I: l(s) = [a, b, c]

P2

P1

P1V

o: l(s) = [a, b, c]

P2V

I: s [a, b, c]

P2

Taverna resolves mismatches on nesting levels:(map P

2 [a,b,c])

Page 14: IPAW'08 – Salt Lake City, Utah, June 2008 Data lineage model for Taverna workflows with lightweight annotation requirements Paolo Missier, Khalid Belhajjame,

IPAW'08 – Salt Lake City, Utah, June 2008

Loss of precision in transformations

PVI: l(s) = [a, b, c]

P

PVO: s = x

possible behaviours:• selection of an element• aggregation function f()

useful annotation:

lineage(PVO) = f(PV

I)

PVI: s = a

P

PVO: s = a'

PVI: s = a

P

PVO: l(s) = [x, y, z]

P

PVI: l(s) = [a, b, c]

PVO: l(s) = [x, y]

PVO: l(s) = [a',b',c']

“lossless”transformations

only useful annotation:P is index-preserving:

PVO[i] = PV

I[i]

lineage(PVO[i]) = PV

I[i]

x [a, b, c]lossy

x [a, b, c]y [a, b, c]

Page 15: IPAW'08 – Salt Lake City, Utah, June 2008 Data lineage model for Taverna workflows with lightweight annotation requirements Paolo Missier, Khalid Belhajjame,

IPAW'08 – Salt Lake City, Utah, June 2008

Cooperative processors

PVI: l(s) = [a, b, c]

P

PVO: s = x

P

PVI: l(s) = [a, b, c]

PVO: l(s) = [x, y]

– Passive processors do not contribute explicit provenance info

– Cooperative processors actively feed metadata to the lineage service

Dynamic annotations:

Static annotations:

aggregation f() PVO[i] = PV

I[i]

selection:

x = PVI[i]

sorting:PV

O = (PV

I)

Page 16: IPAW'08 – Salt Lake City, Utah, June 2008 Data lineage model for Taverna workflows with lightweight annotation requirements Paolo Missier, Khalid Belhajjame,

IPAW'08 – Salt Lake City, Utah, June 2008

Other annotations• Distinction between configuration

and input data– PVI

3 is a configuration parameter

– compare effect of different config. across multiple runs

• specific functional dependencies[ PV

I1, PV

I2 ] PV

O

• stateless processor– execute process retrieve

provenance

PVI1

P

PVO

PVI2

PVI3

More evaluation needed on these

Page 17: IPAW'08 – Salt Lake City, Utah, June 2008 Data lineage model for Taverna workflows with lightweight annotation requirements Paolo Missier, Khalid Belhajjame,

IPAW'08 – Salt Lake City, Utah, June 2008

Towards a 2 tier provenance model

Tavernaruntime

P1

P2

P3

P4

P5

P6

P1

P2

P3

P4

P5

P6

P1

P2

P3

P4

P5

P6

dataflow topology +raw lineage events

Lineage servicelineage

database(RDB)

structuralannotations

query

semanticresource

annotations

“describe the derivation of each pathway through Kegg, in which gene g is involved”

referenceontologies

Semanticoverlays

Page 18: IPAW'08 – Salt Lake City, Utah, June 2008 Data lineage model for Taverna workflows with lightweight annotation requirements Paolo Missier, Khalid Belhajjame,

IPAW'08 – Salt Lake City, Utah, June 2008

Conclusions

A data lineage model for Taverna workflows

• Raw lineage data has shortcomings• A few, selected lightweight annotations added in

a principled way– win-win: – helpful to users– and enable query optimization

• Form the base layer in a broader approach to efficient querying of semantic provenance for e-science

• Ongoing implementation