<!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>On Designing a People-oriented Constraint-based Work ow Language?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Frank Leymann</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Tobias Unger</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sebastian Wagner</string-name>
          <email>wagnerg@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, Universitatsstra e 38</institution>
          ,
          <addr-line>70569 Stuttgart</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The control- ow of business work ows is characterized by the strict execution order of the activities that is already de ned at design time. This well-structured control- ow is for instance absolutely necessary if the work ows have to be performed fully automatically. However, this rigidity is not always appropriate for people-oriented work ows. Especially in scenarios where real world processes are only semi-structured humans should have more freedom to decide in which order they want to perform the activities. In this paper, we suggest an approach to design peopleoriented work ows via constraints to make them more exible.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Many work ow languages address the importance of human interactions (e.g.
BPEL [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] with the BPEL4People [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] extension) by providing means to model
human activities (in the following called tasks). They also address issues like
the assignment of people to tasks. Nevertheless, they do not take the
controlow of a business process with human interaction into consideration. Especially
work ows that consist solely of activities that are performed by humans (called
people-oriented work ows in this paper) should be more exible than automated
business work ows to give them more freedom to decide in which order they want
to perform certain tasks. In the following, we propose a declarative approach of
modeling people-oriented work ows. We suggest di erent classes of constraints
to model them. This also encompasses constraints that cover scenarios where
people have to collaborate. Additionally, techniques are sketched to validate
the work ow models and to verify that the constraints are met during work ow
execution.
As mentioned before, people-oriented work ows should not be as strict as
automated business work ows because the human factor makes them more di cult to
? This work is partially funded by the ALLOW project. ALLOW
(http://www.allow-project.eu/) is part of the EU 7th Framework Programme
(contract no. FP7-213339).
predict. Of course, also these work ows have to re ect real-world constraints (e.g.
a customer can only be charged after she bought a certain product). However,
each human has his own preferred way to work. They are also skilled in scheduling
tasks [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], which allows us to relax the model of a work ow. Moreover, humans
are aware of their environment. In a classical work ow the execution of the whole
work ow is interrupted when resources are missing to execute a certain task. The
person who has to perform the task is idle, even if she knows that she possesses
all information to perform one or more of the succeeding tasks. This lack of
exibility can decrease the productivity of humans and lead to the fact that they
reject a work ow model.
3
      </p>
    </sec>
    <sec id="sec-2">
      <title>Declarative Work ows</title>
      <p>
        Our approach to overcome the rigidity of imperative work ows are declarative
work ows [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. In this modeling paradigm a work ow is de ned by using constraints
that specify what must be done or which conditions must be satis ed during the
execution of the work ow. These constraints approximate the desired behavior
of the work ow. Any execution order of tasks is allowed as long as it does not
violate one of the constraints. This results in the fact, that the user has much
more freedom to decide in which order she wants to perform the tasks.
      </p>
      <p>Before discussing the di erent constraints that we have identi ed, a simple
example is presented that shows the bene ts of modeling a work ow by using
the declarative approach. A travel agency provides a work ow where customers
can book a trip. The imperative version of the work ow consists of the three
consecutive task models Book Flight, Book Hotel and Pay. This implies, that
the customer has to perform the tasks in this prede ned order. A disadvantage
of the strict execution order is for instance that the customer can not book the
hotel rst if she only plans to y if her favorite hotel has free rooms available.
With the declarative approach this could be modeled much less restrictive. It
would contain only one constraint that ensures that the task Pay is the last
task that is executed. The execution order of the other two tasks is not modeled.
Consequently, the customer can decide if she books the hotel or the ight rst.
3.1</p>
      <p>
        Constraints
This section gives a brief overview about control- ow constraints that can be
used along with task models to design a people-oriented work ow. A more
comprehensive description of the constraints can be found in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>
        On each constraint a so-called activation condition can be de ned to support
scenarios where constraints should be only enabled when a certain condition
holds (e.g. when a process variable has a speci c value). If the condition is met
the constraint has to be satis ed during work ow execution. Otherwise, the
constraint is not enabled and it is ignored. A similar approach is described in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>
        Unary constraints: In [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] several constraints were introduced that can be
de ned on a single task model, they are called unary constraints here. An example
for these unary constraints is the existence constraint. It de nes a lower and/or
upper bound concerning the number of instances of a task model that must be
executed. We extend this class by the disable constraint. If the disable constraint
is de ned on a task model no instances of this task model must be executed. The
usage of this constraint makes only sense if an activation condition was de ned
on it. This prevents the execution of a task until the activation condition does
not hold anymore.
      </p>
      <p>
        Choice constraints: Another class of constraints suggested in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] are the
choice constraints. These constraints are used to specify that from a given set of
task models a certain subset has to be chosen for instantiation and execution. If
the constraint de nes for instance that 2 instances from the set of task models
fA; B; Cg have to be executed, one of the subsets fA; Bg, fA; Cg, fB; Cg of task
models must be chosen for execution. However, the choice constraint de nes
only a lower bound concerning the size of the subsets, i.e. the execution of the
task models fA; B; Cg is also valid. A more restrictive version is the exclusive
choice constraint that was also introduced in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. When using this constraint the
lower bound acts additionally as upper bound for the size of subsets of di erent
task models that can be chosen for execution. If this constraint de nes that 2
instances of the task models A, B and C must be performed, the instantiation and
execution of the task model set fA; B; Cg is not permitted. A customer of an
online book store has for instance the possibility to pay either by credit card,
debit card or wireless transfer (each payment method is represented by a task
model). To ensure that exactly one payment method is used an exclusive choice
has to be de ned that speci es that only one task model from the set of task
models can be instantiated and performed.
      </p>
      <p>
        Relation constraints: The class of relation constraints de nes the execution
order of the instances of two task models. In [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] several sequential relation
constraints are described. They can be used to restrict the sequential execution
order of two tasks. The A precedence B constraint is an example for these kind
of constraints. It imposes the restriction that an instance of a task model A has
always to be executed before an instance of task model B.
      </p>
      <p>
        However, with sequential relation constraints it is not possible to model the
requirement that two tasks must be performed exactly or at least partly at the
same time. These kind of requirements usually emerge through collaborative work,
i.e. for achieving a certain goal several tasks have to be executed simultaneously
and each of them is performed by a di erent person. For instance when the pair
programming technique is applied to develop software, one programmer writes
the code (task A) and the other one has to review the typed code (task B )
simultaneously. We introduce parallel relation constraints to model these kind
of restrictions. Each of these constraints can be used to determine the degree
of simultaneous execution (e.g. partly or completely). The constraints base on
the interval relations of Allen's interval algebra [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] (brie y called IA). The IA
was chosen because rstly, the interval relations proposed there cover all possible
parallel relations between two intervals and secondly, algorithms exist for this
algebra to verify that interval relations are consistent. An example for these kind
of constraints is the A during B constraint which de nes that task A has to
be started and completed during the execution of task B. To realize the pair
programming example an equals constraint has to be de ned between the task
models Review and Write Code.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] the relation constraints are extended by time parameters. These time
parameters can be used to re ect temporal restrictions between the tasks (e.g.
that a task has to be executed within a certain time after its predecessor task
was completed). Furthermore, for each relation constraint also a corresponding
negation constraint exists. These constraints provide the capability to prohibit a
certain execution order. The negation constraints are also described in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
4
      </p>
    </sec>
    <sec id="sec-3">
      <title>Work ow</title>
    </sec>
    <sec id="sec-4">
      <title>Model Validation</title>
      <p>
        When creating a declarative work ow model contradictions between the
