SlideShare a Scribd company logo
1 of 1
Download to read offline
http://www.taverna.org.uk/


               Project site:
                                                                                                            Scufl2 – because a workflow
               http://www.taverna.org.uk/

               Source code:
                                                                                                             is more than its definition
               https://github.com/mygrid/scufl2
                                                                                                 Stian Soiland-Reyes, Alan R Williams, Stuart Owen, David Withers and Carole Goble
               http://taverna.googlecode.com/
                                                                                                 School of Computer Science, University of Manchester, UK
               License: GNU Lesser General Public                                                {stian.soiland-reyes, alan.r.williams, stuart.owen, david.withers, carole.a.goble}@manchester.ac.uk
               License (LGPL) 2.1

                                                                                                          “Structured” zip-file                                 •                Taverna’s future workflow and data format
                                                        Self-documenting media
                                                                                                          (can be unpacked to be                                •                Goal: Simplify third-party reading, writing,
                                                                                                          exposed on the web)
                                                        type (OpenOffice ODF,
                                                        ePub OCF, Adobe UCF) –                                                                                                   annotating and extending
                                                                                                                                                                •
                                                        for tools like file(1) and
                                                        mime magic                                                                                                               Scufl2: specification, schema, ontology,
                                                                                                                                                                                 Java API and conversion tool
                                                   the-workflow-bundle.scufl2

                                             mimetype                                                                                                                                                                                                    Manifest listing all
                                                                                                                                                                                                                                                         resources in
                                               application/vnd.taverna.scufl2.workflow-bundle
                                                                                                                                                                       META-INF/manifest.xml                                                             bundle with media
                                              META-INF/container.xml                                                                                                                                                                                     types
                                                                                                                                                                       <manifest:manifest
                                                                                                                                                                                xmlns:manifest="urn:oasis:names:tc:opendocument:xmlns:manifest:1.0
                                                                                                                                                                                ">
                                         <container version="1.0“ xmlns="urn:oasis:names:tc:opendocument:xmlns:container">
                                                                                                                                                                        <manifest:file-entry manifest:media-
                                             <rootfiles>
                                                                                                                                                                                type="application/vnd.taverna.scufl2.workflow-bundle"
                                                 <rootfile full-path="workflowBundle.rdf" media-type="application/rdf+xml" />                                                   manifest:full-path="/"/>
                                                 <!-- <rootfile full-path="workflowBundle.ttl"                                                                         <!– Standard resources -->
                                                  media-type="text/turtle" /> Alternative repr. -->                                                                     <manifest:file-entry manifest:media-type="application/rdf+xml"
                                             </rootfiles>                                                                                                                       manifest:full-path="workflowBundle.rdf"/>
                                         </container>                                                                                                                   <manifest:file-entry manifest:media-type="application/rdf+xml"
                                                                                                                                                                                manifest:full-path="workflow/HelloWorld.rdf"/>
                                                                                                                                                                        <manifest:file-entry manifest:media-type="application/rdf+xml"
                                                                                                                                                                                manifest:full-path="profile/tavernaWorkbench.rdf"/>
                                                                                                                                                                        <manifest:file-entry manifest:media-type="application/rdf+xml"

                                            workflowBundle.rdf                                                                                                                  manifest:full-path="profile/tavernaServer.rdf"/>
                                                                                                                                                                       <!– Any additional resources -->
                                                                                                                                                                        <manifest:file-entry manifest:media-type="application/rdf+xml"
                                         <rdf:RDF xmlns="http://ns.taverna.org.uk/2010/scufl2#" xmlns:rdf=".."                                                                  manifest:full-path="annotation/user_annotations.rdf"/>
                                                  xmlns:rdfs=".." xmlns:xsi=".."
                                                  xsi:schemaLocation="http://ns.taverna.org.uk/2010/scufl2#
                                                                                                                                                                        <manifest:file-entry manifest:media-type="application/rdf+xml"
                                                                                                                                                                                manifest:full-path="annotation/myExperiment-wf-765.rdf"/>
                                                                                                                                                                                                                                                           Definition of
                                                                                                                                                                        <manifest:file-entry manifest:media-type="image/png" manifest:full-
                                                  http://ns.taverna.org.uk/2010/scufl2/scufl2.xsd .."
                                                  xsi:type="WorkflowBundleDocument" xml:base="./">                                                                              path="Thumbnails/thumbnail.png"/>
                                                                                                                                                                        <manifest:file-entry manifest:media-type="image/svg+xml" manifest:full-
                                                                                                                                                                                                                                                           workflow structure.
                                               <WorkflowBundle rdf:about="">
                                                    <name>HelloWorld</name>
                                                    <sameBaseAs rdf:resource=
                                                                                                                                                                                path="diagram/workflow/HelloWorld.svg"/>
                                                                                                                                                                       </manifest:manifest>                                                                Nested workflows
                                                  "http://ns.taverna.org.uk/2010/workflowBundle/28f7c..a0ef731/" />
                                                    <mainWorkflow rdf:resource="workflow/HelloWorld/" />
                                                    <workflow>
                                                                                                                                                                                                                                                           are separate
                                                      <Workflow rdf:about="workflow/HelloWorld/">
                                                        <rdfs:seeAlso rdf:resource="workflow/HelloWorld.rdf" />                                                                                                                                            resources.
                                                      </Workflow> <!-- plus each nested <Workflow> -->
                                                    </workflow>
                                                    <mainProfile rdf:resource="profile/tavernaWorkbench/" />                                           workflow/HelloWorld.rdf
                                                    <profile>
                                                      <Profile rdf:about="profile/tavernaWorkbench/">
                                                        <rdfs:seeAlso rdf:resource="profile/tavernaWorkbench.rdf" />                                  <rdf:RDF xmlns="http://ns.taverna.org.uk/2010/scufl2#"
                                                      </Profile> <!– plus optional alternative <Profile>-->                                                 xmlns:rdf=".." xmlns:owl=".." xmlns:rdfs=".." xmlns:xsi=".."
                                                                                                                                                            xsi:schemaLocation="http://ns.taverna.org.uk/2010/scufl2#
                                                    </profile>                                                                                        http://ns.taverna.org.uk/2010/scufl2/scufl2.xsd ..
                                                    <rdfs:seeAlso rdf:resource="annotation/user_annotations.rdf" />
