logo

You are here

Warning message

Attention! This event has already passed.

Executable Models for Extensible Workflow Engines

Tuesday, 1 February, 2011 - 14:15
Campus: Brussels Humanities, Sciences & Engineering campus
Faculty: Science and Bio-engineering Sciences
Mario Sánchez Puccini
phd defence

In recent years, workflows have started to be used in many domains such as
business processes, scientific applications, and e-learning. Accordingly, various
workflow specification languages have needed to be designed in each one of those
domains. Corresponding infrastructures (like editors, engines, and monitoring applications)
to utilize and enact those languages have been implemented as well.
Among the benefits commonly associated with workflows, one that stands out is
the possibility of modifying workflow definitions by manipulating only high level
or domain specific concepts. This is extremely positive because it enables domain
experts to introduce changes to the systems without requiring the intervention
of software developers. However, this flexibility is not always enough. Workflow
users often encounter new requirements that cannot be properly solved with existing
tools and languages because they depend on new concepts or should use
different structures. In those cases, their only options are to change or extend
the workflow languages, or to develop entire new ones. Unfortunately, nowadays
there is poor support to implement either alternative. With the former,
the biggest problem is that workflow languages and their associated tools have
very limited extensibility capabilities. With the latter, there are two different
problems. The first one is the scarcity of frameworks or libraries available to
support the development of new workflow engines to enact the newly created
languages. The second problem is that existing engines are tightly coupled to
the languages they were developed for. Therefore, by creating a new language
one looses existing tool support (editors, simulators, monitoring applications, and
others).

The goal of this dissertation is to solve these limitations by offering a platform
that serves as the foundation for extensible workflow engines. In this way,
the enactment of new workflow languages will be more easily supported, because
the implementation of every engine will not start from scratch. Furthermore, this
platform is geared towards supporting extensible and flexible workflow languages,
and thus changing requirements will be more easily accommodated. The proposed
platform supports various kinds of workflow languages. In the first place,
there are general purpose workflow languages that can be used in many domains,
such as BPEL or BPMN. Another kind is that of domain specific workflow languages,
such as IMS-LD or Sedna. Finally, the proposed platform also supports
concern specific workflow languages, which modularize workflow descriptions in
accordance with various possible criteria.

There are three ideas that are central to the proposal. First of all, there is
the idea of using metamodels to define the structure of workflow languages, and
using models to represent specific workflows. The second idea is that of making
the models executable by establishing executable semantics for every element in
the metamodels, and following the semantics of the language. Finally, the third
idea is that of coordinating the execution of several executable models in order to
support the aforementioned concern specific languages. To support these three
ideas we developed the notion of ‘open objects’, which are used to define the
behavior of elements of the metamodels in a special way. By using open objects,
each element defines its own semantics. However, the actual coordination between
those elements is specified in an explicit and flexible way. It is the responsibility of
a special kernel in the platform to use this information to coordinate the behavior
of the elements and thus execute the workflows. Furthermore, this kernel also
provides other features common to workflow systems. Therefore, these features
do not have to be reimplemented for every language.

The ideas presented in this dissertation have been implemented in the Cumbia
platform, which encompasses a Java based development framework, and two components
called Cumbia Kernel and Cumbia Weaver. Concretely, the framework
is what workflow language developers need to build their own metamodels based
on open objects. The Cumbia Kernel is the component that loads and runs the
models. The Cumbia Weaver is what establishes relationships between models
conformant to different metamodels, thus allowing the interaction of concern
specific languages.

This approach has been validated with the construction of engines for well
known workflow languages, which include BPEL, BPMN and YAWL. Other experiments
include the implementation of engines for concern specific workflow
languages (miniBPMN, XPM, and XTM), and for domain specific workflow languages
(IMS-LD and PaperXpress).