<!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>Supporting the Work ow Management System Development Process with YAWL</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>R.S. Mans</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>W.M.P. van der Aalst</string-name>
          <email>w.m.p.v.d.aalstg@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, Eindhoven</addr-line>
          ,
          <country country="NL">The Netherlands</country>
        </aff>
      </contrib-group>
      <fpage>33</fpage>
      <lpage>40</lpage>
      <abstract>
        <p>In order to address particular needs from the healthcare domain, the open-source YAWL Work ow Management System (WfMS) has been extended with features for scheduling support and inter-work ow support, the YAWL4Healthcare WfMS. As part of this undertaking, a WfMS development approach has been followed in which the same conceptual model is used for specifying, developing, testing, and validating the operational performance of a new system. In this paper, we elaborate on the features of YAWL that were essential for realizing our development approach.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>Nowadays, hospitals are investigating the introduction of a Work ow
Management System (WfMS) in order to support their care processes. However, due to
the complex nature of healthcare processes, these systems need to be enriched
with additional functionality. Furthermore, the introduction of new technology
requires a seamless integration with running operational processes and no
unexpected break-downs may occur.</p>
      <p>For ensuring above mentioned aspects, as shown at the bottom of Figure 1,
we propose a WfMS development approach consisting of ve phases. First, in
the requirements phase, the required functionalities are identi ed. Second, during
the design phase, a conceptual model is developed which is a formal, complete,
and executable speci cation of the WfMS to be developed. Subsequently, the
WfMS is developed in the implementation phase. Finally, during the testing and
simulation phase, the conceptual model and the operational WfMS are used to
both test and validate the operational performance of the WfMS.</p>
      <p>
        The conceptual model has been de ned in terms of a Colored Petri Net
(CPN) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. CPNs provide a well-established and well-proven formal language
suitable for describing the behavior of systems exhibiting characteristics such
as concurrency, resource sharing, and synchronization. Moreover, we can use
CPN Tools for speci cation, veri cation, and simulation. As concrete WfMS,
the open-source YAWL WfMS [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] has been used. In this paper, we focus on the
role of YAWL in the WfMS development approach. That is, we elaborate on the
speci c features of YAWL that were essential for realizing our approach.
Application
of workflow
technology
      </p>
      <p>WfMS
development
process</p>
      <sec id="sec-1-1">
        <title>AS-IS Current</title>
        <p>Problem functionality
YAWL
Workflow</p>
        <p>Engine
A</p>
        <p>B
A</p>
        <p>B
Resource
Service
X
A</p>
        <p>B
X</p>
        <p>Worklet</p>
        <p>Service
Requirements
phase
A</p>
        <p>B
Resource
Service
Design
phase</p>
        <p>Inter-Workflow Service
YAWL
Workflow</p>
        <p>Engine
A</p>
        <p>B</p>
        <p>X
A</p>
        <p>Worklet</p>
        <sec id="sec-1-1-1">
          <title>X Service</title>
          <p>TO-BE
Solution
Java
application
Interaction</p>
        </sec>
        <sec id="sec-1-1-2">
          <title>B DeEfdinitiotiron</title>
          <p>Workflow</p>
          <p>Client
Application</p>
          <p>B
1A</p>
          <p>1B</p>
          <p>B
Adaptor
(Axis 2
service)
Outlook
2003
clients</p>
          <p>WfMS: YAWL
Implementation
phase</p>
          <p>Testing
phase</p>
          <p>Current +
additional functionality
YAWL
custom B
service
Interaction
Service
3
2</p>
          <p>Scheduling
service
Axis 2 service</p>
          <p>4 Calendars
Java interface
4
Microsoft
Exchange
Server 2007</p>
          <p>Simulation
phase (operational</p>
          <p>performance)</p>
          <p>Conceptual model: Colored Petri Nets</p>
          <p>
            When applying the development approach, in the requirements phase it has
been identi ed that for optimally supporting healthcare processes, WfMSs need
to be extended with facilities for both scheduling support and inter-work ow
support [
            <xref ref-type="bibr" rid="ref4">4</xref>
            ]. Based on the conceptual CPN model de ned in the design phase,
