Project

General

Profile

Bug #4020

WRP - create WorkflowRun object to encapsulate provenance/report instances

Added by ben leinfelder over 10 years ago. Updated over 10 years ago.

Status:
Resolved
Priority:
Normal
Category:
reporting
Target version:
Start date:
04/23/2009
Due date:
% Done:

0%

Estimated time:
Bugzilla-Id:
4020

Description

We've got a "Workflow" object that allows us to keep track of Workflow models (MOML) and Report Layouts (ROML). We need an analogous class that can keep track of [the idea of] a WorkflowRun (or execution) - storing relevant provenance information (execution id?) and also Report Instances (RIO) so that they can eventually be serialized in an archive of some sort.
see the diagram here:
http://code.kepler-project.org/code/kepler-docs/trunk/teams-and-wg/4-interest-groups/provenance/reporting/wrp-architecture.png


Related issues

Blocked by Kepler - Bug #4148: Workflow Run Manager - Upload to Repository featureResolved06/12/2009

History

#1 Updated by ben leinfelder over 10 years ago

We're now using a WorkflowRun object (subclass of NamedObj) to store the run provenance metadata. This moml snippet is included when exports of runs are generated. We'll include it in the KAR, but are also looking to use it as the metadata document that will be used in Metacat for archiving run history.

#2 Updated by Derik Barseghian over 10 years ago

I'm currently getting errors parsing the WorkflowRun moml back from disk using momlparser, and am looking into it.

An example of a WorkflowRun moml is below:

cat WorkflowRun.0.xml


<!DOCTYPE entity PUBLIC "-//UC Berkeley//DTD MoML 1//EN"
"http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd">
<entity name="WorkflowRun" class="org.kepler.util.WorkflowRun">
<property name="duration" class="ptolemy.kernel.util.StringAttribute" value="2">
</property>
<property name="startTime" class="ptolemy.kernel.util.StringAttribute" value="2009-06-11 19:36:30.0">
</property>
<property name="user" class="ptolemy.kernel.util.StringAttribute" value="barseghian">
</property>
<property name="workflowLSID" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:gamma.msi.ucsb.edu/OpenAuth/:293:58:1">
</property>
<property name="workflowName" class="ptolemy.kernel.util.StringAttribute" value="00-StatisticalSummary">
</property>
<property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList">
</property>
<property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:gamma.msi.ucsb.edu/OpenAuth/:293:60:1">
</property>
<property name="ReportLayout0" class="ptolemy.kernel.util.StringAttribute" value="ROML.0.xml">
</property>
<property name="karLSID" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:gamma.msi.ucsb.edu/OpenAuth/:293:62:1">
</property>
<property name="ReportInstance0" class="ptolemy.kernel.util.StringAttribute" value="RIO.0.pdf">
</property>
<property name="ReportInstance1" class="ptolemy.kernel.util.StringAttribute" value="RIO.0.xml">
</property>
</entity>

#3 Updated by Derik Barseghian over 10 years ago

Thanks for the help Dan. I'm changing the _elementName of WorkflowRun to be property instead of entity (this probably didn't make sense since an Entity is "a vertex in a generalized graph...an aggregation of ports" ). momlparser is happier now. So the top of a new serialized run looks like:


<!DOCTYPE property PUBLIC "-//UC Berkeley//DTD MoML 1//EN"
"http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd">
<property name="WorkflowRun" class="org.kepler.util.WorkflowRun">
...

#4 Updated by Derik Barseghian over 10 years ago

So to have an example all in one place, this is what an example workflow-run moml metadata doc. If everyone (e.g. mike daigle?) feels this is sufficient for 2a1, we can retarget this bug for 2.0:


<!DOCTYPE property PUBLIC "-//UC Berkeley//DTD MoML 1//EN"
"http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd">
<property name="WorkflowRun" class="org.kepler.util.WorkflowRun">
<property name="duration" class="ptolemy.kernel.util.StringAttribute" value="0">
</property>
<property name="startTime" class="ptolemy.kernel.util.StringAttribute" value="2009-06-18 11:28:51.0">
</property>
<property name="user" class="ptolemy.kernel.util.StringAttribute" value="derik">
</property>
<property name="workflowLSID" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:gamma.msi.ucsb.edu/OpenAuth/:260:2015:1">
</property>
<property name="workflowName" class="ptolemy.kernel.util.StringAttribute" value="testWorkflow2">
</property>
<property name="execId" class="ptolemy.kernel.util.StringAttribute" value="5">
</property>
<property name="derivedFrom" class="org.kepler.moml.NamedObjIdReferralList">
</property>
<property name="entityId" class="org.kepler.moml.NamedObjId" value="urn:lsid:gamma.msi.ucsb.edu/OpenAuth/:260:2035:1">
</property>
<property name="ReportLayout0" class="ptolemy.kernel.util.StringAttribute" value="ROML.5.xml">
</property>
<property name="karLSID" class="ptolemy.kernel.util.StringAttribute" value="urn:lsid:gamma.msi.ucsb.edu/OpenAuth/:260:2037:1">
</property>
<property name="ReportInstance0" class="ptolemy.kernel.util.StringAttribute" value="RIO.5.pdf">
</property>
<property name="ReportInstance1" class="ptolemy.kernel.util.StringAttribute" value="RIO.5.xml">
</property>
</property>

#5 Updated by ben leinfelder over 10 years ago

using this:

<property name="ReportInstance0"
class="ptolemy.kernel.util.StringAttribute" value="RIO.5.pdf">

might be sub-optimal on the metacat side - but I believe we can manage

#6 Updated by ben leinfelder over 10 years ago

We've got this working as we need it for SANParks

#7 Updated by Redmine Admin over 6 years ago

Original Bugzilla ID was 4020

Also available in: Atom PDF