SlideShare une entreprise Scribd logo
1  sur  18
Saumen Dey, Khalid Belhajjame, David Koop, Meghan Raul, Bertram Ludäscher
 Scientists process and analyze their datasets using
scripts.
 Retrospective provenance information can be useful for
scientists to analyze of script execution
 E.g., noWorkflow [Murta et al., IPAW’14]
 While useful, the amount of information such fine-
grained traces contain can be overwhelming for end
users.
There is a need for abstraction techniques that focus the attention
of users on the provenance information relevant for their analyses.
TaPP'15 2
Workflow-Oriented Proposals
 Zoom*UserViews [Biton et al., ICDE’08]:Workflow views are used for
abstracting the retrospective provenance of (potentially complex) workflows
 LabelFlow [Alper et al., IPAW’14]: Both (prospective and retrospective)
workflow provenance are summarized using user annotations and reduction
rules.
Script-Oriented Proposals
 YesWorkflow [McPhillips et al.,TaPP’15]:We have seen in the presentation by
B. Ludäscher, how a URI scheme can be used to reconstruct part of the
retrospective provenance, without recording it at run time.
 This scheme is useful when the data products used and generated,
including intermediate ones, are stored within the file system.
We adopt a similar approach as Zoom*UserViews and apply it to scripts:
We use the workflow specifications (i.e., prospective provenance) extracted by
YesWorkflow to abstract the retrospective provenance captured by noWorkflow
TaPP'15 3
Script Annotate
Extract
Workflow
Specification
Workflow
Description
YesWorkflow
TaPP'15 4
Script Annotate
Extract
Workflow
Specification
Workflow
Description
YesWorkflow
read_temperatureDataFile pastTemperatureData
read_precipitationDataFile pastPrecipitationData
simulate simulatedWeatherData
extract_temperature temperatureData
extract_precipitation precipitationData
create_plot plot
temperatureDataFile
precipitationDataFile
TaPP'15 5
Script
Run Retrospective
Provenance
noWorkflow
Annotate
Extract
Workflow
Specification
Workflow
Description
YesWorkflow
• variable(6, 93, row, 14, ”[0.0]” ,
1430231173.397779).
• dependency(6, 34, 94, 93).
TaPP'15 6
Script
Link* Query
Provenance
User
Run Retrospective
Provenance
noWorkflow
Annotate
Extract
Workflow
Specification
Workflow
Description
YesWorkflow
Link*: Links retrospective and prospective provenancesTaPP'15 7
 Variable names are not reliable IDs.
 Two different variables may have the same name within a
script, e.g., within the scope of different functions
 noWorkflow tracks line numbers in the script to identify the
variable
 YesWorkflow does not provide this information
 However, it provides the line numbers of the start and end of a
block, when requested.
 Using the two pieces of information, we are able to connect data
values in noWorkflows to their correspondingYesWorkflow
variables.
TaPP'15 8
 The variables inYesWorkflows are associated with user
annotations
 Such annotations can be used to provide more information
about the data values within noWorkflow retrospective
provenance
 We note here that it is possible inYesWorkflow to specify
variables that are not mapped to any variables within the
script
TaPP'15 9
-
d
d
e
d
r
y
y
e
-
1 # @begi n model
2 # @i n a @as past Temper at ur eDat a
3 # @i n b @as past Pr eci pi t at i onDat a
4 # @out dat a @as si mul at edWeat her
5 i f ( sum( a) / l en( a) ) < 0:
6 dat a = model 1( a, b)
7 el se:
8 dat a = model 2( a, b)
9 # @end model
Figure3. Annotating anif-then-elsecontrol block using YesWork-
flow
model
pastTemperatureData pastPrecipitationData
simulatedWeather
e
t
d
e
)
n
-
-
-
-
d
s
s
n
-
a
d
-
e
t
s
s
24 ## @begi n mai n
25 # @i n dat a1. dat @as t emper at ur eDat aFi l e @URI
f i l e: t emp. dat
26 # @i n dat a2. dat @as pr eci pi t at i onDat aFi l e @URI
f i l e: pr eci p. dat
27 # @out out put . png @as pl ot
28
29 ## @begi n r ead_f i l e_1
30 # @i n dat a1. dat @as t emper at ur eDat aFi l e @URI
f i l e: t emp. dat
31 # @out a @as past Temper at ur eDat a
32 a = r ead_f i l e( " dat a1. dat " )
33 ## @end r ead_f i l e_1
34
35 ## @begi n r ead_f i l e_2
36 # @i n dat a2. dat @as pr eci pi t at i onDat aFi l e @URI
f i l e: pr eci p. dat
37 # @out b @as past Pr eci pi t at i onDat a
38 b = r ead_f i l e( " dat a2. dat " )
39 ## @end r ead_f i l e_2
40
41 i f sum( a) / l en( a) < 0:
42 ## @begi n model _1
43 # @i n a @as past Temper at ur eDat a
44 # @i n b @as past Pr eci pi t at i onDat a
45 # @out dat a @as si mul at edWeat her
46 dat a = model 1( a, b)
47 ## @end model _1
48 el se:
49 ## @begi n model _2
50 # @i n a @as past Temper at ur eDat a
51 # @i n b @as past Pr eci pi t at i onDat a
52 # @out dat a @as si mul at edWeat her
53 dat a = model 2( a, b)
54 ## @end model _2
55
56 ## @begi n ext r act _t emper at ur e
model_1 Model_2
simulatedWeather
TaPP'15 10
 We found gaps in the noWorkflow dependency graph (when
exported to prolog)
 Function returns do not always link back to correct
