<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Mayflower-Explorative Modeling of Scientific Workflows with BPEL</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Mirko Sonntag</string-name>
          <email>sonntag@iaas.uni-stuttgart.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Michael Hahn</string-name>
          <email>hahn@iaas.uni-stuttgart.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dimka Karastoyanova</string-name>
          <email>karastoyanova@iaas.uni-stuttgart.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute of Architecture of Application Systems, University of Stuttgart</institution>
          ,
          <addr-line>Universitaetsstrasse 38, 70569 Stuttgart</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Using workflows for scientific calculations, experiments and simulations has been a success story in many cases. Unfortunately, most of the existing scientific workflow systems implement proprietary, non-standardized workflow languages, not taking advantage of the achievements of the conventional business workflow technology. It is only natural to combine these two research branches in order to harness the strengths of both. In this demonstration, we present Mayflower, a workflow environment that enables scientists to model workflows on the fly using extended business workflow technology. It supports the typical trial-and-error approach scientists follow when developing their experiments, computations or simulations and provides scientists with all crucial characteristics of the workflow technology. Additionally, beneficial to the business stakeholders, Mayflower brings additional simplification in workflow development and debugging.</p>
      </abstract>
      <kwd-group>
        <kwd>Scientific workflows</kwd>
        <kwd>Model-as-you-go</kwd>
        <kwd>SOA</kwd>
        <kwd>BPEL</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>The introduction of workflows to scientific computations and simulations has proven
beneficial for scientists in many domains, e.g. image processing in physical
astronomy [1], earthquake simulations in geology [2], or simulation regarding the
biodiversity of species [3]. Workflows speedup scientific computations through automation and
straightforward parallelization of tasks, reduce the programming effort for scientists,
and improve traceability of scientific results. There is a broad spectrum of scientific
workflow systems available, such as Kepler1, Triana2, Taverna3 and Pegasus4. Most of
these systems have been developed from scratch, implement proprietary,
nonstandardized workflow languages, and serve specific scientific application domains.</p>
      <p>
        There are also approaches to enhance tools and concepts of the business workflow
technology in order to facilitate modeling and execution of scientific computations
and experiments [4, 5, 6]. We are convinced that the well-established conventional
workflow technology brings many advantages compared to existing solutions for
scientific workflows, namely: (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) the technology is generic and thus independent of
the scientific domain and can be applied to almost every scenario, (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) the concept of
workflow models and instances can be used to conduct scientific parameter sweeps
and parallelize computations, (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) the human tasks features are helpful to integrate
human decision points and steering, (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) existing concepts for adaptation of workflows
increase the flexibility of scientific workflows, and (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ) conventional workflows are
standard-based, which facilitates collaboration between scientists and reuse.
      </p>
      <p>The life cycle of business workflows differs from that of their scientific counterpart
[4]. That is one of the reasons why the current business workflow technology needs
profound extension to be applicable in the scientific domain. Scientists develop
software and workflows much more explorative and experimental in a trial-and-error
manner [4, 6, 7]. They know the goal of their research but often not the exact way
towards this goal or the exact (intermediary) results. That means the scientists
approach their goals by trying out different parameter values, by adding or removing
activities, by repeating steps of an experiment, or by using different solvers for
equations. From the viewpoint of the conventional workflow technology the workflow
modeling and runtime phases are not strictly separated, but they are experienced by
scientists as a single phase because they can alternate arbitrarily. Furthermore, the
workflows are not deployed by scientists. Instead, they are simply started and the
workflow deployment is hidden behind a run operation. The scientists are the driver
of all life cycle phases. They need a single, integrated, easy-to-use tool to deal with
workflows in their respective phases without switching between the tools.</p>
      <p>
        We call this flexible development of scientific workflows Model-as-you-go since
workflows are modeled on the fly during execution [4]. The approach simplifies
workflow modeling and increases the robustness of workflows because the user can
fix structural failures, repair the workflow context or handle runtime faults without
restarting the workflow. Model-as-you-go also integrates approaches for workflow
flexibility such as ad hoc adaptations, instance migration, versioning and ad hoc
backward loops. The challenges are (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) the start and configuration of workflows via a
simple run operation instead of a full-blown deployment mechanism; (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) the
correlation between processes in the engine and the modeling tool; (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) the combination of a
process modeling tool and an instance monitor as entities originally designed for
different life cycle phases; (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) the management of process models and instances in the
modeling/monitoring tool; (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ) the impact of semantically dependent activities on the
adaptation of processes; and (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ) the stepwise execution of workflows using a
nonintrusive event model [8].
      </p>
      <p>In this demo, we present an implementation of the Model-as-you-go concepts:
