Powered by OPF
OPF WIKI STATIC ARCHIVE
2,681 pages · 153 spaces · 776 tags · 4,025 history records · 96.2% of the original wiki recovered
Archived copy. This page was recovered from the Internet Archive snapshot of /display/SP/PT.WP.4 Task 2 CP046 Requirements documents for provenance component taken on 2012-11-27. The original wiki at wiki.opf-labs.org is being decommissioned.

PT.WP.4 Task 2 CP046 Requirements documents for provenance component

Added by David Withers · last edited by David Withers · on Aug 14, 2012 (view change)

Introduction

This document enumerates the SCAPE requirements on provenance information to be provided by Taverna. It has been based on the provenance requirements of the Wf4Ever project.

Taverna is a workflow execution environment, so the provenance provided will concern the generation of artifacts through the execution of workflows. This page does not address wider aspects of requirements on provenance that may come from SCAPE Taverna usage. Thus, requirements relating to provenance determined by means other than workflow execution, are not covered here.

Provenance is concerned with a specific workflow execution (not a definition or template), which is assumed to consist of a number of individual process executions (any of which could itself be a workflow execution). Each process execution uses a number of input parameters or artifacts, and generates one or more artifacts. Similarly, a workflow execution consumes and generates artifacts.

Minimum requirements

SCAPE MUST be able to access the following information, where appropriate identified uniquely at least within the scope of a related workflow execution. Globally accessible resources should be identified with a globally unique identifier.

i.e. sufficient information to construct a provenance trace from workflow inputs via process executions for all artifacts created by a workflow, including intermediate artifacts. Each output artifact should be traceable to the initial workflow inputs and/or initial non-input process executions.

The actual data values passed through the workflow is not included in the minimum requirements, but all artifacts should have identifiers - e.g. a second import of the same execution provenance should use the same artifact identifiers. A second execution with the same byte-wise values SHOULD NOT have the same identifiers for generated workflow and process artifacts, but SHOULD have the same identifiers for top-level *used* artifacts if they are coming from the same source (e.g. file).(We will anyway be double-guarded against such cross-run collisions by keeping each workflow run provenance in a separate annotation body)

The reference to "role" here is intended to be sufficient to determine for any process execution what artifact was used for each possible input. (For Taverna, these are port names)

Highly desirable requirements

SCAPE SHOULD be able to access the following information for any workflow execution

Note for artifact checksums: not all (intermediate process) artifacts might be representable as a blob, ie. a reference to a JVM object. Some artifacts might not have a uniform binary representation (ie. a table in Galaxy). The actual value might be inaccessible because it is large, secured or in a different system like GridFTP - but should in these cases generally still have an URI reference.

Note that Taverna performs implicit iteration - so that if service A generates a list, and service B consumes single items - an iteration over B will occur for each value - generating a new list of B's outputs. Provenance-wise it might initially look like B is consuming artifacts "out of nowhere" unless you either claim that A also generated each list value (but then you should also store the list position somewhere), or provide a mechanism to describe such compound artifacts - ref PROV-DM Collections.

Additional requirements

Access to the following information could extend the capabilities of certain Research Object evaluation tasks, but is not required:

Non-requirements

(Add here any plausible requirements considered that turn out to be not necessary - this should help to clarify the intended scope of these requirements.)

Other information that Taverna might provide

Examples:

Information Taverna already captures

Information Taverna already exports

Taverna can export to:

See http://www.mygrid.org.uk/dev/wiki/display/taverna/Provenance+export+to+OPM+and+Janus

Both of the current export options have known issues.

OPM:

In particular OPM export is missing start/stop times, separation of each process execution, ports, iterations, and nested workflows. OPM is currently generated from a provenance query - but should probably better be generated from the new ProcessorEnactment table.

Janus:

In particular Janus is missing start/stop times, separation of process executions, list positions.

General preferences

These are not requirements, but if satisfied could make life easier for SCAPE