variable.
 An object that is modified (e.g via a list.append call) is not
always captured in the dependency graph
 We also observed that noWorkflow does not capture
information about the name of the script in the retrospective
provenance
 This is required for uniquely identifying variables.
TaPP'15 11
 An object may be nested, i.e., it may have
other objects as is children.
 Any change to the child object is attributed to
the parent object.
 noWorkflow attributes any changes to any
child object to the ultimate parent.
TaPP'15 12
TaPP'15 13
TaPP'15 14
iDepAbs iDepAbs
TaPP'15 15
Q1: find the temperature file used.
fileName(N) :-
map(V,A),
A=“temperatureDataFile”,
iData(V,N).
Q2: show how the temperature file was used by.
fileUsedBy(X,Y) :-
iDepAbs(X,Y),
map(X,A),
A=“temperatureDataFile”.
fileUsedBy(X,Y) :-
fileUsedBy(X,Z).
iDepAbs(Z,Y).
TaPP'15 16
 We have implemented an approach for linking the retrospective
provenance of script to a more abstracted and user defined
prospective provenance.
 This solution is complementary to theYesWorkflow solution for
capturing retrospective provenance of data files [1]
 The issues that we came across usingYesWorkflow and
noWorkflow were communicated to the development teams of
these tools to address them
 Linking prospective and retrospective provenance for multiple
scripts as opposed to a single script
 Designers may organize the implementation their data analyses
into multiple scripts.
[1]T. M. McPhillips et al. Retrospective provenance without a run-time provenance recorder. InTapp, 2015
TaPP'15 17
Saumen Dey, Khalid Belhajjame, David Koop, Meghan Raul, Bertram Ludäscher

Contenu connexe

Tendances

Hoisting Nested Functions
Hoisting Nested Functions Hoisting Nested Functions
Hoisting Nested Functions Feras Tanan
 
Java8 training - Class 1
Java8 training  - Class 1Java8 training  - Class 1
Java8 training - Class 1Marut Singh
 
Java8: Language Enhancements
Java8: Language EnhancementsJava8: Language Enhancements
Java8: Language EnhancementsYuriy Bondaruk
 
Java 8 lambda expressions
Java 8 lambda expressionsJava 8 lambda expressions
Java 8 lambda expressionsLogan Chien
 
Java8 training - class 3
Java8 training - class 3Java8 training - class 3
Java8 training - class 3Marut Singh
 
SherLog: Error Diagnosis Through Connecting Clues from Run-time Logs
SherLog:  Error Diagnosis Through Connecting Clues from Run-time Logs SherLog:  Error Diagnosis Through Connecting Clues from Run-time Logs
SherLog: Error Diagnosis Through Connecting Clues from Run-time Logs Lisong Guo
 
Linq & lambda overview C#.net
Linq & lambda overview C#.netLinq & lambda overview C#.net
Linq & lambda overview C#.netDhairya Joshi
 
Programming in java - Concepts- Operators- Control statements-Expressions
Programming in java - Concepts- Operators- Control statements-ExpressionsProgramming in java - Concepts- Operators- Control statements-Expressions
Programming in java - Concepts- Operators- Control statements-ExpressionsLovelitJose
 
A Brief Conceptual Introduction to Functional Java 8 and its API
A Brief Conceptual Introduction to Functional Java 8 and its APIA Brief Conceptual Introduction to Functional Java 8 and its API
A Brief Conceptual Introduction to Functional Java 8 and its APIJörn Guy Süß JGS
 