Mayflower, the Model-as-you-go Workflow Developer. Mayflower uses BPEL as
workflow language and is built upon existing BPEL implementations, namely the
Eclipse BPEL Designer5 as modeling tool and the Apache ODE6 as workflow engine.
5 http://eclipse.org/bpel/
6 http://ode.apache.org/
The software makes development and debugging of BPEL workflows easier and
hence can also be used in business scenarios.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Architecture Walkthrough</title>
      <p>
        Mayflower consists of five major parts (Fig. 1): (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) The scientist interacts with the
Eclipse-based Modeling Framework. It consists of the Eclipse BPEL Designer as
workflow editor. We have extended the BPEL Designer with functions to (a) control
workflow execution (run/resume, suspend and terminate), (b) monitor workflow
instances using state information of the workflow engine, (c) adapt the logic and
functions dimensions of running workflows as well as the workflow context (e.g. the
content of variables, activity markings in order to enforce backward loops), (d) manage
different versions of workflow models, (e) specify breakpoints, and (f) track changes
made by the user to fill the provenance record. Further, there are plug-ins to access
and administrate the Resource Manager and the Workflow Engine.
      </p>
      <p>
        (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) The Workflow Engine, an extended Apache ODE, (a) instantiates workflow
models, navigates through the workflow graphs and (b) invokes scientific
computations exposed as Web services. It also contains components to (c) handle process
models and instances (e.g. resume, suspend, terminate), (d) deploy and undeploy
process models, (e) adapt the logic of running workflows, (f) publish execution events,
and (g) access and modify the context of workflow instances.
      </p>
      <p>Model  and  run  
workflows</p>
      <p>Register  servers  
and  services,  load  
simulation  data</p>
      <sec id="sec-2-1">
        <title>Resource  Manager</title>
        <p>a) Simulation   b) Service  
Context Registry</p>
      </sec>
      <sec id="sec-2-2">
        <title>Workflow  Engine</title>
        <p>Check  availability
Find  
service
c) Process  </p>
        <p>Management
d) Deployment
e) Logic  </p>
        <p>Adaptation
f) Event  </p>
        <p>Publisher</p>
        <sec id="sec-2-2-1">
          <title>Scienntitfiifcic   </title>
        </sec>
        <sec id="sec-2-2-2">
          <title>SSccieientific  </title>
        </sec>
      </sec>
      <sec id="sec-2-3">
        <title>Services</title>
        <sec id="sec-2-3-1">
          <title>SSeervrviciceess</title>
          <p>Invoke  
service
b) Integration  </p>
          <p>Layer
a)  Navigator
e
c
a
Iftrbn 
e
e
)hW </p>
        </sec>
      </sec>
      <sec id="sec-2-4">
        <title>Scientists</title>
      </sec>
      <sec id="sec-2-5">
        <title>Modeling  Framework</title>
        <p>a) Execution  </p>
        <p>Control
d) Versioning</p>
      </sec>
      <sec id="sec-2-6">
        <title>Workflow  Editor</title>
        <p>b) Instance  </p>
        <p>Monitor
e) Breakpoint   f) Change  
Registry Tracking
c) Adaptation</p>
      </sec>
      <sec id="sec-2-7">
        <title>Resource  Management  Plug-­‐ins</title>
        <p>g) Server   h) Service   i) Context  
Mgmt. Mgmt. Mgmt.</p>
      </sec>
      <sec id="sec-2-8">
        <title>Workflow  Engine  Plug-­‐ins</title>
        <p>j) Workflow   k) Auditing   l) Breakpoint  </p>
        <p>Mgmt. View View</p>
        <p>
          (
          <xref ref-type="bibr" rid="ref3">3</xref>
          ) The Auditing component stores execution events for workflow instances
published by the engine. This information allows loading the state of all workflow
instances into the instance monitor of the workflow editor, even of those that were not
Deploy,  invoke,  adapt,  suspend,  
        </p>
        <p>resume,  undeploy,  …
Load  
data</p>
      </sec>
      <sec id="sec-2-9">
        <title>Auditing</title>
        <p>
          Publish  
execution   g) Context  
events Access
started by the editor. It also correlates the workflow model in the engine with that in
the modeling framework, since they have different representations and identifiers.
(
          <xref ref-type="bibr" rid="ref4">4</xref>
          ) The Resource Manager (a) offers a logically centralized storage for simulation