YAWL has been extended with the aforementioned two facilities resulting in the
YAWL4Healthcare system and which is discussed in Section 2. Next, in Section 3
we elaborate on the testing and simulation phase in which YAWL4Healthcare is
both tested and validated. Finally, we conclude in Section 4.
2
          </p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>Scheduling Support and Inter-Work ow Support</title>
      <p>YAWL4Healthcare o ers both scheduling support and inter-work ow support.
In this section, both facilities are discussed in detail and it is indicated which
features of YAWL were essential for realizing them.</p>
      <p>With regard to scheduling support, instead of only o ering a workitem to
a user via a worklist, it also needs to be possible to make an appointment for
a workitem. This appointment has a speci c duration and only appears in the
calendars of these users that are involved in the execution of the workitem. The
main scheduling features will be illustrated using a small scenario. The process
de nition speci ed in the YAWL editor can be seen in Figure 2a. The \physical
examination" and \consultation" tasks are annotated with a calendar icon as for
both an appointment is needed. Moreover, they are called schedule tasks. Via the
\extended attributes" feature of the editor, additional attributes are de ned for
them. These attributes are also illustrated in Figure 2a in which for the \physical
examination" it is de ned that the presence of the patient is required during
a) Defining a model in the YAWL editor. For tasks annotated with a calendar icon an appointment is needed whereas for
tasks annotated with a single person icon this is not needed.
b) The details for the ‘physical examination’ task are defined via the extended attributes feature of the editor.
c) State of the calendars after scheduling. The calendars of assistant ‘Jane’, assistant ‘Fred’, doctor ‘Marc’, doctor ‘Nick’,
and patient ‘John’ are shown respectively. When scheduling the availability of resources is taken into account.
the appointment (caseResource), the average duration of the appointment is 30
minutes (duration), an assistant and a nurse are required during the appointment
(roles), and the task is a schedule task (type). The tasks for which workitems
need to be o ered via a worktray are called ow tasks and are indicated by a
person icon. Also, for this kind of task, additional information is de ned via the
\extended attributes" feature of the editor (e.g. the average duration).</p>
      <p>Once an instance of a process is started, appointments are automatically
booked in the calendars of these persons that are involved in the execution of
a schedule task. This is shown in Figure 2b in which an appointment is booked
for the \consultation" task which appears in the calendars of doctor \Nick" and
patient \John". Also, an appointment is booked for the \physical examination".
Note that the system ensures that the nal scheduling of tasks occurs in the
same order as the sequence of schedule tasks in the accompanying process de
nition for the case. Moreover, su cient time is reserved between two scheduled
tasks. In case it is found out that too little time is left for performing
preced3
ing work-items for a scheduled schedule task, the corresponding appointment is
automatically rescheduled. Also, users are able to express their dissatisfaction
with the nominated scheduling by requesting: (1) the rescheduling of the
appointment, (2) the rescheduling of the appointment to a speci ed date and time,
or (3) the reassignment of the appointment to another employee.</p>
      <p>In order to o er scheduling facilities (see Figure 1), YAWL has been
extended with three components. The Calendars component provides a view on
the calendars of users and allows for manipulating them. Based on the
calendars, the Scheduling Service component provides the scheduling facilities to the
WfMS. The workitems and any appointments for them can be seen via the
Workow Client Application. The \Calendars", \Scheduling Service", and \Work ow
Client Application" components have respectively been realized by developing
a java service, using Microsoft Exchange Server 2007, and using Outlook 2003
clients. Via a speci c adaptor, communication takes place between the YAWL
work ow engine and the \Scheduling Service" and the \Work ow Client
Application". Moreover, in this way, only Interface B is needed for communication
with the engine, i.e. starting and canceling instances, and the checking in and out
of workitems. Note that the scheduling algorithm used by the Scheduling
Service can easily be replaced by another algorithm, i.e., it is pluggable. Currently,
a \naive" algorithm is implemented which searches for the rst opportunity in
which one of the resources of a role can be booked for the respective work-item.</p>
      <p>
        The need for inter-work ow support emerged from the fact that the