Csc1100 lecture04 ch04
Csc1100 lecture04 ch04Csc1100 lecture04 ch04
Csc1100 lecture04 ch04IIUM
 
Lambda Expressions in Java
Lambda Expressions in JavaLambda Expressions in Java
Lambda Expressions in JavaErhan Bagdemir
 
02 Java Language And OOP PART II
02 Java Language And OOP PART II02 Java Language And OOP PART II
02 Java Language And OOP PART IIHari Christian
 
Programming with Lambda Expressions in Java
Programming with Lambda Expressions in Java Programming with Lambda Expressions in Java
Programming with Lambda Expressions in Java langer4711
 
Vhd lhigh2003
Vhd lhigh2003Vhd lhigh2003
Vhd lhigh2003gkumawat
 

Tendances (20)

Java 8 Intro - Core Features
Java 8 Intro - Core FeaturesJava 8 Intro - Core Features
Java 8 Intro - Core Features
 
Hoisting Nested Functions
Hoisting Nested Functions Hoisting Nested Functions
Hoisting Nested Functions
 
Java8 training - Class 1
Java8 training  - Class 1Java8 training  - Class 1
Java8 training - Class 1
 
Java8: Language Enhancements
Java8: Language EnhancementsJava8: Language Enhancements
Java8: Language Enhancements
 
Java 8 lambda expressions
Java 8 lambda expressionsJava 8 lambda expressions
Java 8 lambda expressions
 
Stacks
StacksStacks
Stacks
 
Java8 training - class 3
Java8 training - class 3Java8 training - class 3
Java8 training - class 3
 
SherLog: Error Diagnosis Through Connecting Clues from Run-time Logs
SherLog:  Error Diagnosis Through Connecting Clues from Run-time Logs SherLog:  Error Diagnosis Through Connecting Clues from Run-time Logs
SherLog: Error Diagnosis Through Connecting Clues from Run-time Logs
 
Linq & lambda overview C#.net
Linq & lambda overview C#.netLinq & lambda overview C#.net
Linq & lambda overview C#.net
 
Programming in java - Concepts- Operators- Control statements-Expressions
Programming in java - Concepts- Operators- Control statements-ExpressionsProgramming in java - Concepts- Operators- Control statements-Expressions
Programming in java - Concepts- Operators- Control statements-Expressions
 
Unit3 cspc
Unit3 cspcUnit3 cspc
Unit3 cspc
 
A Brief Conceptual Introduction to Functional Java 8 and its API
A Brief Conceptual Introduction to Functional Java 8 and its APIA Brief Conceptual Introduction to Functional Java 8 and its API
A Brief Conceptual Introduction to Functional Java 8 and its API
 
Welcome to rx java2
Welcome to rx java2Welcome to rx java2
Welcome to rx java2
 
Csc1100 lecture04 ch04
Csc1100 lecture04 ch04Csc1100 lecture04 ch04
Csc1100 lecture04 ch04
 
Functional programming
Functional programmingFunctional programming
Functional programming
 
Storage class
Storage classStorage class
Storage class
 
Lambda Expressions in Java
Lambda Expressions in JavaLambda Expressions in Java
Lambda Expressions in Java
 
02 Java Language And OOP PART II
02 Java Language And OOP PART II02 Java Language And OOP PART II
02 Java Language And OOP PART II
 
Programming with Lambda Expressions in Java
Programming with Lambda Expressions in Java Programming with Lambda Expressions in Java
Programming with Lambda Expressions in Java
 
Vhd lhigh2003
Vhd lhigh2003Vhd lhigh2003
Vhd lhigh2003
 

En vedette

Intégration incrémentale de données (Valenciennes juin 2010)
Intégration incrémentale de données (Valenciennes juin 2010)Intégration incrémentale de données (Valenciennes juin 2010)
Intégration incrémentale de données (Valenciennes juin 2010)Khalid Belhajjame
 
A Sightseeing Tour of Prov and Some of its Extensions
A Sightseeing Tour of Prov and Some of its ExtensionsA Sightseeing Tour of Prov and Some of its Extensions
A Sightseeing Tour of Prov and Some of its ExtensionsKhalid Belhajjame
 
Research Object Model in Sepublica
Research Object Model in SepublicaResearch Object Model in Sepublica
Research Object Model in SepublicaKhalid Belhajjame
 