Profile gives implementation                        <rdfs:seeAlso rdf:resource="annotation/myExperiment-wf-765.rdf" />
                                                                                                                                                          xsi:type="WorkflowDocument" xml:base="HelloWorld/">
                                                                                                                                                          <Workflow rdf:about="">
                                               </WorkflowBundle>                                                                                            <name>HelloWorld</name>
bindings, alternative profiles           </rdf:RDF>                                                                                                         <workflowIdentifier
                                                                                                                                                                rdf:resource="http://ns.taverna.org.uk/2010/workflow/006...c84e2ca/" />
can customize execution of                                                                                                                                  <inputWorkflowPort>
                                                                                                                                                                <InputWorkflowPort rdf:about="in/yourName">
                                                                                                                                                                  <name>yourName</name>
workflow steps for different
environments (e.g. desktop,
                                        profile/tavernaWorkbench.rdf                                                                                              <portDepth>0</portDepth>
                                                                                                                                                                </InputWorkflowPort>
                                                                                                                                                            </inputWorkflowPort>


                                                                                                                                                                                                                                                         Every workflow part
                                                                                                                                                            <outputWorkflowPort><!-- .. --></outputWorkflowPort>

server, cloud)                              <rdf:RDF xmlns="http://ns.taverna.org.uk/2010/scufl2#"
                                            xmlns:beanshell="http://ns.taverna.org.uk/2010/activity/beanshell#" xmlns:dc=".."
                                                                                                                                                            <processor>
                                                                                                                                                                <Processor rdf:about="processor/Hello/">
                                            xmlns:owl=".." xmlns:rdf=".." xmlns:rdfs=".." xmlns:xsi=".."                                                          <name>Hello</name>
                                                  xsi:schemaLocation="http://ns.taverna.org.uk/2010/scufl2#
                                            http://ns.taverna.org.uk/2010/scufl2/scufl2.xsd .."
                                                  xsi:type="ProfileDocument" xml:base="tavernaWorkbench/">
                                                                                                                                                                  <inputProcessorPort><!-- .. --></inputProcessorPort>
                                                                                                                                                                  <outputProcessorPort>
                                                                                                                                                                      <OutputProcessorPort rdf:about="processor/Hello/out/greeting">
                                                                                                                                                                                                                                                         has a URI, allowing
                                                  <Profile rdf:about="">                                                                                                 <name>greeting</name>
                                                        <name>tavernaWorkbench</name>
                                                        <processorBinding rdf:resource="processorbinding/Hello/" />
                                                                                                                                                                         <portDepth>0</portDepth>
                                                                                                                                                                         <granularPortDepth>0</granularPortDepth>                                        deep annotations
Hybrid of RDF/XML and XML                               <activateConfiguration rdf:resource="configuration/Hello/" />
                                                  </Profile>
                                                                                                                                                                      </OutputProcessorPort>
                                                                                                                                                                    </outputProcessorPort>
                                                  <Activity rdf:about="activity/HelloScript/">                                                                      <dispatchStack>
schema - If the xsi:type is                             <rdf:type rdf:resource="http://ns.taverna.org.uk/2010/activity/beanshell" />
                                                        <name>HelloScript</name>
                                                                                                                                                                      <DispatchStack rdf:about="processor/wait4me/dispatchStack/">
                                                                                                                                                                          <rdf:type                                                                      Relative references can also
given, documents can be                                 <inputActivityPort>
                                                              <InputActivityPort rdf:about="activity/HelloScript/in/personName">
                                                                                                                                                      rdf:resource="http://ns.taverna.org.uk/2010/scufl2/taverna#defaultDispatchStack" />
                                                                                                                                                                      </DispatchStack>                                                                   be made absolute using the
                                                                    <name>personName</name>                                                                         </dispatchStack>
parsed and generated as                                             <portDepth>0</portDepth>                                                                        <iterationStrategyStack>
                                                                                                                                                                                                                                                         sameBaseAs prefix, RDF clients
                                                              </InputActivityPort>                                                                                    <IterationStrategyStack rdf:about="processor/Hello/iterationstrategy/">
