Professional Documents
Culture Documents
a Version-based Approach
Abstract— Nowadays, it is important to consider the fast instances of this workflow process to own different schemas.
changing environment which drives organizations to frequently Thus, versions are a promising solution to deal with EWP.
adapt their Workflow Processes (WP). Consequently, this paper
deals with the design of Evolutionary Workflow Processes Versions are used in several fields of computer science in
(EWP). EWP refer to any modification of the tasks and their which was highlighted the need of describing the evolution of
coordination (process model), actors and roles (organizational real world entities over time: versions are used to keep
model), and/or data (informational model). First, this paper different states of an entity (not only the last one), these states
proposes a global approach to ease EWP design, specification corresponding to the different versions of the considered entity.
and implementation. Second, it defines a meta-model for EWP Versions are used in the database field, mainly in object-
design. More precisely, this meta-model captures all the concepts oriented databases [5, 6], temporal databases [7, 8] or scientific
involved in the design of WP, and integrates the notion of version databases [9]. But also for specific database application fields,
in order to describe the evolution of WP. such as computer aided design or computer aided
manufacturing [10, 11]. Versions are also used in software
Keywords- workflow processes, evolution, versions engineering to handle software configurations [12]. Finally,
versions are considered in conceptual models such as the Entity
I. INTRODUCTION Relationship model [13, 14], the OMT model [15] or the UML
Nowadays, organizations have to take into account the open model [16]
and dynamic worldwide economic context in which they are Nevertheless, to the best of our knowledge, only few efforts
involved. Indeed, this changing context leads them to have been put on management of versions in the workflow
frequently change their workflow processes (or business context. For instance, [1] and [17] have addressed the
processes). The problem of Evolutionary Workflow Processes workflow change context using versions. [1] has proposed a
(EWP) is consequently important and is still open [1]. solution to deal with workflow schema evolution that is based
The EWP problem has been addressed several times using on workflow type versioning and workflow migration. More
an adaptive workflow approach. This approach consists in particularly, [1] investigated instance migration issues. [17] has
changing schemas of workflow processes, and adapting and discussed version-based evolvement of workflow process
migrating their corresponding instances [2, 3, 4]. However, in schemas. More precisely, [17] defined a method to handle
adopting this adaptive workflow approach, it is impossible to workflow process schema definition through the notion of
distinguish between temporary and permanent changes of preserving directed graph.
workflow processes. However, both [1] and [17] addressed the version issue of
We think that, if we address this EWP problem using a WP only considering what is called in workflow literature the
version perspective, it is then possible to describe both “process model”, which describes the tasks involved in the
temporary and permanent changes since: process and their coordination. But, using only this model is
not enough to have a comprehensive description of workflow
• we keep track of evolutions and changes of derived or processes [18]. Two others models have to be considered: the
alternative workflow processes, each one representing organizational model and the informational model. The former
a possible schema for a considered workflow process, model structures the workflow actors and authorizes them,
through the notion of role, to perform tasks making up the
• we permit different instances of a same workflow processes. The latter model defines the structure of the
process to have different schemas. documents and data required and produced by the processes.
In the workflow context, where long term processes are These two models are glued together with the process model
involved, adaptation of workflow process instances according since, in addition to the tasks and their coordination, the
to a new schema is not always easy and is sometimes process model also defines the required resources (information,
impossible. So, it is important to be able to manage different actors) to perform the tasks.
schemas for a workflow process in order to allow several
Consequently, this paper addresses the Evolutionary The logical level provides a translation kit and a set of
Workflow Processes (EWP) issue adopting a comprehensive translation rules to define a specification of a workflow process
approach, i.e. considering the organizational, informational and version. A specification is given according to a language; we
process models of workflow processes. propose, in our framework, translations into the main current
business process languages: BPEL [19] which is considered as
More precisely, this paper proposes a framework for the industrial standard for service oriented applications, XPDL
designing, specifying and implementing EWP. It also addresses [20] or BPMN [21] which are recommended by the Workflow
the EWP design problem as follows: Management Coalition and the Object Management group,
• it specifies a meta-model for workflow process design WfNet [22] or Yawl [23] if one follows van der Aalst’s
which captures all the concepts involved in the three propositions.
models of workflow processes, Finally, the physical level corresponds to implementation
• it extends this meta-model in order to be able to define tools such as, for instance, Petals for a BPEL specification,
versions of workflow processes by adding, deleting or Bonita or Virtual Process Machine for an XPDL specification,
updating elements of the three workflow process the Yawl system, …
models (e.g. processes, tasks, actors, documents). This paper only deals with evolutionary workflow
The remainder of this paper is organized as follows. Section processes design (conceptual level). The two others levels
2 presents our approach for EWP design, specification and (logical and physical) are not addressed here. The following
implementation. Section 3 introduces the meta-model we sections respectively introduce the Workflow Process (WP)
propose for designing WP while section 4 explains how to meta-model and show how we extend it with versions.
make the modeled workflow processes evolutionary. Finally,
section 5 discusses the advantages of the proposed solution III. A META-MODEL TO DESIGN WP
compared to related works and concludes the paper.
As mentioned before, a workflow meta-model must allow
the expression of three workflow complementary aspects,
II. A FRAMEWORK FOR EWP DESIGN, SPECIFICATION AND usually described through three different interacting models:
IMPLEMENTATION the organizational, informational and process models. The
The framework we propose for Evolutionary Worflow main important model is the process model which defines
Processes (EWP) design, specification and implementation is component tasks and their coordination, but this model also
presented in figure 1 below. refers to the organizational model and to the informational
model defining required and produced resources before and
Conceptual
Level after tasks execution [18].
EWP meta model
Organizational Model
B. The Versioning Kit and its integration into the Meta-
Informational Model
1..* 1..*
Informational
1
Role
1..* 1..*
Organizational Unit
model for EWP Design
resource
0..* played_by
Actor
0..*
1..* member
This kit is composed of a set of classes, properties and
relationships which make classes of the previous meta-model
1..*
Workflow System Application 1..* use
Data Data Data
Not Human Human Internal External
“versionable”. A class is called “versionable” if its instances
Data Document Form Data
Repository
Database
1..*
Software Machine are versions [11, 15]. We propose to introduce the notion of
version for only some classes of the previous meta-model.
Figure 2. Meta-model for WP Design Regarding the process model, we propose to keep versions
for only two classes: the Workflow Process and the Atomic
Task classes. It is indeed interesting to keep track of evolution
IV. ADDING VERSIONS TO DESIGN EWP
for both workflow processes and atomic tasks since this
This section shows how we introduce the notion of version evolution corresponds to changes in the way that business is
in the previous meta-model in order to be able to capture a carried out. For instance, new customer requirements may
series of workflow processes evolutions and changes, each one imply to organize the activity of an organization in order to
representing a possible schema for a considered workflow increase the level of its production. At the atomic task level,
process. versions describe changes in activities realization, while at the
Firstly, we define the notion of version. Then, we introduce workflow process level, versions describe changes in work
the versioning kit we add to the previous meta-model and give organization (coordination of activities). We defend the idea
an example of an evolutionary workflow process. Finally, we that tasks and workflow processes versioning is important to
define a set of operations for management of workflow help organizations to face the fast changing environment in
processes’ versions. which they are involved nowadays.
Regarding the others models, it is necessary to handle
A. The Version Concept versions for the Informational resource class from the
In order to clearly present the versioning kit we briefly informational model, and versions for the Role class from the
introduce the basic concepts for versions [11, 15]. organizational model.
A real world entity has characteristics which may evolve As mentioned before, for each of these “versionable”
during its life cycle: it has different successive states. In classes, we define a new class which contains versions (a
systems which provide version management, this entity is “versionable” class), called “Version of…”. We also specify
described by a set of versions. A version corresponds to one of two new relationships: (i) the is_version_of relationship which
the significant entity states. links a class (an “entity” class) to its corresponding “Version
of…” class (“versionable” class), and (ii) the derived_from
E1.v0 E1.v1 E1.v2 relationship which describes version derivation hierarchies.
Entities
E1
Versions This latter relationship is reflexive. The underlying idea of our
En.v1 E1.v3 proposition is to describe both entities and their corresponding
versions as indicated in figure 3. Consequently, (i) versions are
En En.v2
En.v3
therefore involved in the process definition, and (ii) a couple
En.v0
version and corresponding entity are obviously created when
the first version of an entity is created. Regarding properties of
Figure 3. The Version Concept these “versionable” classes, we introduce the version number,
creator name, creation date and status properties in the
As shown in figure 3, versions are linked by a derivation “Version of “ classes.
link and they form a version derivation hierarchy. When Figure 4 below presents the new obtained meta-model in
created, an entity is described by only one version. The terms of classes and relationships.
definition of every new entity version is done by derivation
from a previous one. Such versions are called derived versions
(e.g. E1.v1 is a derived version from E1.v0). Several versions C. EWP Modeling Example
may be derived from the same previous one. They are called In order to illustrate the utilization of the EWP meta-model,
alternatives (e.g. E1.v2 and E1.v3 are alternatives derived from i.e. its instantiation, we propose to model a simplified and
E1.v1). revisited version of the workflow process example introduced
in [17]: the Production example. This voluntary simplified
A version is either frozen or working. A frozen version example illustrates a production business process and involves
describes a significant and final state of an entity. A frozen
a factory which owns one production pipeline following the The solution we provide to model theses derivation
workflow process shown in figure 5(a). hierarchies consists in instantiating the EWP meta-model. The
Version of is_version_of
Workflow Process, the Atomic Task “versionable” classes and
Workflow Process
1..*
1..*
derived_from
1
Workflow Process
is_composed_of 1
Process Model
their “Version of…” corresponding classes are involved in this
is_composed_of 1..*
Workflow Pattern
instantiation, along with the Composite Task and Workflow
1..* 0..*
Composite Task
0..* 0..* Pre-Condition Pattern none “versionable” classes. This instantiation is
visualized in figure 7 below.
has_pre-conditions
Task derived_from
1..*
1..* has_post-conditions 0..*
1 1..* Version of Post-Condition
Atomic Task execute
Atomic Task is_version_of
1..*
1..*
1..*
1..*
1..*
Action The process model of the four versions of the Production
produces
performed_by
workflow process can be seen as follows:
consumes