Detecting Duplicate Records in Scientific Workflow Results
Detecting Duplicate Records in Scientific Workflow ResultsDetecting Duplicate Records in Scientific Workflow Results
Detecting Duplicate Records in Scientific Workflow ResultsKhalid Belhajjame
 

En vedette (7)

Edbt 2010, Belhajjame
Edbt 2010, BelhajjameEdbt 2010, Belhajjame
Edbt 2010, Belhajjame
 
Intégration incrémentale de données (Valenciennes juin 2010)
Intégration incrémentale de données (Valenciennes juin 2010)Intégration incrémentale de données (Valenciennes juin 2010)
Intégration incrémentale de données (Valenciennes juin 2010)
 
Credible workshop
Credible workshopCredible workshop
Credible workshop
 
A Sightseeing Tour of Prov and Some of its Extensions
A Sightseeing Tour of Prov and Some of its ExtensionsA Sightseeing Tour of Prov and Some of its Extensions
A Sightseeing Tour of Prov and Some of its Extensions
 
Edbt2014 talk
Edbt2014 talkEdbt2014 talk
Edbt2014 talk
 
Research Object Model in Sepublica
Research Object Model in SepublicaResearch Object Model in Sepublica
Research Object Model in Sepublica
 
Detecting Duplicate Records in Scientific Workflow Results
Detecting Duplicate Records in Scientific Workflow ResultsDetecting Duplicate Records in Scientific Workflow Results
Detecting Duplicate Records in Scientific Workflow Results
 

Similaire à Linking the prospective and retrospective provenance of scripts

PLSQLmy Updated (1).pptx
PLSQLmy Updated (1).pptxPLSQLmy Updated (1).pptx
PLSQLmy Updated (1).pptxvamsiyadav39
 
r,rstats,r language,r packages
r,rstats,r language,r packagesr,rstats,r language,r packages
r,rstats,r language,r packagesAjay Ohri
 
An ai planning approach for generating
An ai planning approach for generatingAn ai planning approach for generating
An ai planning approach for generatingijaia
 
AN AI PLANNING APPROACH FOR GENERATING BIG DATA WORKFLOWS
AN AI PLANNING APPROACH FOR GENERATING BIG DATA WORKFLOWSAN AI PLANNING APPROACH FOR GENERATING BIG DATA WORKFLOWS
AN AI PLANNING APPROACH FOR GENERATING BIG DATA WORKFLOWSgerogepatton
 
Easing the Complex with SPBench framework
Easing the Complex with SPBench frameworkEasing the Complex with SPBench framework
Easing the Complex with SPBench frameworkadriano1mg
 
Stata time-series-fall-2011
Stata time-series-fall-2011Stata time-series-fall-2011
Stata time-series-fall-2011Feryanto W K
 
Microservices With Spring Boot and Spring Cloud Netflix
Microservices With Spring Boot and Spring Cloud NetflixMicroservices With Spring Boot and Spring Cloud Netflix
Microservices With Spring Boot and Spring Cloud NetflixKrzysztof Sobkowiak
 
Compiling openCypher graph queries with Spark Catalyst
Compiling openCypher graph queries with Spark CatalystCompiling openCypher graph queries with Spark Catalyst
Compiling openCypher graph queries with Spark CatalystGábor Szárnyas
 
Graph Based Methods For The Representation And Analysis Of.
Graph Based Methods For The Representation And Analysis Of.Graph Based Methods For The Representation And Analysis Of.
Graph Based Methods For The Representation And Analysis Of.legal2
 
Graph Based Methods For The Representation And Analysis Of.
Graph Based Methods For The Representation And Analysis Of.Graph Based Methods For The Representation And Analysis Of.
Graph Based Methods For The Representation And Analysis Of.legal3
 
Types of c operators ppt
Types of c operators pptTypes of c operators ppt
Types of c operators pptViraj Shah
 
Whitepaper: Mining the AWR repository for Capacity Planning and Visualization
Whitepaper: Mining the AWR repository for Capacity Planning and VisualizationWhitepaper: Mining the AWR repository for Capacity Planning and Visualization
Whitepaper: Mining the AWR repository for Capacity Planning and VisualizationKristofferson A
 
Abstract Data Types (a) Explain briefly what is meant by the ter.pdf
Abstract Data Types (a) Explain briefly what is meant by the ter.pdfAbstract Data Types (a) Explain briefly what is meant by the ter.pdf
Abstract Data Types (a) Explain briefly what is meant by the ter.pdfkarymadelaneyrenne19
 

Similaire à Linking the prospective and retrospective provenance of scripts (20)