constraints can emerge that are hard to discover at the rst glance. This is especially
true if many relation constraints were de ned. To validate the consistency of the
relation constraints we follow an approach similar to the one suggested in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
The relation constraints are transformed to interval relations of the IA and each
task model is represented by an interval. The di erent relations between the
intervals form a constraint network like the one that is illustrated in Figure 1.
On the constraint network reasoning techniques that were introduced in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] and
in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] are performed. These reasoning techniques infer new relations between all
intervals and discover contradictions between them. For instance in Figure 1, it
can be inferred from the relations \C has to be executed during the execution
of B" and \B has to be executed before D" that C must be executed before D.
Moreover, it can be also inferred that a contradiction exists in the network since
A can not be performed after D but before B.
      </p>
      <p>A</p>
      <p>{before}
{after}</p>
      <p>B
D
{during}</p>
      <p>
        C
{before}
During the execution of a work ow instance the work ow engine has to verify
that all constraints are met. For the unary and choice constraints this can be
done very easily. To check if the relation constraints were met we utilize the
constraint networks introduced in section 4. Since a network contains the interval
relations that must hold between all pairs of tasks the engine can determine if
a violation has occurred. If for instance task C in Figure 1 is not performed
during the execution of task B the work ow is obviously violated. To reduce
these violations the engine should actively decide which tasks can be started by
the user. Based on the example before, the engine would not schedule task C for
execution when task B is not executed. In [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] more detailed information about
the work ow instance veri cation is provided.
      </p>
      <p>
        The possible constraint violations have to be also re ected by the the lifecycle