regular XML, using xpath, etc.                          </inputActivityPort>
                                                        <outputActivityPort><!-- .. --></outputActivityPort>
                                                                                                                                                                         <iterationStrategies rdf:parseType="Collection">
                                                                                                                                                                            <CrossProduct> <!-- .. --></CrossProduct>                                    resolving such URIs at
                                                  </Activity>                                                                                                            </iterationStrategies>
                                                  <ProcessorBinding rdf:about="processorbinding/Hello/">                                                              </IterationStrategyStack>                                                          http://ns.taverna.org.uk/2010/
                                                        <name>Hello</name>                                                                                          </iterationStrategyStack>
The schema ensures the                                  <bindActivity rdf:resource="activity/HelloScript/" />
                                                        <bindProcessor rdf:resource="../../workflow/HelloWorld/processor/Hello/" />
                                                                                                                                                                  </Processor>
                                                                                                                                                              </processor> <!-- plus other <processor>s -->
                                                                                                                                                                                                                                                         workflowBundle/can be
document can still be parsed                            <activityPosition>10</activityPosition>
                                                        <inputPortBinding>
                                                                                                                                                              <datalink>
                                                                                                                                                                <DataLink
                                                                                                                                                                                                                                                         redirected to a generated RDF
                                                              <InputPortBinding rdf:about="processorbinding/Hello/in/name">                           rdf:about="datalink?from=processor/Hello/out/greeting&amp;to=out/results&amp;mergePosit
as RDF/XML as well. Pure RDF                         <bindInputActivityPort rdf:resource="activity/HelloScript/in/personName" />                      ion=0">                                                                                            resource stating what’s
                                                     <bindInputProcessorPort                                                                                        <receiveFrom rdf:resource="processor/Hello/out/greeting" />
writers can ommit the xsi:type              rdf:resource="../../workflow/HelloWorld/processor/Hello/in/name" />
                                                              </InputPortBinding>
                                                                                                                                                                    <sendTo rdf:resource="out/results" />
                                                                                                                                                                    <mergePosition>0</mergePosition>
                                                                                                                                                                                                                                                         obvious from the URI.
                                                        </inputPortBinding>                                                                                     </DataLink>
                                                        <outputPortBinding><!-- --> </outputPortBinding>                                                      </datalink> <!-- plus more <datalink>s -->
                                                  </ProcessorBinding>
                                                  <Configuration rdf:about="configuration/Hello/">
                                                                                                                                                              <control>
                                                                                                                                                                <Blocking
                                                                                                                                                                                                                                                         “Cool URI”-style relative
                                                        <rdf:type
                                            rdf:resource="http://ns.taverna.org.uk/2010/activity/beanshell#Config" />
                                                                                                                                                      rdf:about="control?block=processor/Hello/&amp;untilFinished=processor/wait4me/">
                                                                                                                                                                    <block rdf:resource="processor/Hello/" />                                            references allow parsers to
                                                        <name>Hello</name>                                                                                             <untilFinished rdf:resource="processor/wait4me/" />
                                                        <configure rdf:resource="activity/HelloScript/" />
                                                        <beanshell:script>hello = "Hello, " + personName;
                                                                                                                                                                    <block
                                                                                                                                                                </Blocking>
                                                                                                                                                                                                                                                         ‘cheat’ and pick out processor
                                            JOptionPane.showMessageDialog(null, hello);</beanshell:script>
                                                  </Configuration>
                                                                                                                                                              </control>
                                                                                                                                                          </Workflow>                                                                                    “Hello” and port “greeting” -
                                            </rdf:RDF>                                                                                                </rdf:RDF>
                                                                                                                                                                                                                                                         but only if starts with the
                                                                                                                                                                                                                                                         keyword paths out/ in/ or
                                                                                                                                                                                                                                                         processor/




                                    Resources                       Annotations                                     Binaries                       Provenance                                              Inputs                       Outputs


         The bundle (as a ZIP file) can be extended to include                 Wf4Ever: A Research
         arbitrary resources. These could be referenced                        Object (RO) captures                                    Embedding provenance, input and output data of a
         internally by workflow activities, it could be PDFs,                  enough data and                                         workflow run can provide example use and
         spreadsheets, etc.                                                    provenance about results                                expected outputs. Changing the root-file to point
                                                                               to make data and methods                                to the provenance makes the bundle a workflow
                                                                               reproducible, verifiable,                               run bundle, where the workflow definition is
                                                                               shareable, reusable and                                 secondary.
                                                                               repeatable. The Scufl2
                                                                               workflow run bundle forms                               Similarly a data bundle represents primarily the
                                                                               such an RO for Taverna                                  data, but by including the workflow and the
                                                                               workflow results – with the                             provenance also embed information on how it was
 http://www.wf4ever-project.org/                                                                                                       generated.
                                                                               goal of becoming an                                                                                                                 http://www.mygrid.org.uk/
                                                                               executable paper.

 Funded by: EPSRC EP/G026238/1; European Commission’s 7th FWP FP7-ICT-2007-6 270192; FP7-ICT-2007-6 270137

More Related Content

Similar to Scufl2 - A Self-Documenting Workflow Format

Presentation distro recipes-2013
Presentation distro recipes-2013Presentation distro recipes-2013
Presentation distro recipes-2013olberger
 
Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...
Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...
Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...Anne Nicolas
 
Timothy Spann: Apache Pulsar for ML
Timothy Spann: Apache Pulsar for MLTimothy Spann: Apache Pulsar for ML
Timothy Spann: Apache Pulsar for MLEdunomica
 