Bt0065
Bt0065Bt0065
Bt0065
 
B T0065
B T0065B T0065
B T0065
 
spparksUpdates
spparksUpdatesspparksUpdates
spparksUpdates
 
C1320prespost
C1320prespostC1320prespost
C1320prespost
 
PLSQLmy Updated (1).pptx
PLSQLmy Updated (1).pptxPLSQLmy Updated (1).pptx
PLSQLmy Updated (1).pptx
 
r,rstats,r language,r packages
r,rstats,r language,r packagesr,rstats,r language,r packages
r,rstats,r language,r packages
 
An ai planning approach for generating
An ai planning approach for generatingAn ai planning approach for generating
An ai planning approach for generating
 
AN AI PLANNING APPROACH FOR GENERATING BIG DATA WORKFLOWS
AN AI PLANNING APPROACH FOR GENERATING BIG DATA WORKFLOWSAN AI PLANNING APPROACH FOR GENERATING BIG DATA WORKFLOWS
AN AI PLANNING APPROACH FOR GENERATING BIG DATA WORKFLOWS
 
Perl
PerlPerl
Perl
 
Easing the Complex with SPBench framework
Easing the Complex with SPBench frameworkEasing the Complex with SPBench framework
Easing the Complex with SPBench framework
 
Ankita sharma focp
Ankita sharma focpAnkita sharma focp
Ankita sharma focp
 
Stata time-series-fall-2011
Stata time-series-fall-2011Stata time-series-fall-2011
Stata time-series-fall-2011
 
Loops_in_Rv1.2b
Loops_in_Rv1.2bLoops_in_Rv1.2b
Loops_in_Rv1.2b
 
Microservices With Spring Boot and Spring Cloud Netflix
Microservices With Spring Boot and Spring Cloud NetflixMicroservices With Spring Boot and Spring Cloud Netflix
Microservices With Spring Boot and Spring Cloud Netflix
 
Compiling openCypher graph queries with Spark Catalyst
Compiling openCypher graph queries with Spark CatalystCompiling openCypher graph queries with Spark Catalyst
Compiling openCypher graph queries with Spark Catalyst
 
Graph Based Methods For The Representation And Analysis Of.
Graph Based Methods For The Representation And Analysis Of.Graph Based Methods For The Representation And Analysis Of.
Graph Based Methods For The Representation And Analysis Of.
 
Graph Based Methods For The Representation And Analysis Of.
Graph Based Methods For The Representation And Analysis Of.Graph Based Methods For The Representation And Analysis Of.
Graph Based Methods For The Representation And Analysis Of.
 
Types of c operators ppt
Types of c operators pptTypes of c operators ppt
Types of c operators ppt
 
Whitepaper: Mining the AWR repository for Capacity Planning and Visualization
Whitepaper: Mining the AWR repository for Capacity Planning and VisualizationWhitepaper: Mining the AWR repository for Capacity Planning and Visualization
Whitepaper: Mining the AWR repository for Capacity Planning and Visualization
 
Abstract Data Types (a) Explain briefly what is meant by the ter.pdf
Abstract Data Types (a) Explain briefly what is meant by the ter.pdfAbstract Data Types (a) Explain briefly what is meant by the ter.pdf
Abstract Data Types (a) Explain briefly what is meant by the ter.pdf
 

Plus de Khalid Belhajjame

Lineage-Preserving Anonymization of the Provenance of Collection-Based Workflows
Lineage-Preserving Anonymization of the Provenance of Collection-Based WorkflowsLineage-Preserving Anonymization of the Provenance of Collection-Based Workflows
Lineage-Preserving Anonymization of the Provenance of Collection-Based WorkflowsKhalid Belhajjame
 
Privacy-Preserving Data Analysis Workflows for eScience
Privacy-Preserving Data Analysis Workflows for eSciencePrivacy-Preserving Data Analysis Workflows for eScience
Privacy-Preserving Data Analysis Workflows for eScienceKhalid Belhajjame
 
Converting scripts into reproducible workflow research objects
Converting scripts into reproducible workflow research objectsConverting scripts into reproducible workflow research objects
Converting scripts into reproducible workflow research objectsKhalid Belhajjame
 
Introduction to ProvBench @ Provenance Week 2014
Introduction to ProvBench @ Provenance Week 2014Introduction to ProvBench @ Provenance Week 2014
Introduction to ProvBench @ Provenance Week 2014Khalid Belhajjame
 
