<!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>CPEE - Cloud Process Execution Engine</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Juergen Mangler?</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Stefanie Rinderle-Ma</string-name>
          <email>stefanie.rinderle-mag@univie.ac.at</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Vienna, Faculty of Computer Science, Research Group Work ow Systems and Technology</institution>
          ,
          <addr-line>Vienna</addr-line>
          ,
          <country country="AT">Austria</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Cloud-Enabled BPM Platforms are becoming important corner-stones in allowing IT leaders to extend their cloud strategy to cover business processes and their execution. While the hopes are high, software providers approach the hype with rather traditional tools, that expose well-known BPM solutions as SaaS and combine them with ever more re ned analysis and monitoring tools. This demonstration will highlight experiences and considerations how to design a cloud based BPM platform that can truly serve as a launchpad for future innovation. The Cloud Process Execution Engine (CPEE) is an open source versatile cloud based BPM platform, that has been in development for over six years, and has been used in several national and international projects.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        The architecture and principles of how to build BPM Solutions so far appear
to be quite untouched by the hype, and basically are still based on Work ow
Management Coalition (WfMC) considerations [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Innovations like the advent
of better modeling languages (BPMN), adaptive processes and evolution [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ],
uni ed process constraint management [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], or inter-instance/process
synchronization [
        <xref ref-type="bibr" rid="ref5 ref6 ref9">9,5,6</xref>
        ] are being slowly built into the rather monolithic cores of these
products. Sometimes (e.g. in the case of BPMN) they even spawn new process
engines4 that try to directly support a particular feature.
      </p>
      <p>http://cpee.org</p>
      <p>With the Cloud Process Execution, we try to transparently evolve the
architecture and exibility of BPM by analyzing how the following questions a ect
established BPM principles:
1. How to support multiple or custom modeling languages with custom
execution semantics, or special purpose modeling tools (e.g. for doctors to describe
patient treatments)?
2. How to support script tasks in multiple or custom languages (e.g. javascript,
java, go, swift)?
3. How to build an execution environment that supports horizontal scalability
(millions of instances on distributed nodes)?
4. How to adapt monitoring to di erent situations: from processes that
orchestrate the monitoring of sensor networks to environments with speci c
security requirements.
5. How to support process execution shaping: the ability for custom logic to
delay tasks (e.g. for synchronization purposes) or repair running process
instances (i.e. self-healing beyond exceptions by modifying the model)?
6. How to migrate process instances at runtime between nodes/engines?
7. How to enforce process constraints that cover aspects of the process
structure, runtime (e.g. separation/binding of duty), or the Worklist (assignment
rules).
8. How to create custom Worklists, and integrate them in various SaaS settings
(e.g. customer vs. vendor point of view).
9. How to implement custom optimization and simulation capabilities, that e.g.</p>
      <p>forecast process properties based on partners business intelligence solutions.
4 e.g. http://www.activiti.org/</p>
      <p>Allowing to customize all these aspects of BPM is well beyond the state of the
art of existing single (commercial or academic) process management solutions.
With the Cloud Process Execution Engine we tried to carefully design a robust
toolkit, to build cloud based BPM solutions. The goal was to solve the questions
above as well as questions that may arise in the future, through a minimal
eventbased RESTful web interface. We fully explore the concept of message based
systems, to allow (per instance) for custom monitors, process models in di erent
languages5, and runtime execution analysis that can intervene and shape the
execution.</p>
      <p>While the above mentioned aspects are very important for researchers to be
able to quickly explore new ideas and concepts without the burden of customizing
and extending existing complex BPM infrastructure, the same properties also
proved to be very usable for rapid innovation in applied / business settings.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Maturity and Signi cance to the BPM Field</title>
      <p>The CPEE is a mature piece of software that has been or is actively used (in
conjunction with companies) in (among others) the following projects:
ADVENTURE FP7-ICT project (Grant agreement no. 285220), with a
multi-national consortium including several SME's and research
partners. The project deals with virtual factories in the manufacturing
domain.</p>
      <p>Adaptive Care Planning project, funded by the Austrian Research
Promotion Agency (FFG), in conjunction with a Care Center of elder people
(P egezentrum Pottenbrunn GmbH). The project deals with introducing
higly custom and adaptive patient processes into the medical domain.
C3Pro project, co-funded by the Austrian Science Fund FWF (lead
agency, project number I743) and the German Research Foundation
DFG. The project deals with change propagation in process
choreographies.</p>
      <p>
        Furthermore the CPEE is heavily used in teaching master courses at the
University of Vienna. The sustainability of the core concepts have been evaluated
[
        <xref ref-type="bibr" rid="ref10 ref7">7,10</xref>
        ] and proved through an independent third party engine implementation [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Screencasts, Documentation</title>
      <p>The Cloud Process Execution Engine, including a working demo for creating
simple processes that access REST and SOAP services, as well as a multitude
of screencasts can be found at:
5 e.g. BPEL, BPMN2, custom languages; this includes the exploration of di erent
execution semantics, e.g. for pure modelling languages</p>
      <p>Based on the on-line usable prototype a multitude of concepts can be tested:
{ Rule-based inter-instance synchronization, enacted by a rule engine that
listens to events emitted during execution, calculates optimal queues and
transparently delays the execution of single tasks.
{ Custom Worklists.
{ Support for di erent process models / languages.
{ Support for di erent protocols, like Advanced Message Queuing Protocol
(AMQP, the basis for advanced Enterprise Service Buses), Extensible
Messaging and Presence Protocol (XMPP) and HTTP, for accessing all aspects
of the process engine itself (creating new instances, monitoring, calling
services through tasks).
{ Monitoring the process engine through client side javascript applications.
{ Runtime adaptation of process instances.</p>
    </sec>
    <sec id="sec-4">
      <title>Acknowledgements</title>
      <p>This work was partially supported by the Commission of the European Union
within the ADVENTURE FP7-ICT project (Grant agreement no. 285220).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Dadam</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reichert</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rinderle</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jurisch</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Acker</surname>
            , H., Goser,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kreher</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lauer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Towards truly exible and adaptive Process-Aware information systems</article-title>
          .
          <source>In: Int'l Conference UNISCON</source>
          . p.
          <volume>72</volume>
          {
          <issue>83</issue>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. Gartner:
          <article-title>Cloud computing (</article-title>
          <year>2010</year>
          ), http://www.gartner.com/it/products/ research/cloud_computing/cloud_computing.jsp, [Last accessed:
          <volume>17</volume>
          .
          <fpage>03</fpage>
          .
          <year>2010</year>
          ]
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Hollingsworth</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Work ow management coalition: The work ow reference model</article-title>
          .
          <source>Document Number TC00-1003, Document Status - Issue</source>
          <volume>1</volume>
          .1,
          <string-name>
            <given-names>Workow</given-names>
            <surname>Management Coalition</surname>
          </string-name>
          (
          <year>1995</year>
          ), http://www.wfmc.org/Download-document/
          <fpage>TC00</fpage>
          -103-Interface-4
          <string-name>
            <surname>-Workflow-InteroperabilityThe-Workflow-</surname>
          </string-name>
          Reference-Model. html
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Kissinger</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Implementation of a modern work ow engine using erlang (</article-title>
          <year>2012</year>
          ), http://www.impactsoftwarelabs.com/wee/Implementation%20of%
          <article-title>20a%20Modern%20Workflow%20Engine</article-title>
          .pdf
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Leitner</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mangler</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , Rinderle-Ma, S.:
          <article-title>De nition and enactment of instancespanning process constraints</article-title>
          . In: Wang,
          <string-name>
            <given-names>X.S.</given-names>
            ,
            <surname>Cruz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            ,
            <surname>Delis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Huang</surname>
          </string-name>
          ,
          <string-name>
            <surname>G</surname>
          </string-name>
          . (eds.)
          <source>Web Information Systems Engineering - WISE</source>
          <year>2012</year>
          , pp.
          <volume>652</volume>
          {
          <fpage>658</fpage>
          . Lecture Notes in Computer Science, Springer Berlin Heidelberg (Jan
          <year>2012</year>
          ), http: //link.springer.com/chapter/10.1007/978-3-
          <fpage>642</fpage>
          -35063-4_
          <fpage>49</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Mangler</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , Rinderle-Ma, S.:
          <article-title>Rule-based synchronization of process activities</article-title>
          .
          <source>In: 2011 IEEE 13th Conference on Commerce and Enterprise Computing (CEC)</source>
          . pp.
          <volume>121</volume>
          {
          <fpage>128</fpage>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (Sep
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Mangler</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stuermer</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schikuta</surname>
          </string-name>
          , E.:
          <article-title>Cloud process execution engine-evaluation of the core concepts</article-title>
          .
          <source>Arxiv preprint arXiv:1003.3330</source>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Mangler</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , Rinderle-Ma,
          <string-name>
            <surname>S.:</surname>
          </string-name>
          <article-title>IUPC: identi cation and uni cation of process constraints</article-title>
          .
          <source>Tech. rep. (Apr</source>
          <year>2011</year>
          ), http://arxiv.org/abs/1104.3609
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Rinderle-Ma</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mangler</surname>
          </string-name>
          , J.:
          <article-title>Integration of process constraints from heterogeneous sources in process-aware information systems</article-title>
          .
          <source>In: Int'l Workshop Enterprise Modelling and Information Systems</source>
          Architectures - EMISA
          <year>2011</year>
          .
          <article-title>LNI, GI (</article-title>
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Sturmer</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mangler</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schikuta</surname>
          </string-name>
          , E.:
          <article-title>Building a modular service oriented workow engine</article-title>
          .
          <source>In: Service-Oriented Computing and Applications (SOCA'09)</source>
          , IEEE International Conference on. p.
          <volume>1</volume>
          {
          <issue>4</issue>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>