OpenNMS introduction
OpenNMS introductionOpenNMS introduction
OpenNMS introductionGuider Lee
 
Do you know what your Drupal is doing Observe it! (DrupalCon Prague 2022)
Do you know what your Drupal is doing Observe it! (DrupalCon Prague 2022)Do you know what your Drupal is doing Observe it! (DrupalCon Prague 2022)
Do you know what your Drupal is doing Observe it! (DrupalCon Prague 2022)sparkfabrik
 
Tokyotextmining#1 kaneyama genta
Tokyotextmining#1 kaneyama gentaTokyotextmining#1 kaneyama genta
Tokyotextmining#1 kaneyama gentagenta kaneyama
 
FAIR Projector Builder
FAIR Projector BuilderFAIR Projector Builder
FAIR Projector BuilderMark Wilkinson
 
Princeton Dec 2022 Meetup_ StreamNative and Cloudera Streaming
Princeton Dec 2022 Meetup_ StreamNative and Cloudera StreamingPrinceton Dec 2022 Meetup_ StreamNative and Cloudera Streaming
Princeton Dec 2022 Meetup_ StreamNative and Cloudera StreamingTimothy Spann
 
Taverna workflows: provenance and reproducibility - STFC/NERC workshop 2013
Taverna workflows: provenance and reproducibility - STFC/NERC workshop 2013Taverna workflows: provenance and reproducibility - STFC/NERC workshop 2013
Taverna workflows: provenance and reproducibility - STFC/NERC workshop 2013anpawlik
 
bigdata 2022_ FLiP Into Pulsar Apps
bigdata 2022_ FLiP Into Pulsar Appsbigdata 2022_ FLiP Into Pulsar Apps
bigdata 2022_ FLiP Into Pulsar AppsTimothy Spann
 
Large scale preservation workflows with Taverna – SCAPE Training event, Guima...
Large scale preservation workflows with Taverna – SCAPE Training event, Guima...Large scale preservation workflows with Taverna – SCAPE Training event, Guima...
Large scale preservation workflows with Taverna – SCAPE Training event, Guima...SCAPE Project
 
Plenzogan technology
Plenzogan technologyPlenzogan technology
Plenzogan technologyplenzogan
 
NIF - Version 1.0 - 2011/10/23
NIF - Version 1.0 - 2011/10/23NIF - Version 1.0 - 2011/10/23
NIF - Version 1.0 - 2011/10/23Sebastian Hellmann
 
Voip Drupal presentation at DrupalCon SF 2010
Voip Drupal presentation at DrupalCon SF 2010Voip Drupal presentation at DrupalCon SF 2010
Voip Drupal presentation at DrupalCon SF 2010Leo Burd
 
nanopub-java: A Java Library for Nanopublications
nanopub-java: A Java Library for Nanopublicationsnanopub-java: A Java Library for Nanopublications
nanopub-java: A Java Library for NanopublicationsTobias Kuhn
 
Calames :: CERL seminar (Paris, 2008)
Calames :: CERL seminar (Paris, 2008)Calames :: CERL seminar (Paris, 2008)
Calames :: CERL seminar (Paris, 2008)Y. Nicolas
 

Similar to Scufl2 - A Self-Documenting Workflow Format (20)

Presentation distro recipes-2013
Presentation distro recipes-2013Presentation distro recipes-2013
Presentation distro recipes-2013
 
Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...
Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...
Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...
 
Rtos part2
Rtos part2Rtos part2
Rtos part2
 
Timothy Spann: Apache Pulsar for ML
Timothy Spann: Apache Pulsar for MLTimothy Spann: Apache Pulsar for ML
Timothy Spann: Apache Pulsar for ML
 
OpenNMS introduction
OpenNMS introductionOpenNMS introduction
OpenNMS introduction
 
Do you know what your Drupal is doing Observe it! (DrupalCon Prague 2022)
Do you know what your Drupal is doing Observe it! (DrupalCon Prague 2022)Do you know what your Drupal is doing Observe it! (DrupalCon Prague 2022)
Do you know what your Drupal is doing Observe it! (DrupalCon Prague 2022)
 
Spark meetup TCHUG
Spark meetup TCHUGSpark meetup TCHUG
Spark meetup TCHUG
 
Tokyotextmining#1 kaneyama genta
Tokyotextmining#1 kaneyama gentaTokyotextmining#1 kaneyama genta
Tokyotextmining#1 kaneyama genta
 
FAIR Projector Builder
FAIR Projector BuilderFAIR Projector Builder
FAIR Projector Builder
 
Princeton Dec 2022 Meetup_ StreamNative and Cloudera Streaming
Princeton Dec 2022 Meetup_ StreamNative and Cloudera StreamingPrinceton Dec 2022 Meetup_ StreamNative and Cloudera Streaming
Princeton Dec 2022 Meetup_ StreamNative and Cloudera Streaming
 
Taverna workflows: provenance and reproducibility - STFC/NERC workshop 2013
Taverna workflows: provenance and reproducibility - STFC/NERC workshop 2013Taverna workflows: provenance and reproducibility - STFC/NERC workshop 2013
Taverna workflows: provenance and reproducibility - STFC/NERC workshop 2013
 