Small Is Beautiful: Summarizing Scientific Workflows Using Semantic Annotat...
Small Is Beautiful:  Summarizing Scientific Workflows  Using Semantic Annotat...Small Is Beautiful:  Summarizing Scientific Workflows  Using Semantic Annotat...
Small Is Beautiful: Summarizing Scientific Workflows Using Semantic Annotat...Khalid Belhajjame
 
Case studyworkshoponprovenance
Case studyworkshoponprovenanceCase studyworkshoponprovenance
Case studyworkshoponprovenanceKhalid Belhajjame
 

Plus de Khalid Belhajjame (12)

Provenance witha purpose
Provenance witha purposeProvenance witha purpose
Provenance witha purpose
 
Lineage-Preserving Anonymization of the Provenance of Collection-Based Workflows
Lineage-Preserving Anonymization of the Provenance of Collection-Based WorkflowsLineage-Preserving Anonymization of the Provenance of Collection-Based Workflows
Lineage-Preserving Anonymization of the Provenance of Collection-Based Workflows
 
Privacy-Preserving Data Analysis Workflows for eScience
Privacy-Preserving Data Analysis Workflows for eSciencePrivacy-Preserving Data Analysis Workflows for eScience
Privacy-Preserving Data Analysis Workflows for eScience
 
Irpb workshop
Irpb workshopIrpb workshop
Irpb workshop
 
Aussois bda-mdd-2018
Aussois bda-mdd-2018Aussois bda-mdd-2018
Aussois bda-mdd-2018
 
Converting scripts into reproducible workflow research objects
Converting scripts into reproducible workflow research objectsConverting scripts into reproducible workflow research objects
Converting scripts into reproducible workflow research objects
 
Reproducibility 1
Reproducibility 1Reproducibility 1
Reproducibility 1
 
Introduction to ProvBench @ Provenance Week 2014
Introduction to ProvBench @ Provenance Week 2014Introduction to ProvBench @ Provenance Week 2014
Introduction to ProvBench @ Provenance Week 2014
 
Small Is Beautiful: Summarizing Scientific Workflows Using Semantic Annotat...
Small Is Beautiful:  Summarizing Scientific Workflows  Using Semantic Annotat...Small Is Beautiful:  Summarizing Scientific Workflows  Using Semantic Annotat...
Small Is Beautiful: Summarizing Scientific Workflows Using Semantic Annotat...
 
Why Workflows Break
Why Workflows BreakWhy Workflows Break
Why Workflows Break
 
D-prov use-case
D-prov use-caseD-prov use-case
D-prov use-case
 
Case studyworkshoponprovenance
Case studyworkshoponprovenanceCase studyworkshoponprovenance
Case studyworkshoponprovenance
 

Dernier

Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxolyaivanovalion
 
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779Delhi Call girls
 
CALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service OnlineCALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service Onlineanilsa9823
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFxolyaivanovalion
 
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...amitlee9823
 
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
Log Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxLog Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxJohnnyPlasten
 