model of a declarative work ow. In Figure 2 an extended lifecycle model for
declarative work ows is proposed. It bases on the lifecycle for imperative work ows
that is suggested in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. For the sake of shortness, only the states are discussed
that are di erent from those described in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Here, the running state consists of
the two substates satis ed and temporarily violated (these states are inspired by
the constraint states proposed in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]). A work ow instance is in the state running
satis ed if the work ow is running and no constraints are violated. If a constraint
is violated but the violation is still resolvable (e.g. by executing another task)
the work ow is put into the temporarily violated state. An instance transitions
into the violated state if it is permanently violated, i.e. if a constraint violation
can not be resolved. In this state the work ow execution is interrupted and a
process stakeholder can either stop the work ow or, if possible, perform corrective
actions (e.g undo a task execution). As declarative work ows are not modeled
by a directed acyclic graph there are no end-tasks that cause the work ow to
be completed. Hence, declarative work ows have to be completed explicitly by
an authorized user. As soon as the request to complete the work ow has been
received it is put into the completing state. In this state no new tasks can be
started anymore and all running tasks have to be completed. Since there is still
the chance that constraints are violated during the completion of the work ow it
can also transition into the violated state instead of the completed state.
6
      </p>
    </sec>
    <sec id="sec-5">
      <title>Related Work</title>
      <p>
        In [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] and [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] a declarative approach for modeling and executing work ows
is discussed. There is also a declarative work ow management system presented
which is called Declare. As mentioned in 3.1, we extend the constraints proposed
in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] by time parameters to add support for temporal restrictions.
      </p>
      <p>
        To provide a more exible way for executing work ows in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] a paradigm
called case handling is proposed. The central concept behind this paradigm is
the case which denotes a product that is created during the process execution
(e.g. a document). A case consists of di erent data objects. The data objects are
linked to one or more activities and an activity can be only started when its data
objects are present. This means, that not control- ow related information drive
the process but the state of the case, i.e. the existence of data objects. In this
approach the user is focused on the whole case and not only on one activity like
in traditional work ows.
      </p>
      <p>Created
Running</p>
      <p>Satisfied
Temporarily</p>
      <p>Violated
Suspended</p>
      <p>Completing</p>
      <p>Completed
Violated</p>
      <p>Deleted
Terminating</p>
      <p>Terminated</p>
      <p>
        BPEL4People [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] adds support for human interactions to BPEL. It extends