process of treating a patient typically consists of many smaller interacting work ow
fragments that run in conjunction with each other. These fragments may also
operate at di erent levels of granularity. The main inter-work ow support features
will be illustrated using a small scenario. Note that these features are based on
the Proclets framework [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] which allows for modeling and executing lightweight
work ows that may interact with each other and reside at di erent levels of
granularity. At the top of Figure 3a, the process de nition of a work ow
fragment, describing a visit to the hospital, is de ned in the YAWL editor. At the
bottom, the associated de nition in the Interaction De nition Editor is shown.
Via this editor it is possible to de ne for a work ow fragment which
interactions with other fragments are necessary. That is, for tasks and input conditions
for which interactions with other fragments are necessary, a so-called interaction
point (visualized by a black dot) is de ned. Via ports (visualized by a white dot),
interaction points are connected with interaction points of other fragments. For
example, for the \decide" task it is possible to instantiate a work ow fragment
in order to perform a lab test or to instantiate a fragment arranging the next
visit of the patient. Moreover, the patient can be registered for a
multidisciplinary meeting in which the status of multiple patients is discussed. Note that
at run-time for a certain entity (e.g. a patient or a lab test) an interaction graph
is kept. This graph stores for an entity (e.g. a patient) all the interactions that
need to take place between (future) fragments. As part of this, for a task for
which interactions are needed, in the YAWL editor it is indicated that its
exea) Defining a workflow fragment and the corresponding interactions in the YAWL
editor (top) and the Interaction Definition Editor (bottom). Via dotted arcs, the
tasks and the interactions with other fragments that are defined for them are
indicated.
      </p>
      <sec id="sec-2-1">
        <title>b) For the ‘decide’ task it is indicated in the ‘Task Decomposition’ details that its execution is delegated to the Inter-Workflow Service. Also, the ‘entities’ variable allows for indicating at run-time the names of the entities for which the process is executed.</title>
        <p>cution is delegated to the Inter-Work ow service (see Figure 3b). Additionally,
information about the involved entities is exchanged via the \entities" variable.</p>
        <p>In order to o er inter-work ow support (see Figure 1), YAWL has been
extended with the Inter-Work ow Service. The \Interaction Service" is
responsible for the interactions between fragments at run-time and has been set-up as
a YAWL custom service. As such, it communicates with the YAWL engine via
Interface B. The \Interaction De nition Editor" o ers tools for de ning
interactions between fragments at both design-time and run-time.</p>
        <p>So, it can be concluded that the service oriented architecture of YAWL was of
great help for realizing the desired extensions. That is, via the extended attributes
feature of the editor, additional attributes of a task that need to be lled in,
could easily be de ned. Furthermore, due to the fact that the YAWL engine is
agnostic to its external services, it was possible via a single interface (Interface
B) to focus only on implementing the functionalities that were needed for the
desired scheduling support and inter-work ow support. So, we did not need to
bother about basic work ow management functionalities as they were already
provided by YAWL itself (e.g. a work ow engine and process editor).
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Replacement of Functionalities</title>
      <p>As illustrated in Figure 1, the conceptual model developed using CPN Tools has
been used for both testing and validating the operational performance of the
implemented YAWL4Healthcare WfMS in respectively the testing and simulation
phase. In Figure 4 it is schematically depicted how this has been realized.</p>
      <p>The CPN conceptual model provides a complete, formal description of the
functionality of the system. As this model is executable, it also serves as a
prototype implementation of the system. So, in the testing phase, one or more
parts of the CPN model can be replaced by the concrete implementation of these
parts. So, in the gure, the light grey-colored rectangle represents the parts of the
actual system that are tested. This is done by establishing connections between
the CPN model and parts of the actual YAWL4Healthcare WfMS which need
to be tested. During the testing, parts of the system, which are not tested, may
be simulated using CPN Tools (the dark grey-colored rectangle). This allows for
the testing of numerous scenarios facilitating the discovery of potential aws in
both the architecture and the corresponding implementation.</p>
      <p>
        In the simulation phase, our focus is on investigating the operational