data and (b) works as registry for the scientific services that participate in the
simulations and calculations. (
          <xref ref-type="bibr" rid="ref5">5</xref>
          ) The Scientific Services provide the domain-specific logic
that is orchestrated by the scientific workflows running on the workflow engine.
        </p>
        <p>Fig. 2 shows the user interface of Mayflower and some of its components:
1. Workflows can be started, suspended, resumed and terminated via a toolbar
extension.
2. The instance monitor is an extension of the editor pane. Workflow models are
enriched with instance information and the activities are colored according to
their execution state (see the legend in Fig. 2).
3. The process instance state is displayed in the upper left corner of the editor pane.
4. Breakpoints can be specified in the properties of activities via the new debug tab.</p>
        <p>One or more execution events of an activity can be registered as breakpoint.
5. A reached breakpoint is signaled via a highlighted activity.
6. The user can skip the breakpoint with the help of a toolbar function.</p>
        <p>Fig. 2. Screenshot of Mayflower’s Modeling Framework with its main components.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Demonstrated Features</title>
      <p>We demonstrate Mayflower with the help of a use case for the simulation of the
ageing process in copper-alloyed steel, an example of a solid-body simulation. The
simulation computes how the atomic structure of steel changes when being operated over
many years. The atoms exchange their positions and build precipitations or clusters
that negatively influence the material properties (Fig. 3). We have re-engineered the
simulation tool with the help of BPEL and Web services in order to speed up the
simulation runtime through automation of formerly manual tasks and parallelizing
postprocessing steps [9]. The workflow will be the basis for the demonstration.</p>
      <p>The following aspects of Mayflower are shown:
1. Workflow modeling, execution and monitoring. The user can drag activities from
the palette and drop them on the editor pane in order to specify the logic of the
workflow. When a valid workflow model (fragment) is created, the user starts the
workflow and puts in parameter values he is requested for by the tool. Monitoring
of the running workflow starts automatically; the state is displayed by changing
the activities’ color based on workflow execution events.
2. Usage of breakpoints. Breakpoints are specified in the properties of activities.</p>
      <p>Workflow execution is paused when a breakpoint is reached. It is possible in
parallel branches to pause one path while the other path continues.
3. Adaptation and Versioning. Modification of running workflows is experienced by
scientists as workflow modeling: activities can be added, removed, or changed,
while the process instance is already being executed. The changes are propagated
to the engine with versioning and instance migration techniques. Furthermore, the
user can inspect and change variable values and conduct ad hoc backward loops.
4. Ad hoc rerun of activities. The user can jump backwards to an arbitrary activity in
the past of the workflow instance. He can select to compensate already completed
work in the iteration body. As input for the next run of the activities it is possible
to take either the current variable values or variable values that were valid at a
former time step during workflow execution [11].
5. Resource Management. Via the resource manager plug-in the user provides the
servers and scientific services that should be taken for a simulation. He can
monitor the workload in the system by having a look at the number of service requests
and the number of granted service usage tickets. Furthermore, the user can
inspect intermediary results in the simulation context [9].</p>
    </sec>
    <sec id="sec-4">
      <title>Maturity of the Software and Screencast</title>
      <p>The software is a prototypical implementation of the Model-as-you-go concept
developed in the past three years in the scope of our work in the research cluster SimTech7.
A demonstration video of the tool is available online8.</p>
      <p>Acknowledgements. The authors would like to thank the German Research