BPEL by introducing people activities to enable human interactions with the
BPEL process. It focuses on human interaction patterns, like the 4-eyes principle,
escalation handling and nominations. The people activities are implemented
by human tasks that are de ned in the WS-HumanTask speci cation [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. The
concept of human tasks that is described there covers the most important aspects
of human activities and could be used in conjunction with the constraints to
model people-oriented work ows. In [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] an approach is presented that shows how
this can be done.
7
      </p>
    </sec>
    <sec id="sec-6">
      <title>Conclusion &amp; Future Work</title>
      <p>In this paper, we proposed a constraint-based language for modeling
peopleoriented work ows because the imperative paradigm tends to overspecify
workows and to be to restrictive. We introduced constraint networks to validate the
consistency of these work ow models and to verify that the constraints were met
during work ow execution.</p>
      <p>A downside of the declarative approach is that these work ows are more
di cult to understand by people because unlike in imperative work ows there is
no directed graph that connects the di erent tasks. This is especially true when
the work ow contains a lot of tasks and constraints. On the one hand, it is more
sophisticated to observe the overall progress of a running work ow instance and
on the other hand, it can be challenging to comprehend the transitive e ects of
the constraints. In future work, we plan to develop a proper visualization for the
declarative work ows to make them more understandable for the end-users.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. OASIS:
          <article-title>Web Services Business Process Execution Language Version 2.0. Committee speci cation, OASIS WSBPEL TC</article-title>
          (
          <year>January 2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. OASIS:
          <article-title>WS-BPEL Extension for People Speci cation Version 1</article-title>
          .1,
          <string-name>
            <surname>Committee</surname>
            <given-names>Draft</given-names>
          </string-name>
          06. (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Card</surname>
            ,
            <given-names>S.K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Newell</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moran</surname>
            ,
            <given-names>T.P.:</given-names>
          </string-name>
          <article-title>The Psychology of Human-Computer Interaction</article-title>
          . L. Erlbaum Associates Inc., Hillsdale, NJ, USA (
          <year>1983</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>van der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pesic</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schonenberg</surname>
          </string-name>
          , H.:
          <article-title>Declarative work ows: Balancing between exibility and support</article-title>
          .
          <source>Computer Science - R&amp;D</source>
          <volume>23</volume>
          (
          <issue>2</issue>
          ) (
          <year>2009</year>
          )
          <volume>99</volume>
          {
          <fpage>113</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Wagner</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>A Concept of Human-oriented Work ows</article-title>
          .
          <source>Diploma thesis</source>
          , University of Stuttgart, Germany (
          <year>January 2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Pesic</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>Constraint-Based Work ow Management Systems: Shifting Control to Users</article-title>
          .
          <source>PhD thesis</source>
          , Eindhoven University of Technology (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Allen</surname>
            ,
            <given-names>J.F.</given-names>
          </string-name>
          :
          <article-title>Maintaining knowledge about temporal intervals</article-title>
          .
          <source>Commun. ACM</source>
          <volume>26</volume>
          (
          <issue>11</issue>
          ) (
          <year>1983</year>
          )
          <volume>832</volume>
          {
          <fpage>843</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Lu</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sadiq</surname>
            ,
            <given-names>S.W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Padmanabhan</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Governatori</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          :
          <article-title>Using a temporal constraint network for business process execution</article-title>
          . In Dobbie, G.,
          <string-name>
            <surname>Bailey</surname>
          </string-name>
          , J., eds.
          <source>: ADC</source>
          . Volume
          <volume>49</volume>
          of CRPIT.,
          <source>Australian Computer Society</source>
          (
          <year>2006</year>
          )
          <volume>157</volume>
          {
          <fpage>166</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Vilain</surname>
            ,
            <given-names>M.B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kautz</surname>
            ,
            <given-names>H.A.</given-names>
          </string-name>
          :
          <article-title>Constraint propagation algorithms for temporal reasoning</article-title>
          . In: AAAI. (
          <year>1986</year>
          )
          <volume>377</volume>
          {
          <fpage>382</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Leymann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Roller</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Production Work ow - Concepts and Techniques</article-title>
          .
          <source>PTR Prentice Hall (Januar</source>
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Pesic</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schonenberg</surname>
            ,
            <given-names>M.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sidorova</surname>
          </string-name>
          , N.,
          <string-name>
            <surname>van der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          :
          <article-title>Constraintbased work ow models: Change made easy</article-title>
          .
          <source>In: OTM Conferences (1)</source>
          . (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>van der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weske</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , Grunbauer, D.:
          <article-title>Case handling: a new paradigm for business process support</article-title>
          .
          <source>Data Knowl. Eng</source>
          .
          <volume>53</volume>
          (
          <issue>2</issue>
          ) (
          <year>2005</year>
          )
          <volume>129</volume>
          {
          <fpage>162</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <source>OASIS: Web Services Human Task Speci cation Version 1</source>
          .1,
          <string-name>
            <surname>Committee</surname>
            <given-names>Draft</given-names>
          </string-name>
          06. (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>