[Swift-devel] provenance 'processes'

Ben Clifford benc at hawaga.org.uk
Thu Mar 12 06:09:29 CDT 2009


The provenance work that I've done so far links datasets (DSHandles) by 
saying they are inputs or outputs to app procedure invocations; it does 
not represent the processing of data by @functions or operators.

Separately there is a containment graph to link DSHandles that represent 
arrays or structs with their members; in that graph there's no causal 
information - if you construct and array, and then extract a member, the 
representation in this graph is the same as if you construct the members, 
then use [] syntax to make an array of those members.

OPM has a different representation of containment, explicitly representing 
'processes' that construct collections or extract collections.

Having mulled that over, and tried to do some other things, I think that 
the provenance representation in Swift should record @functions and 
operators (and probably composite procedures) in the same way that it 
records app procedure executions. Mapper parameters should be also 
recorded in some more sensible way.

This is likely to generate much more provenance logging information, but I 
think will give decent information about every single DSHandle.

I have a niggling fear that this will generate enough information to cause 
undesirable slowdown; but I think making provenance recording 
turn-off-and-onable can reduce that problem for people who don't care 
about provenance.

-- 



More information about the Swift-devel mailing list