YAWL

Last updated

YAWL (Yet Another Workflow Language) is a workflow language based on workflow patterns. It is supported by a software system that includes an execution engine, a graphical editor and a worklist handler. It is available as open-source software under the LGPL license.

Contents

Production-level implementations of YAWL include deployment by first:utility and first:telecom in the UK to automate frontend service processes, and by the Australian film television and radio school to coordinate film shooting processes. It has also been used for teaching in more than 20 universities. [1]

Features

History

The language and its supporting system were originally developed by researchers at Eindhoven University of Technology and Queensland University of Technology. Subsequently, several organizations such as InterContinental Hotels Group, first:telecom and ATOS Worldline [2] have contributed to the initiative.

The original drivers behind YAWL were to define a workflow language that would support all (or most) of the workflow patterns and that would have a formal semantics. Observing that Petri nets came close to supporting most of the workflow patterns, the designers of YAWL decided to take Petri nets as a starting point and to extend this formalism with three main constructs, namely or-join, cancellation sets, and multi-instance activities. These three concepts are aimed at supporting five of the workflow patterns that were not directly supported in Petri nets, namely synchronizing merge, discriminator, N-out-of-M join, multiple instance with no a priori runtime knowledge and cancel case.

In addition, YAWL adds some syntactical elements to Petri nets in order to intuitively capture other workflow patterns such as simple choice (xor-split), simple merge (xor-join), and multiple choice (or-split). During the design of the language, it turned out that some of the extensions that were added to Petri nets were difficult or even impossible to re-encode back into plain Petri nets. As a result, the original formal semantics of YAWL are defined as a labelled transition system and not in terms of Petri nets. The fact that YAWL is based on formal semantics has enabled the implementation of several techniques for analyzing YAWL processes. In particular, the YAWL system includes a static analysis tool called WofYAWL.

YAWL vs. BPEL

YAWL is sometimes seen as an alternative to BPEL [ by whom? ]. A major advantage of BPEL is that it is driven by a standardization committee supported by several IT industry players. As a result, BPEL is supported by a significant number of tools (both proprietary and open-source) while YAWL has a single implementation at present. Also, several researchers have captured the formal semantics of subsets of BPEL in terms of various formalisms, including Petri nets, process algebra and finite state machine. This has paved the way for the development of static analysis tools for BPEL that can compete with the static analysis capabilities provided by the YAWL system.

On the other hand, it has been noted[ by whom? ] that standard BPEL fails to support human tasks, that is, tasks that are allocated to human actors and that require these actors to complete actions, possibly involving a physical performance. A number of BPEL engines already provide extensions to BPEL for human tasks, but these extensions are yet to be standardized. In contrast, YAWL provides a unified interface for worklist services based on web services standards. This interface allows developers to build their own worklist service to support human tasks according to their needs. In addition, the YAWL system comes with a default worklist service that supports several types of human task allocation and handling. Another advantage of YAWL is its support for workflow patterns, although the gap between YAWL and BPEL in this respect may be reduced by new constructs that are included in BPEL version 2.0.

See also

Related Research Articles

<span class="mw-page-title-main">Workflow</span> Pattern of activity often with a result

Workflow is a generic term for orchestrated and repeatable patterns of activity, enabled by the systematic organization of resources into processes that transform materials, provide services, or process information. It can be depicted as a sequence of operations, the work of a person or group, the work of an organization of staff, or one or more simple or complex mechanisms.

<span class="mw-page-title-main">Petri net</span> Model to describe distributed systems

A Petri net, also known as a place/transition net, is one of several mathematical modeling languages for the description of distributed systems. It is a class of discrete event dynamic system. A Petri net is a directed bipartite graph that has two types of elements: places and transitions. Place elements are depicted as white circles and transition elements are depicted as rectangles. A place can contain any number of tokens, depicted as black circles. A transition is enabled if all places connected to it as inputs contain at least one token. Some sources state that Petri nets were invented in August 1939 by Carl Adam Petri—at the age of 13—for the purpose of describing chemical processes.

The Web Services Business Process Execution Language (WS-BPEL), commonly known as BPEL, is an OASIS standard executable language for specifying actions within business processes with web services. Processes in BPEL export and import information by using web service interfaces exclusively.

<span class="mw-page-title-main">Concurrency (computer science)</span> Ability to execute a task in a non-serial manner

