<!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>YAWL: Power through Patterns</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Michael Adams</string-name>
          <email>mj.adams@qut.edu.au</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Stephan Clemens</string-name>
          <email>stephan.clemens@qut.edu.au</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marcello La Rosa</string-name>
          <email>m.larosa@qut.edu.au</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Arthur H.M. ter Hofstede</string-name>
          <email>a.terhofstede@qut.edu.au</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>BPM Group, Queensland University of Technology</institution>
          ,
          <country country="AU">Australia</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Work ow Management Systems (WfMSs) enable the development and maintenance of work ow speci cations at design time and their execution and monitoring at runtime. The open source WfMS YAWL supports the YAWL language { a formally de ned language based on Petri nets which o ers comprehensive support for control- ow and resource patterns. In addition, the YAWL system provides extensive support for process exibility, in particular for process con guration, exception handling, dynamic work ow and declarative work ow. Due to its formal foundation, sophisticated veri cation support can also be achieved. This paper presents the YAWL system and its main applications.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>with a collection of resource patterns and comprehensive support for these
patterns in the YAWL environment was recently realised.
2</p>
    </sec>
    <sec id="sec-2">
      <title>The YAWL system</title>
      <p>Some of the fundamental goals of the YAWL environment include that it should
be freely available, portable, easy to use and interoperable. By releasing the
environment under an open source license free availability was achieved.
Portability was achieved through the use of JavaTM and by avoiding any operating
system dependencies. Ease of use was realised by the provision of an intuitive
user interface for creating and executing speci cations. Finally, interoperability
was supported by a service-oriented architecture, the de nition of a common
XML format and a set of API calls for the exchange of work ow speci cations
between design time and runtime environment.</p>
      <p>`
Process Designer</p>
      <p>Process
Repository</p>
      <p>YAWL Engine</p>
      <p>Interfaces</p>
      <p>Resource Service
Admin Users Applications</p>
      <p>Persisted
Data
Event
Logs
Org
Data
Event
Logs</p>
      <p>Other Custom
Services</p>
      <p>The three main components of the YAWL system are the Editor, the Engine
and the Resource Service, which communicate through well-de ned interfaces
(see Figure 1). They all are connected through the underlying service-oriented
architecture. Based on this architecture users can adapt the YAWL system to
their needs and introduce their own custom services where required.</p>
      <p>The Editor provides a tool palette from which modeling elements (such as
tasks or conditions) may be chosen for placement on the design canvas (see
Figure 2). Routing constructs may be attached to tasks, and arcs added to link
tasks and conditions, in order to form a complete work ow graph capturing a
particular business process. At any time a work ow model may be veri ed using
various algorithms to ensure completeness and soundness, amongst other things.
The Editor communicates with a running Engine to receive a list of YAWL
Services which are registered with the Engine. A work ow designer can then
associate those services with tasks of a work ow speci cation. Furthermore, from
a running Resource Service, the Editor obtains organizational resources and
socalled codelets. Within the Editor tasks can be associated with those resources,
which are o ered the according workitem at runtime. Furthermore, a work ow
designer can automate a task by assigning a codelet, which is a small Java based
application executed for the task at runtime.</p>
      <p>The Engine deals with control- ow logic and data passing, but is
resourceagnostic. Valid work ow speci cations are loaded into the Engine and stored
in a repository from where they may be instantiated to produce cases. The
Engine is in charge of the execution of cases and determines which workitems are
enabled throughout the process lifecycle. Work ow data can be updated through
the execution of workitems and be passed between work ow elements or e.g. be
used for the evaluation of routing conditions.</p>
      <p>The Resource Service ensures the correct routing of workitems to resources.
It consists of the following four sub-services: A Resource Manager, which
manages the allocation of resources to workitems; a Worklist Handler { a web-form
based user interface that provides users with the ability to interact with and
to process workitems; a Forms Connector to visualize tailor-made and/or
dynamically generated web-forms for displaying and editing workitem data; and
a Codelet Service that maintains and executes codelets selected for automated
tasks.</p>
    </sec>
    <sec id="sec-3">
      <title>Maturity of YAWL</title>
      <p>The YAWL system has been
downloaded from SourceForge more than
80,000 times4. Being open source,
and thus freely available, and
having a solid theoretical base, makes the
YAWL environment suitable for
tertiary education | at least 24
universities worldwide have used it in their
teaching. The original YAWL paper5
has attracted over 400 citations
according to Google Scholar and is the
second most cited paper to appear
in Information Systems according to
Scopus.</p>
      <p>The Australian Film, Television
&amp; Radio School (AFTRS) and the
Queensland University of Technology
(QUT) started the YAWL4Film ini- Fig. 3. A dynamically generated form.
tiative in 2007 in the context of the
ARC Centre of Excellence for Creative Industries and Innovation. As part of
this collaboration a solution was developed for lm shoot production data
management and report generation which uses YAWL. This solution was trialed in
two student projects at the AFTRS and it was further adapted for the shooting
of the commercial feature lm \Prime Mover" in the Australian outback.6
rst:utility and rst:telecom in the UK, both part of the Impello plc group
of companies, providing energy and telecoms services respectively, have been
collaborating with QUT since 2005 on the YAWL initiative. These companies
have built software around the YAWL system providing a novel approach to
page navigation for web based systems together with the more traditional use
of choreographing long-lived business processes.7
4</p>
    </sec>
    <sec id="sec-4">
      <title>Outlook</title>
      <p>Future work for the YAWL system is anticipated to include sophisticated
workow monitoring, conceptual process integration primitives, improved support for
forms generation and templating, and system integration.
4 https://sourceforge.net/projects/yawl
5 W.M.P. van der Aalst and A.H.M. ter Hofstede. YAWL: Yet Another Work ow</p>
      <p>Language. Information Systems, 30(4):245{275, 2005
6 http://www.primemovermovie.com
7 Quoted almost verbatim from http://www.yawlfoundation.org/about/adoption.html.</p>
    </sec>
  </body>
  <back>
    <ref-list />
  </back>
</article>