bigdata 2022_ FLiP Into Pulsar Apps
bigdata 2022_ FLiP Into Pulsar Appsbigdata 2022_ FLiP Into Pulsar Apps
bigdata 2022_ FLiP Into Pulsar Apps
 
Large scale preservation workflows with Taverna – SCAPE Training event, Guima...
Large scale preservation workflows with Taverna – SCAPE Training event, Guima...Large scale preservation workflows with Taverna – SCAPE Training event, Guima...
Large scale preservation workflows with Taverna – SCAPE Training event, Guima...
 
Plenzogan technology
Plenzogan technologyPlenzogan technology
Plenzogan technology
 
NIF - Version 1.0 - 2011/10/23
NIF - Version 1.0 - 2011/10/23NIF - Version 1.0 - 2011/10/23
NIF - Version 1.0 - 2011/10/23
 
Taverna summary
Taverna summaryTaverna summary
Taverna summary
 
NS3 Overview
NS3 OverviewNS3 Overview
NS3 Overview
 
Voip Drupal presentation at DrupalCon SF 2010
Voip Drupal presentation at DrupalCon SF 2010Voip Drupal presentation at DrupalCon SF 2010
Voip Drupal presentation at DrupalCon SF 2010
 
nanopub-java: A Java Library for Nanopublications
nanopub-java: A Java Library for Nanopublicationsnanopub-java: A Java Library for Nanopublications
nanopub-java: A Java Library for Nanopublications
 
Calames :: CERL seminar (Paris, 2008)
Calames :: CERL seminar (Paris, 2008)Calames :: CERL seminar (Paris, 2008)
Calames :: CERL seminar (Paris, 2008)
 

More from Stian Soiland-Reyes

2017-11-03 Scientific Workflow systems
2017-11-03 Scientific Workflow systems2017-11-03 Scientific Workflow systems
2017-11-03 Scientific Workflow systemsStian Soiland-Reyes
 
2017-11-03 Provenance and Research Object
2017-11-03 Provenance and Research Object2017-11-03 Provenance and Research Object
2017-11-03 Provenance and Research ObjectStian Soiland-Reyes
 
2017-07-22 Common Workflow Language Viewer
2017-07-22 Common Workflow Language Viewer2017-07-22 Common Workflow Language Viewer
2017-07-22 Common Workflow Language ViewerStian Soiland-Reyes
 
2015-07-11 Apache Taverna - BOSC 2015
2015-07-11 Apache Taverna - BOSC 20152015-07-11 Apache Taverna - BOSC 2015
2015-07-11 Apache Taverna - BOSC 2015Stian Soiland-Reyes
 
2014-10-31 Taverna 3 architecture
2014-10-31 Taverna 3 architecture2014-10-31 Taverna 3 architecture
2014-10-31 Taverna 3 architectureStian Soiland-Reyes
 
2014-10-30 Taverna as an Apache Incubator project
2014-10-30 Taverna as an Apache Incubator project2014-10-30 Taverna as an Apache Incubator project
2014-10-30 Taverna as an Apache Incubator projectStian Soiland-Reyes
 
2014-06-13 Research objects in the wild
2014-06-13 Research objects in the wild2014-06-13 Research objects in the wild
2014-06-13 Research objects in the wildStian Soiland-Reyes
 
2013-07-19 myExperiment research objects, beyond workflows and packs (PPTX)
2013-07-19 myExperiment research objects, beyond workflows and packs (PPTX)2013-07-19 myExperiment research objects, beyond workflows and packs (PPTX)
2013-07-19 myExperiment research objects, beyond workflows and packs (PPTX)Stian Soiland-Reyes
 
2013 06-24 Wf4Ever: Annotating research objects (PDF)
2013 06-24 Wf4Ever: Annotating research objects (PDF)2013 06-24 Wf4Ever: Annotating research objects (PDF)
2013 06-24 Wf4Ever: Annotating research objects (PDF)Stian Soiland-Reyes
 
2013 06-24 Wf4Ever: Annotating research objects (PPTX)
2013 06-24 Wf4Ever: Annotating research objects (PPTX)2013 06-24 Wf4Ever: Annotating research objects (PPTX)
2013 06-24 Wf4Ever: Annotating research objects (PPTX)Stian Soiland-Reyes
 
2013-03-21 What can provenance do for me?
2013-03-21 What can provenance do for me?2013-03-21 What can provenance do for me?
2013-03-21 What can provenance do for me?Stian Soiland-Reyes
 
2012 03-28 Wf4ever, preserving workflows as digital research objects
2012 03-28 Wf4ever, preserving workflows as digital research objects2012 03-28 Wf4ever, preserving workflows as digital research objects
2012 03-28 Wf4ever, preserving workflows as digital research objectsStian Soiland-Reyes
 
2011-06-08 Taverna workflow system
2011-06-08 Taverna workflow system2011-06-08 Taverna workflow system
2011-06-08 Taverna workflow systemStian Soiland-Reyes
 
Taverna workflow management system (2010 11-30 Bath Workflow Tools) PPTX
Taverna workflow management system (2010 11-30 Bath Workflow Tools) PPTXTaverna workflow management system (2010 11-30 Bath Workflow Tools) PPTX
Taverna workflow management system (2010 11-30 Bath Workflow Tools) PPTXStian Soiland-Reyes
 