In computer science, concurrency is the ability of different parts or units of a program, algorithm, or problem to be executed out-of-order or in partial order, without affecting the outcome. This allows for parallel execution of the concurrent units, which can significantly improve overall speed of the execution in multi-processor and multi-core systems. In more technical terms, concurrency refers to the decomposability of a program, algorithm, or problem into order-independent or partially-ordered components or units of computation.

A workflow pattern is a specialized form of design pattern as defined in the area of software engineering or business process engineering. Workflow patterns refer specifically to recurrent problems and proven solutions related to the development of workflow applications in particular, and more broadly, process-oriented applications.

<span class="mw-page-title-main">XPDL</span>

The XML Process Definition Language (XPDL) is a format standardized by the Workflow Management Coalition (WfMC) to interchange business process definitions between different workflow products, i.e. between different modeling tools and management suites. XPDL defines an XML schema for specifying the declarative part of workflow / business process.

Business Process Modeling Language (BPML) is an XML-based language for business process modeling. It was maintained by the Business Process Management Initiative (BPMI) until June 2005 when BPMI and Object Management Group announced the merger of their respective business process management activities to form the Business Modeling and Integration Domain Task Force. It is deprecated since 2008. BPML was useful to OMG in order to enrich UML with process notation.

The Business Process Definition Metamodel (BPDM) is a standard definition of concepts used to express business process models, adopted by the OMG. Metamodels define concepts, relationships, and semantics for exchange of user models between different modeling tools. The exchange format is defined by XSD and XMI, a specification for transformation of OMG metamodels to XML. Pursuant to the OMG's policies, the metamodel is the result of an open process involving submissions by member organizations, following a Request for Proposal (RFP) issued in 2003. BPDM was adopted in initial form in July 2007, and finalized in July 2008.

Workflow Management Coalition (WfMC) was a consortium formed to define standards for the interoperability of workflow management systems. The coalition was disbanded in 2019 and no longer exists.

A workflow application is a software application that automates, to at least some degree, a process or processes. The processes are usually business-related but can be any process that requires a series of steps to be automated via software. Some steps of the process may require human intervention, such as approval or the development of custom text, but functions that can be automated should be handled by the application. Advanced applications allow users to introduce new components into the operation.

A workflow management system provides an infrastructure for the set-up, performance, and monitoring of a defined sequence of tasks arranged as a workflow application.

<span class="mw-page-title-main">Apache ODE</span>

Apache ODE is a software coded in Java as a workflow engine to manage business processes which have been expressed in the Web Services Business Process Execution Language (WS-BPEL) via a website. It was made by the Apache Software Foundation and released in a stable format on March 23, 2018. The software principally communicates with one or more Web services, sending and receiving messages, manipulating data and handling exceptions (errors) as defined by any given process. The engine is capable of running both long and short living processes to coordinate all the services that make up a service or application (orchestration).

BPELscript is a language to specify BPEL processes. It provides a compact syntax inspired by scripting languages such as JavaScript and Ruby and a full coverage of all features provided by BPEL.

<span class="mw-page-title-main">Wil van der Aalst</span> Dutch computer scientist and professor

Willibrordus Martinus Pancratius van der Aalst is a Dutch computer scientist and full professor at RWTH Aachen University, leading the Process and Data Science (PADS) group. His research and teaching interests include information systems, workflow management, Petri nets, process mining, specification languages, and simulation. He is also known for his work on workflow patterns.

Service choreography in business computing is a form of service composition in which the interaction protocol between several partner services is defined from a global perspective. The idea underlying the notion of service choreography can be summarised as follows:

"Dancers dance following a global scenario without a single point of control"

In philosophy, a process ontology refers to a universal model of the structure of the world as an ordered wholeness. Such ontologies are fundamental ontologies, in contrast to the so-called applied ontologies. Fundamental ontologies do not claim to be accessible to any empirical proof in itself but to be a structural design pattern, out of which empirical phenomena can be explained and put together consistently. Throughout Western history, the dominating fundamental ontology is the so-called substance theory. However, fundamental process ontologies have become more important in recent times, because the progress in the discovery of the foundations of physics has spurred the development of a basic concept able to integrate such boundary notions as "energy," "object", and those of the physical dimensions of space and time.

Nets within Nets is a modelling method belonging to the family of Petri nets. This method is distinguished from other sorts of Petri nets by the possibility to provide their tokens with a proper structure, which is based on Petri net modelling again. Hence, a net can contain further net items, being able to move around and fire themselves.

<span class="mw-page-title-main">Cameleon (programming language)</span>

Cameleon is a free and open source graphical language for functional programming, released under an MIT License.

References