{Pooja: 9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
{Pooja:  9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...{Pooja:  9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
{Pooja: 9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...Pooja Nehwal
 
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Callshivangimorya083
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz1
 
ALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptxALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptxolyaivanovalion
 
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Delhi Call girls
 
CebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxCebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxolyaivanovalion
 
Determinants of health, dimensions of health, positive health and spectrum of...
Determinants of health, dimensions of health, positive health and spectrum of...Determinants of health, dimensions of health, positive health and spectrum of...
Determinants of health, dimensions of health, positive health and spectrum of...shambhavirathore45
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionfulawalesam
 
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Callshivangimorya083
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxolyaivanovalion
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxolyaivanovalion
 

Dernier (20)

Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptx
 
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
 
CALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service OnlineCALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Chinhat Lucknow best sexual service Online
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFx
 
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
 
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
 
Log Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxLog Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptx
 
{Pooja: 9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
{Pooja:  9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...{Pooja:  9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
{Pooja: 9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
 
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signals
 
ALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptxALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptx
 
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
 
CebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxCebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptx
 
Determinants of health, dimensions of health, positive health and spectrum of...
Determinants of health, dimensions of health, positive health and spectrum of...Determinants of health, dimensions of health, positive health and spectrum of...
Determinants of health, dimensions of health, positive health and spectrum of...
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interaction
 
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in  KishangarhDelhi 99530 vip 56974 Genuine Escort Service Call Girls in  Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
 
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptx
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFx
 
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 

Linking the prospective and retrospective provenance of scripts

  • 1. Saumen Dey, Khalid Belhajjame, David Koop, Meghan Raul, Bertram Ludäscher
  • 2.  Scientists process and analyze their datasets using scripts.  Retrospective provenance information can be useful for scientists to analyze of script execution  E.g., noWorkflow [Murta et al., IPAW’14]  While useful, the amount of information such fine- grained traces contain can be overwhelming for end users. There is a need for abstraction techniques that focus the attention of users on the provenance information relevant for their analyses. TaPP'15 2
  • 3. Workflow-Oriented Proposals  Zoom*UserViews [Biton et al., ICDE’08]:Workflow views are used for abstracting the retrospective provenance of (potentially complex) workflows  LabelFlow [Alper et al., IPAW’14]: Both (prospective and retrospective) workflow provenance are summarized using user annotations and reduction rules. Script-Oriented Proposals  YesWorkflow [McPhillips et al.,TaPP’15]:We have seen in the presentation by B. Ludäscher, how a URI scheme can be used to reconstruct part of the retrospective provenance, without recording it at run time.  This scheme is useful when the data products used and generated, including intermediate ones, are stored within the file system. We adopt a similar approach as Zoom*UserViews and apply it to scripts: We use the workflow specifications (i.e., prospective provenance) extracted by YesWorkflow to abstract the retrospective provenance captured by noWorkflow TaPP'15 3
  • 5. Script Annotate Extract Workflow Specification Workflow Description YesWorkflow read_temperatureDataFile pastTemperatureData read_precipitationDataFile pastPrecipitationData simulate simulatedWeatherData extract_temperature temperatureData extract_precipitation precipitationData create_plot plot temperatureDataFile precipitationDataFile TaPP'15 5
  • 6. Script Run Retrospective Provenance noWorkflow Annotate Extract Workflow Specification Workflow Description YesWorkflow • variable(6, 93, row, 14, ”[0.0]” , 1430231173.397779). • dependency(6, 34, 94, 93). TaPP'15 6
  • 8.  Variable names are not reliable IDs.  Two different variables may have the same name within a script, e.g., within the scope of different functions  noWorkflow tracks line numbers in the script to identify the variable  YesWorkflow does not provide this information  However, it provides the line numbers of the start and end of a block, when requested.  Using the two pieces of information, we are able to connect data values in noWorkflows to their correspondingYesWorkflow variables. TaPP'15 8
  • 9.  The variables inYesWorkflows are associated with user annotations  Such annotations can be used to provide more information about the data values within noWorkflow retrospective provenance  We note here that it is possible inYesWorkflow to specify variables that are not mapped to any variables within the script TaPP'15 9
  • 10. - d d e d r y y e - 1 # @begi n model 2 # @i n a @as past Temper at ur eDat a 3 # @i n b @as past Pr eci pi t at i onDat a 4 # @out dat a @as si mul at edWeat her 5 i f ( sum( a) / l en( a) ) < 0: 6 dat a = model 1( a, b) 7 el se: 8 dat a = model 2( a, b) 9 # @end model Figure3. Annotating anif-then-elsecontrol block using YesWork- flow model pastTemperatureData pastPrecipitationData simulatedWeather e t d e ) n - - - - d s s n - a d - e t s s 24 ## @begi n mai n 25 # @i n dat a1. dat @as t emper at ur eDat aFi l e @URI f i l e: t emp. dat 26 # @i n dat a2. dat @as pr eci pi t at i onDat aFi l e @URI f i l e: pr eci p. dat 27 # @out out put . png @as pl ot 28 29 ## @begi n r ead_f i l e_1 30 # @i n dat a1. dat @as t emper at ur eDat aFi l e @URI f i l e: t emp. dat 31 # @out a @as past Temper at ur eDat a 32 a = r ead_f i l e( " dat a1. dat " ) 33 ## @end r ead_f i l e_1 34 35 ## @begi n r ead_f i l e_2 36 # @i n dat a2. dat @as pr eci pi t at i onDat aFi l e @URI f i l e: pr eci p. dat 37 # @out b @as past Pr eci pi t at i onDat a 38 b = r ead_f i l e( " dat a2. dat " ) 39 ## @end r ead_f i l e_2 40 41 i f sum( a) / l en( a) < 0: 42 ## @begi n model _1 43 # @i n a @as past Temper at ur eDat a 44 # @i n b @as past Pr eci pi t at i onDat a 45 # @out dat a @as si mul at edWeat her 46 dat a = model 1( a, b) 47 ## @end model _1 48 el se: 49 ## @begi n model _2 50 # @i n a @as past Temper at ur eDat a 51 # @i n b @as past Pr eci pi t at i onDat a 52 # @out dat a @as si mul at edWeat her 53 dat a = model 2( a, b) 54 ## @end model _2 55 56 ## @begi n ext r act _t emper at ur e model_1 Model_2 simulatedWeather TaPP'15 10
  • 11.  We found gaps in the noWorkflow dependency graph (when exported to prolog)  Function returns do not always link back to correct variable.  An object that is modified (e.g via a list.append call) is not always captured in the dependency graph  We also observed that noWorkflow does not capture information about the name of the script in the retrospective provenance  This is required for uniquely identifying variables. TaPP'15 11
  • 12.  An object may be nested, i.e., it may have other objects as is children.  Any change to the child object is attributed to the parent object.  noWorkflow attributes any changes to any child object to the ultimate parent. TaPP'15 12
  • 16. Q1: find the temperature file used. fileName(N) :- map(V,A), A=“temperatureDataFile”, iData(V,N). Q2: show how the temperature file was used by. fileUsedBy(X,Y) :- iDepAbs(X,Y), map(X,A), A=“temperatureDataFile”. fileUsedBy(X,Y) :- fileUsedBy(X,Z). iDepAbs(Z,Y). TaPP'15 16
  • 17.  We have implemented an approach for linking the retrospective provenance of script to a more abstracted and user defined prospective provenance.  This solution is complementary to theYesWorkflow solution for capturing retrospective provenance of data files [1]  The issues that we came across usingYesWorkflow and noWorkflow were communicated to the development teams of these tools to address them  Linking prospective and retrospective provenance for multiple scripts as opposed to a single script  Designers may organize the implementation their data analyses into multiple scripts. [1]T. M. McPhillips et al. Retrospective provenance without a run-time provenance recorder. InTapp, 2015 TaPP'15 17
  • 18. Saumen Dey, Khalid Belhajjame, David Koop, Meghan Raul, Bertram Ludäscher

Notes de l'éditeur

  1. Despite the popularity of scientific workflows as a means to specify and enact in silico experiments, the majority of scientists still process and analyze their datasets using scripts. To assist scientists in the analysis of script executions, retrospective provenance information specifying, amongst other things, the lineage of script results and the transformations they underwent, can be useful in, e.g., assessing the validity of the hypothesis the scientist is investigating. While useful, the amount of information such fine-grained traces contain can be overwhelming for end users. This demonstrates the need for abstraction techniques that focus the attention of the user on the provenance information that is relevant for her analysis. We stress here that recording fine-grained, statement based provenance can be crucial for understanding the lineage of scripts results. However, we argue that in order for such provenance information to be readily accessible and useful for end users, it needs to be abstracted and filtered to match the questions users want answered. Indeed, end users are often interested in the lineage of a small subset of the data artifacts manipulated and generated by the script. Moreover, by and large, they are not keen on examining the transformations such data artifacts underwent at the statement level.
  2. Linking identifiers. YesWorkflow generates provenance using identifiers from the user-defined annotations, but noWorkflow captures provenance using the script’s variable names. While YesWorkflow does have methods to specify the link between the variable name and the user-defined identifier, it does not check that the annotation references an actual variable.
  3. How about the control flow at the level of the inputs. Should it be supported? --khalid
  4. Data dependencies. There can be gaps in the noWorkflow dependency graph (when exported to prolog). Specifically, function returns do not always link back to correct variable. Furthermore, an object that is modified (e.g via a list.append call) is not always captured in the dependency graph. No script name. Same variable names may be used in different scripts. The script names along with the line numbers would be required to unambiguously identify a variable. Currently, noWork- flow does not capture the script name.
  5. The change is not captured at the lowest level (finest objects).
  6. Add the reaf_file function script to the slide.
  7. map(X; Y): X is the variable name and Y is the user defined annotation. iDep(X,Y): Y depends on X in the retrospective provenance. nodeInt: node of interest (5) And (6) Transitive reduction
  8. wData(X,V): X is the identifier or the variable name and V is the value of the annotation Note that: I am mixing variable and identifier here. Not a good thing, but, I had to save space. I can take care of that in the Journal version.
  9. The approach proposed in [1] does not incur any cost and is specific to data files. If the user want to explore the lineage of data artifacts at a granularity that is finer than data files or data artefacts that are not stored within the file system, then the approach presented in this paper can be used.