Taverna workflow management system (2010 11-30 Bath Workflow Tools)
Taverna workflow management system (2010 11-30 Bath Workflow Tools)Taverna workflow management system (2010 11-30 Bath Workflow Tools)
Taverna workflow management system (2010 11-30 Bath Workflow Tools)Stian Soiland-Reyes
 
Bringing caBIG services together using Taverna
Bringing caBIG services together using TavernaBringing caBIG services together using Taverna
Bringing caBIG services together using TavernaStian Soiland-Reyes
 

More from Stian Soiland-Reyes (19)

2017-09-27-scholarly-html-ro
2017-09-27-scholarly-html-ro2017-09-27-scholarly-html-ro
2017-09-27-scholarly-html-ro
 
2017-11-03 Scientific Workflow systems
2017-11-03 Scientific Workflow systems2017-11-03 Scientific Workflow systems
2017-11-03 Scientific Workflow systems
 
2017-11-03 Provenance and Research Object
2017-11-03 Provenance and Research Object2017-11-03 Provenance and Research Object
2017-11-03 Provenance and Research Object
 
2017-07-22 Common Workflow Language Viewer
2017-07-22 Common Workflow Language Viewer2017-07-22 Common Workflow Language Viewer
2017-07-22 Common Workflow Language Viewer
 
2015-07-11 Apache Taverna - BOSC 2015
2015-07-11 Apache Taverna - BOSC 20152015-07-11 Apache Taverna - BOSC 2015
2015-07-11 Apache Taverna - BOSC 2015
 
2014-10-31 Taverna 3 architecture
2014-10-31 Taverna 3 architecture2014-10-31 Taverna 3 architecture
2014-10-31 Taverna 3 architecture
 
2014-10-30 Taverna 3 status
2014-10-30 Taverna 3 status2014-10-30 Taverna 3 status
2014-10-30 Taverna 3 status
 
2014-10-30 Taverna as an Apache Incubator project
2014-10-30 Taverna as an Apache Incubator project2014-10-30 Taverna as an Apache Incubator project
2014-10-30 Taverna as an Apache Incubator project
 
2014-06-13 Research objects in the wild
2014-06-13 Research objects in the wild2014-06-13 Research objects in the wild
2014-06-13 Research objects in the wild
 
2013-07-19 myExperiment research objects, beyond workflows and packs (PPTX)
2013-07-19 myExperiment research objects, beyond workflows and packs (PPTX)2013-07-19 myExperiment research objects, beyond workflows and packs (PPTX)
2013-07-19 myExperiment research objects, beyond workflows and packs (PPTX)
 
2013 06-24 Wf4Ever: Annotating research objects (PDF)
2013 06-24 Wf4Ever: Annotating research objects (PDF)2013 06-24 Wf4Ever: Annotating research objects (PDF)
2013 06-24 Wf4Ever: Annotating research objects (PDF)
 
2013 06-24 Wf4Ever: Annotating research objects (PPTX)
2013 06-24 Wf4Ever: Annotating research objects (PPTX)2013 06-24 Wf4Ever: Annotating research objects (PPTX)
2013 06-24 Wf4Ever: Annotating research objects (PPTX)
 
2013-03-21 What can provenance do for me?
2013-03-21 What can provenance do for me?2013-03-21 What can provenance do for me?
2013-03-21 What can provenance do for me?
 
2013-01-17 Research Object
2013-01-17 Research Object2013-01-17 Research Object
2013-01-17 Research Object
 
2012 03-28 Wf4ever, preserving workflows as digital research objects
2012 03-28 Wf4ever, preserving workflows as digital research objects2012 03-28 Wf4ever, preserving workflows as digital research objects
2012 03-28 Wf4ever, preserving workflows as digital research objects
 
2011-06-08 Taverna workflow system
2011-06-08 Taverna workflow system2011-06-08 Taverna workflow system
2011-06-08 Taverna workflow system
 
Taverna workflow management system (2010 11-30 Bath Workflow Tools) PPTX
Taverna workflow management system (2010 11-30 Bath Workflow Tools) PPTXTaverna workflow management system (2010 11-30 Bath Workflow Tools) PPTX
Taverna workflow management system (2010 11-30 Bath Workflow Tools) PPTX
 
Taverna workflow management system (2010 11-30 Bath Workflow Tools)
Taverna workflow management system (2010 11-30 Bath Workflow Tools)Taverna workflow management system (2010 11-30 Bath Workflow Tools)
Taverna workflow management system (2010 11-30 Bath Workflow Tools)
 
Bringing caBIG services together using Taverna
Bringing caBIG services together using TavernaBringing caBIG services together using Taverna
Bringing caBIG services together using Taverna
 

Recently uploaded

Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentMahmoud Rabie
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Nikki Chapple
 

Recently uploaded (20)

Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career Development
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdf
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
 