performance of processes that are supported by both the designed and realized
system. Here we can bene t from the fact that CPN models can also be used for
simulation-based performance analysis in order to evaluate systems and to
compare alternative con gurations of a system [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. So, for processes supported by our
system, it can be investigated whether they are negatively impacted or not (e.g.
introduction of bottlenecks into the process). By setting up a reference
environment, the operational performance can be investigated in a structured manner.
Moreover, parts of the realized YAWL4Healthcare WfMS can be included in the
CPN simulation model in order to analyze the implemented system.
      </p>
      <p>At the time the above mentioned approach was applied, the \Inter-Work ow
Service" was not developed yet. So, in the conceptual model, we only had
comTesting phase
Simulation phase
CP Net model
simulation for the part of the system
that is not tested</p>
      <p>CP Net model simulation model + reference environment
part of the system that is not tested</p>
      <p>YAWL4Healthcare
replaced parts
part of the system that is not used for
simulation-based performance analysis</p>
      <p>YAWL4Healthcare
ponents for the \Work ow Engine", \Work ow Client Application",
\Calendars", and \Scheduling Service". In the testing phase, we could easily replace
the scheduling service and both the work ow engine and scheduling service by
their implemented YAWL4Healthcare counterparts. Furthermore, the engine was
provided with a simple process de nition. Also, four users where created in the
\Work ow Client Application" together with the associated empty calendars in
the \Calendars". Amongst others, 6 errors were identi ed in the \Scheduling
Service" component and 6 errors were identi ed in the adaptor component. In
the simulation phase, also both the \Work ow Engine" and \Scheduling Service"
were replaced by their implemented counterparts. Furthermore, the engine was
provided with a gynecological healthcare process such that a series of simulation
experiments could be carried out in which 143 patients followed the process. For
the schedule tasks, the corresponding appointments were made by our system.
Therefore, the calendars of the simulated system were lled with appointments,
etc. to mimic the true availability of the medical sta . As a result it was possible
to explore di erent scenarios. For example, in one of the experiments we
simulated the situation that the appointments for a CT, MRI, and pre-assessment are
scheduled on the same day. This resulted in a considerably increased waiting time
for both the pre-assessment and examination under anesthetic appointments.</p>
      <p>Similarly, as in Section 2, also here we bene ted from the service-oriented
architecture of the YAWL WfMS. Due to Interface B, components in the
conceptual model could easily be replaced by their implemented counterparts.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>In this paper, we focussed on the role of YAWL in a development approach in
which the same conceptual model is used during the design, implementation,
testing, and simulation phase. By applying this approach, YAWL has been
extended with facilities for scheduling support and inter-work ow support.</p>
      <p>As part of this undertaking, we greatly bene ted from the service oriented
architecture of YAWL. As it turned out, this provided a powerful point of
extensibility, allowing for the extension of the engine with additional desired
functionalities. Moreover, it allowed for the applicability of our development
approach in which there is a tight coupling between the conceptual model and
the YAWL4Healthcare WfMS. While testing and validating, parts of the system
may be simulated while connected to the actual system components.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>W.M.P. van der Aalst</surname>
            , P. Barthelmess,
            <given-names>C.A.</given-names>
          </string-name>
          <string-name>
            <surname>Ellis</surname>
            , and
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Wainer</surname>
          </string-name>
          .
          <article-title>Proclets: A Framework for Lightweight Interacting Work ow Processes</article-title>
          .
          <source>International Journal of Cooperative Information Systems</source>
          ,
          <volume>10</volume>
          (
          <issue>4</issue>
          ):
          <volume>443</volume>
          {
          <fpage>482</fpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>A.H.M. ter Hofstede</surname>
          </string-name>
          ,
          <string-name>
            <surname>W.M.P. van der Aalst</surname>
          </string-name>
          , M. Adams, and N. Russell, editors.
          <source>Modern Business Process Automation: YAWL and its Support Environment</source>
          . Springer-Verlag,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>K.</given-names>
            <surname>Jensen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.M.</given-names>
            <surname>Kristensen</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L.</given-names>
            <surname>Wells</surname>
          </string-name>
          .
          <article-title>Coloured Petri Nets and CPN Tools for Modelling and Validation of Concurrent Systems</article-title>
          .
          <source>International Journal on Software Tools for Technology Transfer</source>
          ,
          <volume>9</volume>
          (
          <issue>3</issue>
          -4):
          <volume>213</volume>
          {
          <fpage>254</fpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>R.S.</given-names>
            <surname>Mans</surname>
          </string-name>
          .
          <article-title>Work ow Support for the Healthcare Domain</article-title>
          .
          <source>PhD thesis</source>
          , Eindhoven University of Technology,
          <year>June 2011</year>
          . See http://www.processmining.org/blogs/ pub2011/
          <article-title>work ow support for the healthcare domain</article-title>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>