Bug #4020
closed
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.
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>
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">
...
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>
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
We've got this working as we need it for SANParks
Original Bugzilla ID was 4020
Also available in: Atom
PDF