Scufl2 - A Self-Documenting Workflow Format

  • 1. http://www.taverna.org.uk/ Project site: Scufl2 – because a workflow http://www.taverna.org.uk/ Source code: is more than its definition https://github.com/mygrid/scufl2 Stian Soiland-Reyes, Alan R Williams, Stuart Owen, David Withers and Carole Goble http://taverna.googlecode.com/ School of Computer Science, University of Manchester, UK License: GNU Lesser General Public {stian.soiland-reyes, alan.r.williams, stuart.owen, david.withers, carole.a.goble}@manchester.ac.uk License (LGPL) 2.1 “Structured” zip-file • Taverna’s future workflow and data format Self-documenting media (can be unpacked to be • Goal: Simplify third-party reading, writing, exposed on the web) type (OpenOffice ODF, ePub OCF, Adobe UCF) – annotating and extending • for tools like file(1) and mime magic Scufl2: specification, schema, ontology, Java API and conversion tool the-workflow-bundle.scufl2 mimetype Manifest listing all resources in application/vnd.taverna.scufl2.workflow-bundle META-INF/manifest.xml bundle with media META-INF/container.xml types <manifest:manifest xmlns:manifest="urn:oasis:names:tc:opendocument:xmlns:manifest:1.0 "> <container version="1.0“ xmlns="urn:oasis:names:tc:opendocument:xmlns:container"> <manifest:file-entry manifest:media- <rootfiles> type="application/vnd.taverna.scufl2.workflow-bundle" <rootfile full-path="workflowBundle.rdf" media-type="application/rdf+xml" /> manifest:full-path="/"/> <!-- <rootfile full-path="workflowBundle.ttl" <!– Standard resources --> media-type="text/turtle" /> Alternative repr. --> <manifest:file-entry manifest:media-type="application/rdf+xml" </rootfiles> manifest:full-path="workflowBundle.rdf"/> </container> <manifest:file-entry manifest:media-type="application/rdf+xml" manifest:full-path="workflow/HelloWorld.rdf"/> <manifest:file-entry manifest:media-type="application/rdf+xml" manifest:full-path="profile/tavernaWorkbench.rdf"/> <manifest:file-entry manifest:media-type="application/rdf+xml" workflowBundle.rdf manifest:full-path="profile/tavernaServer.rdf"/> <!– Any additional resources --> <manifest:file-entry manifest:media-type="application/rdf+xml" <rdf:RDF xmlns="http://ns.taverna.org.uk/2010/scufl2#" xmlns:rdf=".." manifest:full-path="annotation/user_annotations.rdf"/> xmlns:rdfs=".." xmlns:xsi=".." xsi:schemaLocation="http://ns.taverna.org.uk/2010/scufl2# <manifest:file-entry manifest:media-type="application/rdf+xml" manifest:full-path="annotation/myExperiment-wf-765.rdf"/> Definition of <manifest:file-entry manifest:media-type="image/png" manifest:full- http://ns.taverna.org.uk/2010/scufl2/scufl2.xsd .." xsi:type="WorkflowBundleDocument" xml:base="./"> path="Thumbnails/thumbnail.png"/> <manifest:file-entry manifest:media-type="image/svg+xml" manifest:full- workflow structure. <WorkflowBundle rdf:about=""> <name>HelloWorld</name> <sameBaseAs rdf:resource= path="diagram/workflow/HelloWorld.svg"/> </manifest:manifest> Nested workflows "http://ns.taverna.org.uk/2010/workflowBundle/28f7c..a0ef731/" /> <mainWorkflow rdf:resource="workflow/HelloWorld/" /> <workflow> are separate <Workflow rdf:about="workflow/HelloWorld/"> <rdfs:seeAlso rdf:resource="workflow/HelloWorld.rdf" /> resources. </Workflow> <!-- plus each nested <Workflow> --> </workflow> <mainProfile rdf:resource="profile/tavernaWorkbench/" /> workflow/HelloWorld.rdf <profile> <Profile rdf:about="profile/tavernaWorkbench/"> <rdfs:seeAlso rdf:resource="profile/tavernaWorkbench.rdf" /> <rdf:RDF xmlns="http://ns.taverna.org.uk/2010/scufl2#" </Profile> <!– plus optional alternative <Profile>--> xmlns:rdf=".." xmlns:owl=".." xmlns:rdfs=".." xmlns:xsi=".." xsi:schemaLocation="http://ns.taverna.org.uk/2010/scufl2# </profile> http://ns.taverna.org.uk/2010/scufl2/scufl2.xsd .. <rdfs:seeAlso rdf:resource="annotation/user_annotations.rdf" /> Profile gives implementation <rdfs:seeAlso rdf:resource="annotation/myExperiment-wf-765.rdf" /> xsi:type="WorkflowDocument" xml:base="HelloWorld/"> <Workflow rdf:about=""> </WorkflowBundle> <name>HelloWorld</name> bindings, alternative profiles </rdf:RDF> <workflowIdentifier rdf:resource="http://ns.taverna.org.uk/2010/workflow/006...c84e2ca/" /> can customize execution of <inputWorkflowPort> <InputWorkflowPort rdf:about="in/yourName"> <name>yourName</name> workflow steps for different environments (e.g. desktop, profile/tavernaWorkbench.rdf <portDepth>0</portDepth> </InputWorkflowPort> </inputWorkflowPort> Every workflow part <outputWorkflowPort><!-- .. --></outputWorkflowPort> server, cloud) <rdf:RDF xmlns="http://ns.taverna.org.uk/2010/scufl2#" xmlns:beanshell="http://ns.taverna.org.uk/2010/activity/beanshell#" xmlns:dc=".." <processor> <Processor rdf:about="processor/Hello/"> xmlns:owl=".." xmlns:rdf=".." xmlns:rdfs=".." xmlns:xsi=".." <name>Hello</name> xsi:schemaLocation="http://ns.taverna.org.uk/2010/scufl2# http://ns.taverna.org.uk/2010/scufl2/scufl2.xsd .." xsi:type="ProfileDocument" xml:base="tavernaWorkbench/"> <inputProcessorPort><!-- .. --></inputProcessorPort> <outputProcessorPort> <OutputProcessorPort rdf:about="processor/Hello/out/greeting"> has a URI, allowing <Profile rdf:about=""> <name>greeting</name> <name>tavernaWorkbench</name> <processorBinding rdf:resource="processorbinding/Hello/" /> <portDepth>0</portDepth> <granularPortDepth>0</granularPortDepth> deep annotations Hybrid of RDF/XML and XML <activateConfiguration rdf:resource="configuration/Hello/" /> </Profile> </OutputProcessorPort> </outputProcessorPort> <Activity rdf:about="activity/HelloScript/"> <dispatchStack> schema - If the xsi:type is <rdf:type rdf:resource="http://ns.taverna.org.uk/2010/activity/beanshell" /> <name>HelloScript</name> <DispatchStack rdf:about="processor/wait4me/dispatchStack/"> <rdf:type Relative references can also given, documents can be <inputActivityPort> <InputActivityPort rdf:about="activity/HelloScript/in/personName"> rdf:resource="http://ns.taverna.org.uk/2010/scufl2/taverna#defaultDispatchStack" /> </DispatchStack> be made absolute using the <name>personName</name> </dispatchStack> parsed and generated as <portDepth>0</portDepth> <iterationStrategyStack> sameBaseAs prefix, RDF clients </InputActivityPort> <IterationStrategyStack rdf:about="processor/Hello/iterationstrategy/"> regular XML, using xpath, etc. </inputActivityPort> <outputActivityPort><!-- .. --></outputActivityPort> <iterationStrategies rdf:parseType="Collection"> <CrossProduct> <!-- .. --></CrossProduct> resolving such URIs at </Activity> </iterationStrategies> <ProcessorBinding rdf:about="processorbinding/Hello/"> </IterationStrategyStack> http://ns.taverna.org.uk/2010/ <name>Hello</name> </iterationStrategyStack> The schema ensures the <bindActivity rdf:resource="activity/HelloScript/" /> <bindProcessor rdf:resource="../../workflow/HelloWorld/processor/Hello/" /> </Processor> </processor> <!-- plus other <processor>s --> workflowBundle/can be document can still be parsed <activityPosition>10</activityPosition> <inputPortBinding> <datalink> <DataLink redirected to a generated RDF <InputPortBinding rdf:about="processorbinding/Hello/in/name"> rdf:about="datalink?from=processor/Hello/out/greeting&amp;to=out/results&amp;mergePosit as RDF/XML as well. Pure RDF <bindInputActivityPort rdf:resource="activity/HelloScript/in/personName" /> ion=0"> resource stating what’s <bindInputProcessorPort <receiveFrom rdf:resource="processor/Hello/out/greeting" /> writers can ommit the xsi:type rdf:resource="../../workflow/HelloWorld/processor/Hello/in/name" /> </InputPortBinding> <sendTo rdf:resource="out/results" /> <mergePosition>0</mergePosition> obvious from the URI. </inputPortBinding> </DataLink> <outputPortBinding><!-- --> </outputPortBinding> </datalink> <!-- plus more <datalink>s --> </ProcessorBinding> <Configuration rdf:about="configuration/Hello/"> <control> <Blocking “Cool URI”-style relative <rdf:type rdf:resource="http://ns.taverna.org.uk/2010/activity/beanshell#Config" /> rdf:about="control?block=processor/Hello/&amp;untilFinished=processor/wait4me/"> <block rdf:resource="processor/Hello/" /> references allow parsers to <name>Hello</name> <untilFinished rdf:resource="processor/wait4me/" /> <configure rdf:resource="activity/HelloScript/" /> <beanshell:script>hello = "Hello, " + personName; <block </Blocking> ‘cheat’ and pick out processor JOptionPane.showMessageDialog(null, hello);</beanshell:script> </Configuration> </control> </Workflow> “Hello” and port “greeting” - </rdf:RDF> </rdf:RDF> but only if starts with the keyword paths out/ in/ or processor/ Resources Annotations Binaries Provenance Inputs Outputs The bundle (as a ZIP file) can be extended to include Wf4Ever: A Research arbitrary resources. These could be referenced Object (RO) captures Embedding provenance, input and output data of a internally by workflow activities, it could be PDFs, enough data and workflow run can provide example use and spreadsheets, etc. provenance about results expected outputs. Changing the root-file to point to make data and methods to the provenance makes the bundle a workflow reproducible, verifiable, run bundle, where the workflow definition is shareable, reusable and secondary. repeatable. The Scufl2 workflow run bundle forms Similarly a data bundle represents primarily the such an RO for Taverna data, but by including the workflow and the workflow results – with the provenance also embed information on how it was http://www.wf4ever-project.org/ generated. goal of becoming an http://www.mygrid.org.uk/ executable paper. Funded by: EPSRC EP/G026238/1; European Commission’s 7th FWP FP7-ICT-2007-6 270192; FP7-ICT-2007-6 270137