Foundation (DFG) for financial support of the project within the Cluster of Excellence in
Simulation Technology (EXC 310/1) at the University of Stuttgart.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>G. B.</given-names>
            <surname>Berriman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Deelman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Good</surname>
          </string-name>
          et al.:
          <article-title>Generating Complex Astronomy Workflows</article-title>
          . In: I.
          <string-name>
            <surname>Taylor</surname>
            , E. Deelman,
            <given-names>D. B.</given-names>
          </string-name>
          <string-name>
            <surname>Gannon</surname>
          </string-name>
          , M. Shields (Eds.): Workflows for e-Science. Springer,
          <year>2007</year>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>P.</given-names>
            <surname>Maechling</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Deelman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Zhao</surname>
          </string-name>
          et al.:
          <article-title>SCEC CyberShake Workflows-Automating Probabilistic Seismic Hazard Analysis Calculations</article-title>
          . In: I.
          <string-name>
            <surname>Taylor</surname>
            , E. Deelman,
            <given-names>D. B.</given-names>
          </string-name>
          <string-name>
            <surname>Gannon</surname>
          </string-name>
          , M. Shields (Eds.): Workflows for e-Science. Springer,
          <year>2007</year>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>A.</given-names>
            <surname>Jones</surname>
          </string-name>
          <article-title>: Workflow and Biodiversity e-Science</article-title>
          . In: I.
          <string-name>
            <surname>Taylor</surname>
            , E. Deelman,
            <given-names>D. B.</given-names>
          </string-name>
          <string-name>
            <surname>Gannon</surname>
          </string-name>
          , M. Shields (Eds.): Workflows for e-Science. Springer,
          <year>2007</year>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>M.</given-names>
            <surname>Sonntag</surname>
          </string-name>
          and
          <string-name>
            <surname>D.</surname>
          </string-name>
          <article-title>Karastoyanova: Next Generation Scientific Experimenting Based On the Workflow Technology</article-title>
          .
          <source>Proceedings of the 21st IASTED International Conference on Modeling and Simulation (MS'10)</source>
          ,
          <year>2010</year>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>A.</given-names>
            <surname>Akram</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Meredith</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Allan</surname>
          </string-name>
          <article-title>: Evaluation of BPEL to scientific workflows</article-title>
          .
          <source>In: CCGRID '06: Proc. of the 6th IEEE International Symposium on Cluster Computing and the Grid, IEEE Computer Society</source>
          ,
          <year>2006</year>
          , pp.
          <fpage>269</fpage>
          -
          <lpage>274</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>I.</given-names>
            <surname>Wassink</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ooms</surname>
          </string-name>
          , and P. van der Vet:
          <article-title>Designing workflows on the fly using eBioFlow</article-title>
          .
          <source>Lecture Notes in Computer Science (LNCS)</source>
          , vol.
          <volume>5900</volume>
          ,
          <year>2009</year>
          , pp.
          <fpage>470</fpage>
          -
          <lpage>484</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>G.</given-names>
            <surname>Vossen and M.</surname>
          </string-name>
          <article-title>Weske: The WASA approach to workflow management for scientific applications</article-title>
          . In: Dogac et al. (Eds.):
          <source>Workflow Management Systems and Interoperability</source>
          ,
          <source>NATO ASI Series F: Computer and System Sciences</source>
          , vol.
          <volume>164</volume>
          , Springer-Verlag, Berlin,
          <year>1998</year>
          , pp.
          <fpage>145</fpage>
          -
          <lpage>164</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>O.</given-names>
            <surname>Kopp</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Henke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Karastoyanova</surname>
          </string-name>
          et al.:
          <article-title>An event model for WS-BPEL 2.0</article-title>
          .
          <source>Technical Report No</source>
          .
          <year>2011</year>
          /07, University of Stuttgart, Germany,
          <year>2011</year>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>M.</given-names>
            <surname>Sonntag</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Hotta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Karastoyanova</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Molnar</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Schmauder</surname>
          </string-name>
          :
          <article-title>Using services and service compositions to enable the distributed execution of legacy simulation applications</article-title>
          .
          <source>In: Proceedings of the 4th European Conference ServiceWave</source>
          <year>2011</year>
          , Poznan, Poland,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>D.</given-names>
            <surname>Molnar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Binkele</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Hocker</surname>
          </string-name>
          , and
          <string-name>
            <surname>S.</surname>
          </string-name>
          <article-title>Schmauder: Multiscale modelling of nano tensile tests for different Cu-precipitation states in α-Fe</article-title>
          .
          <source>In: Proceedings of the 5th International Conference on Multiscale Materials Modelling</source>
          , Fraunhofer Verlag,
          <year>2010</year>
          , pp.
          <fpage>235</fpage>
          -
          <lpage>239</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>M.</given-names>
            <surname>Sonntag</surname>
          </string-name>
          and
          <string-name>
            <surname>D.</surname>
          </string-name>
          <article-title>Karastoyanova: Ad hoc Iteration and Re-execution of Activities in Workflows</article-title>
          . In: IARIA (Hrsg):
          <source>International Journal On Advances in Software, ISSN 1942-2628</source>
          , vol.
          <volume>5</volume>
          , no.
          <issue>1</issue>
          &amp;
          <issue>2</issue>
          ,
          <string-name>
            <given-names>Xpert</given-names>
            <surname>Publishing</surname>
          </string-name>
          <string-name>
            <surname>Services</surname>
          </string-name>
          ,
          <year>2012</year>
          , pp.
          <fpage>91</fpage>
          -
          <lpage>109</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>