<!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>DECLARE Demo: A Constraint-based Workflow Management System</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Maja Pesic</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Helen M. Schonenberg</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Wil van der Aalst</string-name>
          <email>w.m.p.v.d.aalst@tue.nl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Mathematics and Computer Science, Eindhoven University of Technology</institution>
          ,
          <addr-line>P.O. Box 513, NL-5600 MB</addr-line>
          ,
          <country country="NL">The Netherlands</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Mainstream workflow management systems are using procedural languages ranging from BPMN and EPCs to BPEL and YAWL. By demonstrating DECLARE, we will show that it is also possible to use a fundamentally different approach based on constraints. DECLARE allows for multiple constraint-based languages whose semantics are grounded in Linear Temporal Logic (LTL). The DECLARE system provides a broad range of functionalities ranging from design, enactment and dynamic change to verification, discovery and recommendation. This demo presents the main functionalities of DECLARE and is intended for both researchers and practitioners interested in innovative BPM solutions for processes that require flexibility.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Designer</title>
      <p>E constraint templates
AR organizational structure
LEC cmoondsetrlavinetrimficoadtieolns
D</p>
    </sec>
    <sec id="sec-2">
      <title>Framework</title>
      <p>instance enactment
instance dynamic change
constraint templates
constraint models</p>
    </sec>
    <sec id="sec-3">
      <title>Worklist</title>
      <p>instance execution
.
.</p>
      <p>.</p>
      <p>Worklist
instance execution
user
uses his/her Worklist component to access active instances and execute their
tasks. DECLARE is a Java desktop application and is distributed under terms
of the GNU General Public License. There is also a tight coupling between
DECLARE and ProM2 allowing for innovative forms of analysis and support, e.g.,
recommending particular process paths based on historic information.</p>
      <p>
        DECLARE is significant and innovative in the BPM field because it uses a
declarative constraint-based approach instead of the procedural one. In
particular, DECLARE illustrates how declarative approaches can indeed be used to
realize more flexible BPM solutions, while providing for various types of
support [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. However, the constraint-based approach (and DECLARE) is suitable
for smaller business processes: using this approach for complex processes
significantly reduces the efficiency and usability of the tool .
2
      </p>
      <sec id="sec-3-1">
        <title>Main Functionalities</title>
        <p>This demo presents the five main functionalities of DECLARE.</p>
        <p>First, constraint templates are created on the system level as types of
constraints. Figure 2 shows that a template is graphically represented as a special
line between tasks. The formal specification of the template is given as a Linear
Temporal Logic formula.
2 http://prom.win.tue.nl/research/wiki/</p>
        <p>Fig. 2. Creating the response template
(a) creating a constraint model</p>
        <p>(b) executing a constraint model</p>
        <p>Second, constraint models are created by adding tasks and using constraint
templates to create constraints between tasks. Figure 3(a) shows a model with
tasks curse, pray, bless and become holy, and two constraints. Constraint response
specifies that every time one curses, one has to eventually pray afterwards.
Constraint 1..* specifies that one has to pray at least once. Third, Figure 3(b) shows
how a model from Figure 3(a) is executed in the Worklist. The whole model is
shown to the user, tasks are executed by double-clicking, and states of constraints
are presented via special colors: red for satisfied, orange for temporarily violated
(not satisfied at the moment, but can become satisfied in the future) and red for
permanently violated (not satisfied at the moment, and cannot become satisfied
in the future).
(b) verification report
(a) a model with an error</p>
        <p>Fig. 4. Verifying constraint models
(a) adding a constraint dynamically
(b) dynamic change report</p>
        <p>Fourth, Figure 4(b) shows how our verification procedure detects an error
in the model model shown in Figure 4(a): task curse is dead. This is due to
constraints not co-existence between tasks curse and become holy, which specifies
that one cannot both curse and become holy, and 1..* on task become holy, which
specifies that one must become holy at lest once.</p>
        <p>Finally, Figure 5(a) illustrates the support for dynamic changes in
DECLARE. Constraint precedence between tasks pray and become holy is added
to all current and future instance of the model. Because this constraint requires
that one must pray before one becomes holy, and task become holy has already
been executed before task pray in instance number 4, this change is applied to
all active instances except the instance number 4 (cf. Figure 5(b)).
3</p>
      </sec>
      <sec id="sec-3-2">
        <title>Conclusions</title>
        <p>DECLARE is a fully functional constraint-based WFMS, and it allows for
creating, verifying, executing and dynamically changing constraint-based process
models. DECLARE proves that a declarative approach can be applied to WFM,
which makes WFMSs more flexible.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>W.M.P. van der Aalst</surname>
            , M. Pesic, and
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Schonenberg</surname>
          </string-name>
          .
          <article-title>Declarative workflows: Balancing between flexibility and support</article-title>
          .
          <source>Computer Science - Research and Development</source>
          ,
          <volume>23</volume>
          (
          <issue>2</issue>
          ):
          <fpage>99</fpage>
          -
          <lpage>113</lpage>
          , May
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>M.</given-names>
            <surname>Pesic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.H.</given-names>
            <surname>Schonenberg</surname>
          </string-name>
          , and
          <string-name>
            <surname>W.M.P. van der Aalst. DECLARE</surname>
          </string-name>
          :
          <article-title>Full Support for Loosely-Structured Processes</article-title>
          .
          <source>In Proceedings of the 11th IEEE International Enterprise Distributed Object Computing Conference (EDOC)</source>
          , pages
          <fpage>287</fpage>
          -
          <lpage>298</lpage>
          , Washington, DC, USA,
          <year>2007</year>
          . IEEE Computer Society.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>