scieee Science in your language
[en] (orig)
Ulmer Informatik Berichte | Universität Ulm | Fakultät für Ingenieurwissenschaften und Informatik
The ADEPT Project: A Decade of Research
and Development for Robust and
Flexible Process Support
Challenges and Achievements
Peter Dadam, Manfred Reichert
Ulmer Informatik-Berichte
Nr. 2009-01
Januar 2009
The ADEPT Project: A Decade of Research and
Development for Robust and Flexible Process Support
Challenges and Achievements
Peter Dadam and Manfred Reichert
Institute of Databases and Information Systems, Ulm University, Germany
{peter.dadam, manfred.reichert}@uni-ulm.de
Abstract. This paper gives insights into the ADEPT project. Its target was to
develop a next generation process management technology, which is by orders of
magnitudes more powerful and flexible than contemporary process management
systems. The ADEPT technology should provide advanced features and proper-
ties within one system, which seem to exclude each other, but which are required
for the support of a broad spectrum of processes: ease-of-use for end users and
system developers, high flexibility through the support of non-trivial ad-hoc de-
viations at the process instance level, quick implementation of process changes
through process schema evolution, and correctness guarantees enabling robust
execution of implemented processes. This paper describes the background and
the real-world cases which motivated our research. It further explains the techno-
logical challenges we faced, describes the solutions we elaborated, and discusses
the current status of the ADEPT project.
1 Background - how all began
In 1992 we started the OKIS1project - a pretty large and broadly defined 3-years re-
search project funded by the State of Baden-Württemberg. In this project several clin-
ics, medical service units, and the computing center of our university hospital were in-
volved. The goal of OKIS was to develop a concept for a cross-organizational, clinical
information system that is able to integrate autonomous, heterogeneous departmental
systems as well as to offer services across system boundaries (e.g., scheduling, resource
management, and medical data exchange). At the beginning of OKIS we looked at many
aspects of hospital information systems to understand the different types of relevant
information, the different kinds of information systems involved (e.g., radiology infor-
mation system, picture archiving and communication systems, and lab systems), the
privacy issues, the different types and roles of doctors and nurses, characteristic proper-
ties of planning and scheduling tasks, and so forth. We further investigated new devel-
opments (at that point in time) like electronic patient record, communication servers,
medical guidelines, and computer-assisted medical diagnostics in order to understand
which features a modern hospital information system should have [1].
1OKIS is derived from the German name of the project and stands for “Open Clinical Database
and Information System for the Integration of Autonomous Subsystems”
The challenge of the service layer we wanted to develop was rather clear in an early
stage of the project: Due to the heterogeneity of the underlying systems and the evolu-
tionary nature of the clinical domain one has to decouple service provision from service
implementation. However, the discovery of services and their usage must not be com-
plicated. Therefore, long before web services came into the game, we had elaborated
the concept of a cross-organizational “service bus” (that we called “software bus” in
[2]; see Fig. 1) into which new services can be easily plugged in such that application
programs (providing the end-user interfaces) can use them.
Fig. 1: OKIS software bus [2]
While working on many different aspects of the overall problem we got the dim
feeling that providing data integration together with some electronic services would
be an improvement, but not be the big step forward our colleagues from the university
hospitals were hoping for. Therefore, we had additional discussions with them as well as
other clinical staff members, and also took a closer look at the clinical workday. During
these activities it became more and more clear that the really big problem was not the
inconvenient access to medical data. The much bigger and more challenging problem
was the non-existing support of the clinical processes! These processes were only in
the users’ minds. Notes on paper or entries in a calendar system were the only help for
physicians and nurses to not forget things. No active process support or assistance by an
information system was provided to avoid problems like omission errors, unnecessarily
pending tasks, or non-optimal task sequences (see [3] for a description of the problem).
This meant that services provided by the Software Bus should be offered to users in a
process-oriented way.
We got fascinated about this challenge and we were convinced that a software tech-
nology, which is able to cope with clinical processes, would be also adequate for many
other domains and enable completely new perspectives for information management
2
systems. Therefore, in 1995 we decided to start the ADEPT2project as a dedicated
research activity in that subject area. At the beginning we were confronted with many
problems and questions, not knowing where to start with and also not knowing which
aspects were highly relevant for the final solution and which ones could be neglected.
Nevertheless we made a decision which should guide and determine our whole research
until today: "We face the clinical reality - we do not define any problem away!" This
motto resulted in the insights, requirements, and technological challenges described in
this paper.
The remainder of this paper is organized as follows: Section 2 provides some in-
sights into the clinical reality and identifies major requirements. Section 3 describes
relevant challenges and the research areas of the ADEPT project. Section 4 discusses
the overall technological challenges and the general “vision” of the ADEPT project. In
Section 5 we present some of the achievements made. Section 6 describes the current
development status and the transition from a research prototype to an industrial product.
Finally, Section 7 concludes with a summary.
2 Facing the clinical reality
Our initial insights into relevant requirements were derived from the OKIS project.
Following this, from 1996 to 1997 we performed a dedicated workflow project with
Siemens-Nixdorf and our Women’s Hospital. In this project we analyzed and docu-
mented the core processes of this hospital, investigated organizational aspects (e.g., ac-
tor responsibilities, substitution rules, or legal regulations), and evaluated what kind of
exceptional cases had occurred in the past and how good they were “predictable”. These
insights were extremely helpful for us to extend and refine the requirements identified
in the OKIS project, and to evaluate any suggested solution against these real-world
scenarios [4]. The issues described in the sequel represent consolidated insights from
both projects (and are valid until today).
Robustness. By nature, clinical information systems should be highly reliable. How-
ever, process-aware information systems (PAIS) are inherently more complex than tra-
ditional function- and data-centric information systems, simply because of the fact that
the incorporated process support is another source of errors. In traditional information
systems the processes are more or less only in the users’ minds [5]. Of course, hu-
mans also make mistakes when performing processes, but these errors are typically not
charged to the information system. However, once processes are directly supported by
a PAIS, all process-related errors (e.g., deadlocks or program crashes due to missing
input data) will now be charged to the PAIS and will directly affect its acceptance.
Flexibility and adaptivity of the clinical processes must not be restricted. In a clin-
ical environment any PAIS will not be accepted by users if rigidity comes with it. De-
viations from the standard procedure constitute the normal case, and physicians and
2ADEPT stands for Application Development based on Encapsulated Pre-modeled Process
Templates”
3
nurses are accustomed to perform such deviations. The physician always has the ulti-
mate professional authority and responsibility regarding decisions about diagnostic and
therapeutic procedures. No computer program and thus no PAIS is allowed to overrule
or to restrict the doctors’ judgment. Being faced with this aspect it became clear that any
kind of process technology that does restrict flexibility will fail in such a domain. How-
ever, the demand for flexibility is not only present in hospitals, it can be found in almost
all domains (e.g., [6–11]). No enterprise can take the risk to become inflexible, i.e., to
be unable to quickly and flexibly react on changes in the market or in legal conditions,
on detected inefficiencies in their processes, or on exceptional situations [10].
The support of clinical processes cannot be simply restricted to document-centered
workflows, which would make the realization of a PAIS much easier, because any tech-
nological solution could then concentrate on control flow and would not have to deal
with data flow issues.3Instead, we are faced with the full spectrum of process support
ranging from simple form- or document-based, human-centric workflows to production
workflows with manual activities, automatic activities, and need for application inte-
gration. In addition, runtime flexibility cannot be restricted to simple adjustments of a
process schema (e.g., by replacing one activity by another), but more complex structural
changes at the process instance level should be possible as well. For example, an on-
going treatment process might have to be changed to a large extent due to the physical
reaction of the patient on his current medical drugs. However, such process flexibility
must not lead to a high risk of PAIS failures at runtime or to a significant increase of
the complexity when developing application functions. The great challenge for us was
to find a solution which ensures a high degree of runtime flexibility on the one hand,
and robustness as well as ease of use on the other hand.
Ease of use. Although listing this requirement may sound like the typical lip service,
we considered ease of use as very important for a broad usage of process management
technology in the clinical domain (and not only there). Clinical staff works under high
time pressure, must often deal with exceptional situations, and is constantly confronted
with an information overload [3, 12]. This situation especially applies to university hos-
pitals which typically receive all complicated treatment cases that ordinary hospitals are
not able to handle. In addition, university hospitals educate physicians and nurses; i.e.,
there are many staff members who are not very experienced. This, in turn, increases the
pressure on clinical staff. Some staff members have stress because of their own missing
routine and experience, while others suffer from stress because they have to supervise
the less experienced colleagues in addition to their own duties. Therefore, any PAIS
which increases this stress because of complicated handling will not be successful.
Ease of use must not only be achieved for end users, but should also hold for the
developers of processes and corresponding application services. The problem is that
ease of use for users does not come for free; i.e., somebody has “to pay the price”.
Supporting ad hoc changes at the process instance level, or changing a process schema
at the process type level and propagating these changes to running instances, requires
a profound understanding of basic PAIS concepts (e.g., correctness of process models)
3In this scenario there is no other data flow among process activities than the document which
is passed from one activity to another during runtime.
4
as well as deep knowledge about PAIS internals (e.g., the physical representation of
process instances at the machine level). If such a detailed and system-near knowledge
is required for process administrators or application programmers in order to avoid
PAIS failures in the context of dynamic process instance changes, the battle will be lost
before it will have begun.
3 Challenges
Taking all together, the ease of use aspect was probably the most influential one for
our whole research. However, ease of use has different aspects and can be regarded
from different perspectives: the end user, the process implementer, and the application
developer. Our goal was to develop a technology which enables ease of use for all
of them. Sections 3.1 to 3.3, therefore, focus on this aspect. Other important aspects,
addressed in the ADEPT project as well, are discussed in Sections 3.4 and 3.5.
3.1 Challenge: Ease of use for process implementers
Ease of use for process implementers is influenced by several factors. An important
one is how complicated it is to create a new process schema; i.e., which constructs
and symbols are offered by the used process meta model, what is their semantics, how
intuitive is their usage, and what kind of meta model related constraints have to be
obeyed during process modeling? And it is also important that the process meta model is
expressive enough. As another relevant factor process implementers should not need to
know any implementation detail about the application functions the activities of a given
process schema shall be associated with; i.e., for them, preferably, there should be no
differences whether an application function is implemented as web service, Java library
routine, or call interface to a legacy system. Instead, these application functions should
all look like procedures or methods having input/output parameters. Finally, ease of use
for process implementers is also significantly influenced by the implementation effort
becoming necessary at their side in order to ensure that the composed process will be
executable without runtime errors (e.g., concerning testing). From the very beginning it
was clear for us that these factors must not exclude each other, but have to be considered
in conjunction.
To speed up application development we pursued the idea of process composition
in a “plug & play” style complemented by comprehensive correctness checks [13, 14]
(cf. Fig. 2). Our target was to accomplish these checks in such a way that runtime er-
rors during process execution can be excluded to a large extent. As prerequisite, data
flows and other dependencies among application services, which are relevant for their
execution order, must be somehow made known to the PAIS to be incorporated into
the correctness checks. From our practical experiences it further became clear that in-
tuitively usable modeling constructs and automated correctness checks alone will be
not sufficient. A too liberal process meta model may result in too many undetected
(semantical) modeling errors when checking correctness.
Another important issue concerns changes at the process type level. In the clini-
cal domain it is very important that applied treatment procedures reflect the prevailing
5
ADEPT-CSRD--39.doc 5
Process
Templates
Application
Functions
Repository
Process
Templates
Application
Functions
Repository
Figure 2: Composition of correct processes using plug & play [Dada97]
Another important issue in this context are process changes, more precisely changes of the process
schema. In the clinical domain it is very important that the applied diagnostic and therapeutic procedures
reflect the prevailing state of medical knowledge. Therefore, it must be possible to change these proce-
dures when the medical knowledge changes. Such a change may also affect ongoing process instances.
It must be possible to modify an existing process schema and to migrate its instances (as far as possible)
to the new schema, i. e. to perform process schema evolution [CCPP98]. However, as above, it must be
easy to use (for the process specialist), comprehensive changes must be possible, and correctness
checks on the system level should ensure robust execution of the adapted process instances.
3.2 Challenge: Ease of use for application developers
In the clinical domain (as typical for many other domains as well), one is confronted with existing (“leg-
acy”) applications, with specialized information systems, with different kinds of application functions and
services, different underlying implementations, with tasks which require user involvement, and with tasks
which can be automated. The challenge was to provide all these heterogeneous application functions and
services in a homogenized form to process implementer so that process composition in a plug & play
fashion as outlined in the previous section becomes reality. Our vision was that the process template fully
encapsulates the process with all its application functions and services, so that the process has just to be
“plugged” into the PAIS execution environment to be present. In addition, any manual activity coming with
a graphical (e. g. form-based) user interface shall smoothly integrate itself into the user’s desktop. Any
kind of “window over window over window” effect should be avoided. – This vision of “encapsulated proc-
ess templates” also gave the project its name: ADEPT = “Application Development based on Encapsu-
lated Premodeled Process Templates”.
Ease of use for application developers has meant to us, that we have to provide an easy to use imple-
mentation framework with easy to use application programming interfaces to perform these tasks. The
maxime was here: implemention of application components for PAIS should become not more compli-
cated than developing them for conventional application systems without process support. Especially, all
the complexity coming along with the support of ad-hoc flexibilty should not be put onto their shoulders, if
any possible.
3.3 Challenge: Ease of use for end-users
One aspect of “ease of use for end-users is certainly to obey the typical human factors when designing
the user interface, like placement of information at the desktop, arrangement of entry fields, buttons, se-
lection of colors etc. We also experimented a little bit with user interface design, but this was not our main
focus. Instead, we concentrated on the issue how to make ad hoc deviations at the process instance level
simple so that, in principle, a doctor or a nurse can perform them autonomously in most cases (supposed
that they have the permission to do that). From the explanations above it should be clear that every solu-
tion approach which requires at the users’ side a deeper understanding of system-internals like “process
states” and “data flows” would have to fight with big acceptance problems. And the approach would com-
pletely fail if it is the users’ responsibility to ensure that their modifications do not lead to any subsequent
run-time errors when continuing the execution of the process instance. No doctor or nurse would accept
to take this risk!
When providing an end-user interface for ad hoc modifications it is very important to provide a reasonable
level of abstraction. Ideally, users should only express what they want to have and it should be the PAIS’
task to figure out how to do that, in case the action is admissible, in principle. Figure 3a – h illustrate how
the interaction between the PAIS and the end-user may look like, presuming that the user is able to un-
Fig. 2: Composition of processes using plug & play [15]
state of medical knowledge. Therefore, it must be possible to adapt them when medical
knowledge changes. Such changes may also affect ongoing cases, i.e., it must be pos-
sible to modify a process schema and to migrate its instances to the new schema (we
denote this as process schema evolution [16, 17]). As motivated such change feature
should be easy to use (for the process specialist), comprehensive schema changes must
be possible, and correctness checks on the system level should ensure robust execution
of the adapted process instances.
3.2 Challenge: Ease of use for application developers
As typical for other domains, in a hospital we are confronted with legacy systems of-
fering special application functions to users. These legacy systems are implemented
based on different platforms, have tasks which require user involvement and such which
can be automated, and differ in their system interfaces, user interfaces, and interaction
styles. The challenge was to provide all these heterogeneous application functions in a
homogenized form to process implementers in order to make process composition in
a plug & play fashion a reality. Our vision was that the process template fully encap-
sulates the process with all its application functions and services, such that the process
just has to be “plugged” into the PAIS runtime environment to be executable. In ad-
dition, any manual activity coming with a graphical (e.g. form-based) user interface
should smoothly integrate itself into the user’s desktop; i.e., any kind of “window over
window over window” effect had to be avoided. - This vision of “encapsulated process
templates” also gave the project its name: ADEPT = Application Development based
on Encapsulated pre-modeled Process Templates”.
Ease of use for application developers meant to provide an easy to use implementa-
tion framework with intuitive application programming interfaces to perform all these
tasks. Our maxim was to make the implementation of application components for a
PAIS not more complicated than developing them for conventional application systems
without process support. Particularly, all complexity coming along with the support of
ad-hoc flexibility should not be put onto their shoulders.
6
3.3 Challenge: Ease of use for end users
Ease of use for end users includes adherence to typical human factors when designing
a user interface; e.g., placement of information at the desktop, arrangement of entry
fields, use of buttons, or selection of colors. We also experimented a little bit with
user interface design, but this was not our primary focus. Instead, we studied how to
make ad-hoc deviations at the process instance level as simple as possible, such that
- in principle - a doctor or nurse can perform them autonomously (supposed that they
have the permission to do that [18, 19]). From the above explanations it should become
clear that every solution approach that requires from users a deeper understanding of
system internals (e.g., “process states” and “data flows”) would have to fight with big
acceptance problems. And such approach would completely fail if it had been the user’s
responsibility to ensure that their ad-hoc changes do not lead to any subsequent runtime
errors in the execution of the modified process instance. No doctor or nurse would
accept to take this risk!
An end user interface for ad-hoc changes has to provide a sufficient level of ab-
straction. Users should only express what they want to be changed, but it should be the
PAIS’ task to figure out how to do that (in case the change is admissible). Fig. 3a-h illus-
trate how the interaction between PAIS and end user may look like, presuming that the
user is able to understand the meaning of a simplified (i.e. abstracted) process graph.
Regarding this example assume that during the execution of a process instance (e.g.,
the treatment of a certain patient under risk) an additional lab test becomes necessary.
Assume that this has not been foreseen at process implementation time (cf. Fig. 3a). As
a consequence, this particular process instance will have to be individually adapted if
the change request is approved by the system. After pressing the “exception button” (cf.
Fig. 3b), the user can specify the type of the intended ad-hoc change (cf. Fig. 3c). If an
insert operation shall be applied, for example, the system will display the application
functions that can be selected in the given context (cf. Fig. 3d). These can be simple
or complex application services, interactive or automatic application functions, or even
complete processes. Following this, the user simply has to state after which activities(s)
in the process the execution of the newly added activity shall be started and before
which activities(s) it shall be finished (cf. Fig. 3e). If the activity to be inserted requires
additional data for its input parameters, the PAIS will have to suggest the insertion of an
appropriate auxiliary task. Finally, the system checks whether or not resulting process
instance adaptations are valid (cf. Fig. 3f and Fig. 3g). All the validations needed to
avoid runtime errors in the sequel as well as the necessary adaptations of the process
structure, data flow, and instance state should be completely performed by the PAIS.
In addition, the PAIS should allow for “intelligent” adaptations. For example, in order
to enable a maximal degree of freedom in executing the newly added task, it should
be insertable in parallel to the activities which are located between the ones marked
as “after” and “before” in Fig. 3e (except that data flow dependencies require a more
restricted execution).
Note that this example illustrates a rather simple user interface. If more sophis-
ticated, knowledge-based user interfaces are needed (e.g. [20–22]) this dialog can be
simplified or even omitted. However, our process studies also revealed that ad-hoc
changes are not always that simple. In certain cases it is not sufficient to only replace
7
ADEPT-CSRD--39.doc 6
derstand the meaning of a simplied (i. e. abstracted) process graph. In this example it is assumed that
during the execution of a particular process instance (e.g., the treatment of a certain patient under risk) an
additional lab test becomes necessary. Assume that this has not been foreseen at process implementa-
tion time (cf. Figure 3a). As a consequence, this particular process instance will have to be individually
adapted if the change request is approved by the system. After the user has pressed the "exception but-
ton" (cf. Figure 3b), he can specify the type of the intended ad hoc change (cf. Figure 3c). If an insert
operation shall be applied, for example, the system will display the application functions that can be se-
lected in the given context (cf. Figure 3d).
Examinations
Wallace, Edgar
Smith, Karl
Miller, Anne
Jones, Isabelle
Exceptional case –
we need an additional
lab test !
Examinations
Wallace, EdgarWallace, Edgar
Smith, KarlSmith, Karl
Miller, AnneMiller, Anne
Jones, IsabelleJones, Isabelle
Exceptional case –
we need an additional
lab test !
Examinations
Wallace, Edgar
Smith, Karl
Miller, Anne
Jones, Isabelle
Exception
Examinations
Wallace, EdgarWallace, Edgar
Smith, KarlSmith, Karl
Miller, AnneMiller, Anne
Jones, IsabelleJones, Isabelle
Exception
a) An exception occurs b) User presses the "exception button"
Examinations
Wallace, Edgar
Smith, Karl
Miller, Anne
Jones, Isabelle
Exception
Insert task?
Delete task?
Shift task?
Examinations
Wallace, EdgarWallace, Edgar
Smith, KarlSmith, Karl
Miller, AnneMiller, Anne
Jones, IsabelleJones, Isabelle
Exception
Insert task?
Delete task?
Shift task?
Select Activity
Schedule counsel examination
Lab Test
Prepare patient for operation
Inform patient
Wash patient
Schedule examination date
.........
Examinations
U Wallace, Edgar
U Miller, Anne
U Smith, Karl
U Jones, Isabelle
Select Activity
Schedule counsel examination
Lab Test
Prepare patient for operation
Inform patient
Wash patient
Schedule examination date
.........
Examinations
U Wallace, Edgar
U Miller, Anne
U Smith, Karl
U Jones, Isabelle
c) User selects type of the ad hoc change d) User selects activity to be inserted
Explanation
Operation Risks
X-Ray
Check
Anesthesiology
Examination
End
Start
Examinations
U Wallace, Edgar
U Miller, Anne
U Smith, Karl
U Jones, Isabelle
Start immediately,
,results are
needed before explanation of
operation risks
Explanation
Operation Risks
X-Ray
Check
Anesthesiology
Examination
EndEnd
StartStart
Examinations
U Wallace, Edgar
U Miller, Anne
U Smith, Karl
U Jones, Isabelle
Start immediately,
,results are
needed before explanation of
operation risks
Explanation
Operation Risks
X-Ray
Check
Anesthesiology
Examination
End
Start
Examinations
U Wallace, Edgar
U Miller, Anne
U Smith, Karl
U Jones, Isabelle
ADEPT
Checking if insertion
of step is possible
- Please wait -
Explanation
Operation Risks
X-Ray
Check
Anesthesiology
Examination
End
Start
EndEnd
StartStart
Examinations
U Wallace, Edgar
U Miller, Anne
U Smith, Karl
U Jones, Isabelle
ADEPT
Checking if insertion
of step is possible
- Please wait -
ADEPT
Checking if insertion
of step is possible
- Please wait -
e) User specifies where to insert the activity f) System checks validity of the change
Explanation
Operation Risks
X-Ray
Check
Anesthesiology
Examination
End
Start
Examinations
U Wallace, Edgar
U Miller, Anne
U Smith, Karl
U Jones, Isabelle
ADEPT
Insertion is possible!
Great !!
Explanation
Operation Risks
X-Ray
Check
Anesthesiology
Examination
End
Start
EndEnd
StartStart
Examinations
U Wallace, Edgar
U Miller, Anne
U Smith, Karl
U Jones, Isabelle
ADEPT
Insertion is possible!
ADEPT
Insertion is possible!
Great !!
Lab Test
Examinations
U Wallace, Edgar
U Miller, Anne
U Smith, Karl
U Jones, Isabelle
Explanation
Operation Risks
X-Ray
Check
Anesthesiology
Examination
OK, now let us
continue with the
examination !
Lab TestLab Test
Examinations
U Wallace, Edgar
U Miller, Anne
U Smith, Karl
U Jones, Isabelle
Explanation
Operation Risks
X-Ray
Check
Anesthesiology
Examination
OK, now let us
continue with the
examination !
g) Change can be applied h) User continues work
Figure 3: Executing an ad hoc modification from the end-user's point of view
These can be simple or complex application components (e.g., "write letter” or "send email vs. applica-
tion services), interactive or automatic functions, or even complete processes. Now the user simply has to
Fig. 3: Executing an ad hoc modification from the end-user’s point of view
8
one activity by another or to just add a single activity directly before or after the cur-
rently activated one. And it is also not predictable in advance which parts of the process
may be affected by a change. Therefore, we must also enable comprehensive structural
changes that may rearrange large parts of the process or even completely replace them.
Such complex changes are certainly beyond that what normal end users are able to do.
Instead they require someone with appropriate knowledge in process modeling and pro-
cess change. Such a person should have an interface which offers a comprehensive set
of change operations. However, also in this case the PAIS should ensure robustness of
the modified process instance.
In environments where exceptions and thus ad-hoc deviations occur rather fre-
quently, it is often desirable to use a knowledge management system to support the
user in detecting whether or not a similar exception already occurred in the past. Such
a component should store which decisions were made with which success to solve the
problem. By coupling it with the PAIS, it would become possible to conveniently “re-
cycle” previous decisions and to automatically reapply changes at the process instance
level [23–25, 22].
Not directly related to ease of use, but also important for end users are response
times in connection with ad-hoc changes. Especially in the clinical domain, very likely,
ad-hoc changes often will have to be performed under time pressure. Therefore, re-
sponse times of the PAIS in the range of several seconds or even minutes (e.g., to decide
on the correctness of an intended ad-hoc change) are not acceptable. (Usually 3 seconds
of response time are considered as upper limit for interactive tasks.) This means that the
resulting solution must also use efficient algorithms for adapting process instances and
for checking their correctness. Further, they must ensure short response times for sce-
narios in which many process instances are simultaneously executed by the PAIS. And
the latter will be the normal case in large-scale environments where thousands of pro-
cess instances are concurrently executed at the same time [26].
3.4 Complex ad-hoc changes and schema evolution
As discussed in Section 3.3 a PAIS should allow to handle all kinds of exceptional sit-
uations. In order to enable this without need for circumventing the PAIS, arbitrarily
complex ad-hoc changes at the process instance level must be possible; e.g., autho-
rized users should be allowed to move activities or whole process fragments to another
position in the process graph.
Another important change aspect is to enable process schema evolution at the type
level. Like other companies, hospitals are continuously adapting their organizational
structures, are changing staff responsibilities, are outsourcing or insourcing tasks, and
so forth in order to improve their (business) processes or to adequately react on changes
in legislation or market demands. Many of these changes directly affect the processes
supported by their (clinical) PAIS, i.e., these processes have to be adapted accordingly.
While in some cases only simple attribute changes are required (e.g., to adapt the staff
assignment rule of an activity), in others complex structural changes of the process
schema become necessary. In case of short-running processes, usually, it is sufficient
to finish the already started process instances according to the old process schema,
while new process instances refer to the new schema. However, at the presence of long-
9
running processes (months up to years) or in case of important and pressing changes
this is not sufficient. Then it must be possible to perform process schema evolution,
i.e., to migrate the process instances to the new schema version. Note that this also in-
cludes process instances which have been individually modified. - This is typical for
today’s environments where processes are executed manually; it will be hard to accept
for companies if a PAIS does not support that. Both, complex ad-hoc changes and pro-
cess schema evolution must be easy to accomplish for process experts. They should not
require deep knowledge about system internals and not require to modify processes at
a low level of abstraction.
3.5 Further requirements and challenges
To stay focused this paper concentrates on the technological challenges related to the
described ease-of-use aspects showing how they influenced our solutions and how we
dealt with the constraints we had to obey. In order to give a somewhat more complete
picture of the problem domain, however, we want at least briefly mention some other
challenges we were also confronted with.
Hospitals and especially university hospitals are large enterprises comprising many
specialized clinics, having a large number of employees (often several thousand), and
being confronted with thousands of “cases” (i.e. patients) which must be handled si-
multaneously. Therefore, any PAIS which does not scale up and which does not work
in a cross-organizational setting will fail in such an environment. As the clinics of a
university hospital may be geographically dispersed, it is rather unrealistic to assume
that a centralized PAIS will always be the appropriate solution. Instead, concepts for
the flexible, distributed execution of processes had to be found [27, 26, 28, 29].
Hospitals are often confronted with patients having multiple injuries, e.g., as a result
of a traffic accident. Assume that such a patient has a broken leg and some injury to his
head which have to be treated. It is not very likely that a process schema exists to
handle these two injuries in common. Instead, a process schema for handling injured
extremities and another for dealing with head injuries may exist. Obviously, as they
affect the same patient in this case, they cannot be executed completely independent
from each other. Problems of this kind require concepts for inter-process coordination
[30, 31].
Deadlines and temporal constraints play an important role in the clinical domain as
well. Typically an appointment (e.g., for performing a surgery) is made for a certain day
and time which requires some preparatory activities. These should be scheduled at the
appropriate points in time and warnings should be given by the PAIS if processing of the
remaining activities at normal speed would jeopardize the deadline. Or in preparation
of an examination the administration of some drug might become necessary. This drug
should be administered not too early and not too late to achieve the desired effects.
Future PAIS should therefore incorporate appropriate support for temporal constraint
management [3, 32].
Finally, there are other challenges we have dealt with, but which we cannot discuss
in detail. They include issues related to the learning from changes [33, 34], the efficient
representation of changes in adaptive PAIS [35, 36], the visualization of business pro-
10
cesses [37], and the evolution of organizational models and corresponding access rules
[38, 18, 39].
4 Technological challenges and our vision
The technological challenges elaborated in the previous sections can be summarized
as follows: We wanted to develop a PAIS which is by order of magnitudes more pow-
erful and flexible than contemporary PAIS are, and whose change features are easy to
use for end users, process implementers, and application developers. This sounds like
a contradiction in itself, because we all know: “There ain’t no such thing as a free
lunch. However, regarding the mentioned user groups for which ease of use shall be
achieved, we can see that one party is missing: the implementers of the fundamental
PAIS technology. And we had one shining example to follow which had enabled ease
of use by hiding the complexity beneath the surface: relational database technology. On
the one hand, it was the first database technology which made it possible to support at
the system level automatic query optimization, data independence from physical stor-
age structures (relations, indexes), and powerful transaction-based concurrency control.
On the other hand, it offered a user interface (SQL) which was by orders of magnitudes
easier to learn and to use than the database interfaces before. And this was possible
because it was based on powerful theories (relational algebra, query optimization, con-
currency control). - Our hope (and basic belief) was that we can achieve a similar effect
for PAIS if we are able to develop the adequate underlying theory.
Our ambition was to develop a technology for PAIS, which is broadly applicable,
i.e., not only to simple administrative processes, but also to highly dynamic and com-
plex ones (e.g., diagnostic and therapeutic processes [40, 20, 21, 12]). The challenge
was to develop a technology which supports “correctness by construction” during pro-
cess composition and which guarantees correctness in the context of ad-hoc changes
at the process instance level. This challenge was probably the most influential one for
the whole ADEPT project. It had significant impact on the development of the ADEPT
process meta model as well as on our work on process flexibility and process adaptivity.
It meant, in essence, the following:
1. We have to hide the inherent complexity of process-orientation (especially in con-
junction with flexibility) as far as possible from system administrators and applica-
tion programmers; i.e, we have to perform all complex things “beneath the surface”
in the process management system.
2. We have to provide powerful, high-level interfaces to application programmers,
based on which they can implement easy to use end user interfaces.
When developing the ADEPT process meta model we were in a dilemma. On the
one hand our analyses had shown that clinical processes can be complex structured;
e.g., comprising alternative/parallel branchings and loops. A process meta model should
therefore provide appropriate concepts to represent these structures adequately, i.e., it
should be expressive enough. On the other hand our goal was to enable comprehensive
and efficient correctness checks during process modeling as well as in conjunction with
ad-hoc instance changes. The available theoretical works on flexible processes at that
11
time either required simple process models (e.g., without loops [41], or without consid-
ering data flow [41, 42]), or required expensive analyses to decide whether or not the
desired ad-hoc change can be granted [43].
Expressiveness of a process meta model has two major aspects: One is the ability
to model a large variety of control flow structures in terms of process patterns [44]. An-
other one is how easy the semantics of the meta model constructs or the resulting control
flows can be understood. First experiences indicated that process modeling based on
states and transitions (as used in Petri Nets for example) is not very easy to understand
for end users (i.e., doctors and nurses in our case). Another issue was that this notation
quickly leads to large process models due to many symbols. Opposed to that, Activ-
ity Nets [45] were much easier to understand, but this approach had other weaknesses,
including the missing support of loops and the context-dependent execution semantics
of nodes; e.g., depending on its context the syntactic symbol for an activity node may
represent a normal (sequential) node, an XOR split/join, or an AND split/join. We also
elaborated other formalisms (e.g., state and activity charts, rule based approaches), but
considered them not being appropriate for our purpose. Altogether the procedure of
defining the ADEPT process meta model was no easy task and lasted several months
during which we evaluated many aspects and their impact on the meta model and vice
versa. Most headaches were caused by two partially conflicting goals: expressiveness
and formal verification. All ideas were evaluated against the clinical processes we had
acquired in our hospital projects.
The resulting process meta model as illustrated in Fig. 4 (see [46, 47] for details)
does not look very fancy at first glance. However, its “ingredients” were carefully se-
lected and complement each other. Thus the process meta model is very helpful with re-
spect to formal verification, ad-hoc changes, and process schema evolution. Its strength
is the underlying theory which supports both correctness by construction and efficient
consistency checks [48, 49]. This theory precisely defines correctness criteria for the
ADEPT meta model (e.g., absence of deadlocks, no isolated nodes, all data flows cor-
rect under all possible executions). It defines a comprehensive set of change operations
with pre-/post-conditions which ensure that, if the desired change satisfies the precon-
ditions, the resulting process schema will again be correct. The ADEPT change opera-
tions, for example, allow to serially insert an activity between two nodes, to insert it in
parallel or between two node sets, to move activities, to delete activities, and so forth.
All these operations obey that data flow correctness is not violated [48, 47].
Another important property of the ADEPT process meta model is that it incorpo-
rates not only the information on the current state at the instance level, but also infor-
mation on how this state was reached. This allows to quickly decide whether a desired
ad-hoc change can be granted or whether it affects an already passed region of the pro-
cess instance. The latter could (among other things) cause data flow problems and is
therefore prohibited (with some exceptions concerning loops [17]).
The block structuring of the process meta model was motivated by three aspects:
First, experiments have shown that they are easier to handle and to understand for users
when compared to unstructured process models. Second, it allows to restrict the area in
the graph which has to be analyzed in the context of ad-hoc changes. This, in turn, helps
12
to speed up the required analyses [48]. Third, it significantly simplifies the resulting
structural adaptations of the process schema [49].
Fig. 4: ADEPT Process Meta Model
5 Achievements
The achievements described in the following refer to the ADEPT2 technology, and are
structured along the challenges identified in Section 3.
5.1 Achievement: Ease of use for process implementers
For process modeling, ADEPT2 provides an intuitive graphical editor. It applies a cor-
rectness by construction principle by providing at any time only those operations to the
process implementer which allow to transform a structurally correct process schema
into another one.
Operations are enabled or disabled according to which region in the process graph
is marked for applying an operation. Fig. 5 and Fig. 6 illustrate this relationship.
In Fig. 5a no nodes are marked. As a result, all operations in Fig. 6a are disabled,
except Insert Data Element (which is not visible here). In Fig. 5b only activity “Or-
derProc” is marked and, therefore, those operations are enabled (cf. Fig. 6b) whose
effects comply with this selection (e.g., to insert a surrounding AND block, a surround-
ing XOR block, a surrounding loop block, or to delete the selected activity). In addition,
Insert Data Element (which is always applicable) is selectable again. In Fig. 5c two
13
ADEPT-CSRD--39.doc 10
formal verification, ad hoc changes, and process schema evolution. Its strength is the underlying theory
which supports both, correctness by construction as well as efficient consistency checks [ReDa98,
WRR08]. This theory precisely defines correctness criteria for the ADEPT process model (e. g. absence
of deadlocks, no isolated nodes, exactly one start end and one end node, all data flows correct under all
possible executions). It defines a comprehensive set of change operations with preconditions and post-
conditions which ensure that – if the desired change satisfies the preconditions – the resulting process
graph is again correct. The change operations comprise simple serial inserts between two nodes, parallel
insert between node sets, move operations, delete operations, etc. Of course, all these operations obey
that the correctness of the data flows is not violated (for a detailed description see [ReDa98]).
Another important property of the ADEPT process meta model is that it incorporates not only the informa-
tion on the current state at the instance level but also information how this state has been reached. This
allows to quickly decide whether a desired ad hoc change could be granted or if it would affect an histori-
cal state of the process instance. The latter could (among other things) cause data flow problems and,
therefore, is prohibited. – The block structuring of the process meta model was motived by three aspects:
Fristly, some experiments with users have shown that they are easier to handle and to understand for
them than when using unstructered process models. Secondly, it allows to restrict the area in the graph
which has to be analyzed in the context of ad hoc changes which in turn helps to speed up the required
analyses [ReDa98]. Thirdly, it simplifies significantly the resulting structural adaptations of the process
graph.
5 Achievements
For the subsequent discussion we refer to the challenges described in Section 3.
5.1 Achievement: Ease of use for process implementers
For process modelling, ADEPT2 provides an easy to understand graphical user interface. It applies a
"correctness by construction" principle by providing at any time only those operations to the process im-
plementer which transform a structurally correct process scheme into another structurally correct process
scheme. Operations are enabled or disabled according to which region in the graph has been marked for
applying an operation. Figure 5 and Figure 6 illustrate this relationship. In Figure 5.a no nodes are
marked. As a result, all operations in Figure 6.a are disabled, except "Insert Data Element" (which is not
visible here). In Figure 5.b only the node "OrderProc" is marked and, therefore, those operations are
enabled (cf. Figure 6.b) whose effects are precisly defined by this marking, like, e. g., Insert a surrounding
AND block, a surrounding XOR block, a surrounding loop block, or the deletion of the selected node. Also
"Insert data element" (which is always applicable) would be selectable again. In Figure 5.c two directly
adjacent nodes are marked. The green color indicates "begin of marked area" and the blue color indi-
cates "end of marked area". Again, those operations are enabled whose effect is precisely defined by
such kind of marking (cf. Figure 6.c): In addition to the operations of the previous example, also the "in
between" variants of these insertions are now enabled as well as the operation "Insert Node". At first
glance it may be astonishing that the marking illustrated in Figure 5.d only enables the operations illus-
trated in Figure 6.d (plus "Insert Data Element"). However, only for these operations the effect is precisely
defined by these markings. – Deficiencies not prohibited by this approach are checked on the fly and
reported continuously in the problem window of the Process Template Editor as illustrated in Figure 7.
a)
b)
c)
d)
Figure 5: Markings in the process graph
Fig. 5: Markings in the process graph
ADEPT-CSRD--39.doc 11
a) b) c) d)
Figure 6: Enabled change operations
Another important goal was make the assignment of application functions or services to process steps as
simple as possible. That is a conventional process implementer should not need to have any detailed
knowledge about implementation details of these components. However, this should not be achieved for
the price to undermine the correctness by construction principle. Both goals have been fully achieved. All
kinds of executables which can be associated with process steps are first registered in the Activity Re-
pository as so-called Activity Templates. An activity template provides all information to the Process
Template Editor (more precisely: the ADEPT2 service functions it is utilizing for this purpose) about man-
datory or optional input and input parameters as well as data dependencies to other activity templates.
The process implementer just drags and drops an activity template from the Activity Repository Browser
window of the Process Template Editor (see Figure 8) onto the desired location in the process graph like
indicated in Figure 2.
Figure 7: Reporting of detected deficiencies
Fig. 6: Enabled change operations
adjacent nodes are marked. The green color4indicates “begin of marked area” and the
blue color5indicates “end of marked area”. Again, those operations are enabled whose
effect is precisely defined by such kind of marking (cf. Fig. 6c): In addition to the op-
erations of the previous scenario, also the “in between” variants of the insertions are
now enabled as well as the operation Insert Node. Finally, regarding the marking
from Fig. 5d, at first glance, it might be astonishing that only the operations depicted in
Fig. 6d (plus Insert Data Element) are enabled. However, only for these operations
the effect is precisely defined for the given markings.
Deficiencies not prohibited by this approach (e.g., concerning data flow) are checked
on-the-fly and are reported continuously in the problem window of the Process Tem-
plate Editor (cf. Fig. 7). Another goal was to make the assignment of application func-
tions to process steps as simple as possible; i.e., a process implementer should not
4light gray in a grayscale printout
5dark gray in a grayscale printout
14
need to know details about the implementation of application functions. However, this
should not be achieved by undermining the correctness by construction principle. Both
goals have been achieved. All kinds of executables, that may be associated with process
steps, are first registered in the Activity Repository as activity templates. An activity
template provides all information to the Process Template Editor about mandatory or
optional input and output parameters, as well as information about data dependencies
to other activity templates. The process implementer just drags and drops an activity
template from the Activity Repository Browser window of the Process Template Editor
(cf. Fig. 8) onto the desired location in the process graph (cf. Fig. 2).
ADEPT-CSRD--39.doc 11
a) b) c) d)
Figure 6: Enabled change operations
Another important goal was make the assignment of application functions or services to process steps as
simple as possible. That is a conventional process implementer should not need to have any detailed
knowledge about implementation details of these components. However, this should not be achieved for
the price to undermine the correctness by construction principle. Both goals have been fully achieved. All
kinds of executables which can be associated with process steps are first registered in the Activity Re-
pository as so-called Activity Templates. An activity template provides all information to the Process
Template Editor (more precisely: the ADEPT2 service functions it is utilizing for this purpose) about man-
datory or optional input and input parameters as well as data dependencies to other activity templates.
The process implementer just drags and drops an activity template from the Activity Repository Browser
window of the Process Template Editor (see Figure 8) onto the desired location in the process graph like
indicated in Figure 2.
Figure 7: Reporting of detected deficiencies
Fig. 7: Reporting of detected deficiencies (problem window on the left at the bottom)
Depending on the intended purpose of usage, an activity template can be very spe-
cific or rather generic. When using a specific template everything can be fixed; e.g., the
input and output parameters and all settings. In this case, the only remaining task for
the process implementer is to check whether the proposed mapping of input/output pa-
rameters to process data elements (i.e., the process variables used within this process to
communicate among activities) is correct. Using a specific database activity template,
for example, allows to fix the input and output parameters, the details of the database
used, the connection parameters, and the fully specified SQL statement. A more generic
Activity Template, in turn, may leave open the SQL statement, the number and types
15
ADEPT-CSRD--39.doc 12
Depending on the intended purpose of usage, such an activity template can be very specific or rather
generic. When using a specific activity template, everything may be fixed (the input parameters, the out-
put parameters, all settings, etc.). In this case, the only remaining task for the process implementer is to
check whether the proposed mapping of the input and output parameters to process data elements (i. e.,
the process variables used within this process to communicate among activities) is correct. Using a very
specific database actitivity template, in turn, may mean that everyting is fixed: the input and output pa-
rameters, the details of the database used and the connection parameters as well as the fully specified
SQL statement. A more generic Activity Template may leave open the SQL statement, the number and
types of input and output parameters, or the settings for the database connection (in parts or even com-
pletely).
5.2 Achievement: Ease of use for application developers
As indicated in Section 5.1, all application functions and services are represented in ADEPT2 by Activity
Templates. That is any developer who wants to provide a new application function or service will have to
implement a suitable activity template and put it into the Activity Repository. This makes an activity tem-
plate available and accessible within the Process Template Editor during process modeling, as illustrated
in Figure 8. To simplify the implementation of such activity templates, ADEPT2 provides several levels of
abstraction.
At the lowest level ADEPT2 provides a so-called Execution Environment for each kind of basic operation
which ADEPT2 supports. Among others, ADEPT2 offers execution environments for SQL statements,
web services, EXE files, BeanShell scripts, basic file operations, system-generated forms, etc. However,
the implementation of an execution environment requires some knowledge about ADEPT2 internals and,
therefore, will typically not be the task of an ordinary application developer, but will be performed by sys-
tem implementers.
Figure 8: Activity Repository Browser window in the Process Template Editor
Fig. 8: Activity Repository Browser window in the Process Template Editor
of input and output parameters, or the settings for the database connection (in parts or
even completely).
5.2 Achievement: Ease of use for application developers
As discussed in the previous section, all application functions are represented by ac-
tivity templates; i.e., a developer who wants to provide a new application function or
service must implement a corresponding activity template and add it to the Activity
Repository. This makes it then available and accessible within the ADEPT2 Process
Template Editor during process modeling (cf. Fig. 8). To simplify the implementation
of such activity templates, ADEPT2 provides several levels of abstraction. At the lowest
one ADEPT2 provides a so-called Execution Environment for each kind of basic oper-
ation supported by ADEPT2. For example, ADEPT2 offers execution environments for
SQL statements, web services, EXE files, BeanShell scripts, basic file operations, and
system-generated forms. However, the implementation of an execution environment re-
quires some knowledge about ADEPT2 internals and, therefore, will typically not be
16
the task of an ordinary application developer, but will be performed by system imple-
menters.
An execution environment defines the set of methods needed to interact with the
ADEPT2 runtime system as well as to implement the operations and facilities that shall
be provided by the activity template. An activity template for database access, for ex-
ample, may allow the user to specify connection details as illustrated in Fig. 9.
In general, the ADEPT2 runtime environment needs some information about the
runtime behavior of the activities; e.g., whether or not they may be aborted, suspended,
or undone. The implementer of an activity template has to implement interface methods
that inform the ADEPT2 runtime environment which of these facilities are supported by
the activity. For this case he must also provide the implementation of this functionality
(see [50] for background information on ADEPT2 internals). The task of implementing
a new activity template will be simple, if it can be based on a generic activity template.
In this case, the implementation is essentially reduced to putting the appropriate entries
into the set of forms representing the activity template. For example, if a database activ-
ity template shall be implemented which selects a tuple from a predefined relation in a
predefined database based on a primary key value, one form will fix the required input
parameters and the output parameters for the attribute values of the tuple, a second one
the database connection (cf. Fig. 9), and a third one the SQL statement (cf. Fig. 10).
- Fig. 8 lists examples of specialized activity templates which offer different kinds of
operations on a customer table.
Fig. 9: Setting connection details in a DB activity template
5.3 Achievement: Ease of use for end users
To provide ease of use for end users is mainly the task of application developers. They
decide how “manual” process activities interact with the end user. They also decide
whether the standard ADEPT2 workflow client is used or whether a dedicated client
17
ADEPT-CSRD--39.doc 13
An execution environment implements the set of methods needed to interact with the ADEPT2 run-time
system and to implement the desired operations and facilities which shall subsequently be offered by the
activity template. The resulting activity template for database access may allow the user to specifiy con-
nection details as illustrated in Figure 9. The ADEPT2 run-time environment, in turn, needs some informa-
tion about the run-time behaviour of these activities: are they abortable, suspensible, resettable, and
closeable? The implementer of an activity template has to implement methods which inform the ADEPT2
run-time environment which of these facilities is supported by the activity and, in case, has also to provide
the respective implementation for this functionality. (For some more background information on ADEPT2
internals see [Reic08].)
The task of implementing a new activity template is extremely simple, if it can be based on a generic Ac-
tivity Template. In this case, the implementation is essentially reduced to putting the appropriate entries
into the set of forms representing the activity template. For example, if a database activity template shall
be implemented which selects a tuple from a predefined relation in a predefined database based on a
primary key value, one form will fix the required input parameter, the output parameter(s) for the attribute
values of the tuple, the database connection (cf. Figure 9), and the SQL statement (cf. Figure 10). –
Figure 8 shows some examples of specialized activity templates which offer different kinds of operations
on the customer table.
Figure 9: Specifying connection details in a database activity template
Figure 10: Database activity template with predefined SQL statement
5.3 Achievement: Ease of use for end-users
To provide ease of use for end-users is mainly the task of the application developers. They decide how
"manual" process activities interact with the end-user. They also decide whether or not the standard
ADEPT2 workflow client is used or whether a dedicated client shall be provided. An important prerequiste
for providing an easy to use end-user interface is to provide the appropriate functions to the application
developer. In Figure 3 we have shown how an interaction with the end-user could look like in order to
perform an ad hoc deviation. To implement a workflow client with such capabilities, the application devel-
Fig. 10: DB activity template with defined SQL statement
shall be provided. An important prerequisite for realizing adequate user interfaces is to
provide the appropriate methods to the application developer. In Fig. 3 we have shown
how an interaction with the end user could look like when performing an ad-hoc change.
To implement a workflow client with such capabilities, the application developer can
make use of powerful system functions available at the ADEPT2 application program-
ming interface (API):
Querying the activity repository (using some filtering) for available activities
Marking the activity (or set of activities) after which the new activity shall become
selectable
Retrieving from ADEPT2 the set of activities selectable as “end” activities for this
insertion
Marking the activity (or set of activities) which shall serve as end activities
Performing (tentatively) the insertion based on this information
Checking the ADEPT2 report on detected errors (e.g. missing values for input pa-
rameter)
Making the instance change persistent
Using this API one can also implement domain-specific clients. In [21], for exam-
ple, a knowledge-based approach was used to perform most of the process instance
adaptations automatically without user interaction.
5.4 Achievement: Complex ad hoc changes and process schema evolution
Fig. 11 and Fig. 12 illustrate how a non-trivial ad hoc change could look like. As ex-
ample assume that a process instance wants to issue a request for a book quote using
Amazon’s web service facilities, but then fails in doing so. The user detects that his
process instance is in trouble and calls the system administrator for help. The system
administrator then invokes the ADEPT2 Process Monitor to take a look at this process
instance (cf. Fig. 11). Looking into the execution log of the failed activity he detects
18
that its execution failed because the connection to Amazon could not be established.
Let us assume that he considers this as a temporary problem and offers the user to re-
set this activity so that it can be repeated once again. Being a friendly guy, he takes a
short look at the process instance and its data flow dependencies, and sees that the result
of this and the subsequent activity is only needed when executing the “Choose offer”
activity. Therefore, he offers the user to move these two activities after activity “Check-
SpecialOffers”; i.e., the user can continue to work on this process instance before the
PAIS once again tries to connect to Amazon.
ADEPT-CSRD--39.doc 14
oper can make use of powerful system functions available at the ADEPT2 application programming inter-
face (API) like:
- Querying the activity repository (using some filtering) for available activities
- Marking the activity (or set of activities) after which the new activity shall become selectable
- Retrieving from ADEPT2 the set of activities selectable as "end" activities for this insertion
- Marking the activity (or set of activities) which shall serve as end activities
- Performing (tentatively) the insertion based on this information
- Checking the ADEPT2 response whether any errors have been detected
(e. g. missing input values for input parameters)
- Making the instance change persistent
However, using this API one can also implement completely different workflow clients. In [Grei05], for
example, a knowledge-based approach was used to perform most of these process instance adaptations
automatically without user interaction.
5.4 Achievement: Complex ad hoc changes and process schema evolution
As motivated in in Section 3.4, also complex ad hoc changes must be possible. Figure 11 and Figure 12
illustrate how such a non-trivial ad hoc change could look like. As example, assume that a process in-
stance wants to issue a request for quote for a book using Amazon's web service facilities and but fails in
doing so. The user detects that his process instance is in trouble and calls the system administrator for
help. The system administrator invokes the ADEPT2 Process Monitor to take a look at this process in-
stance (cf. Figure 11). Looking into the execution log of the failed activity he may detect that its execution
failed because the connection to Amazon could not be established. Let us assume, that he considers this
as a temporary problem and offers the user to reset this activity so that it can be repeated once again.
Being a friendly guy, he takes a short look a the process instance and its data flow dependencies and
sees that the result of this and the subsequent activity is only needed when executing the "Choose offer"
activity. He, therefore, offers the user to move these two activities after the activity "CheckSpecialOffers",
so that the user can continue to work on this process instance before the PAIS once again tries to con-
nect to Amazon.
Figure 11: Process Monitor: Monitoring Perspective
In order to do so, he would switch to the Instance Change Perspective of the Process Monitor which pro-
vides the same spectrum of change operations as the Process Template Editor. In fact, it 'is' the Process
Template Editor. However, it is aware that a process instance has been loaded and, therefore, all the
instance-related state information is taken additionally into account when enabling or disabling change
operations and when performing correctness checks. The system administrator would now mark the two
nodes "Get Amazon offer" and "Get Amazon price" as source area and the nodes "CheckSpecial Offer"
and "Choose offer" as target area and then perform the operation "Move nodes". The resulting process
graph is illustrated in Figure 12. He could also offer to move the node "RetrieveSnailOffer" (where we are
wating for an E-Mail response) after "CheckSpecialOffer" as well, then "CheckSpecialOffer" would be-
come immediately selectable (and thus executable). – Assume, the web service problem lasts longer and,
Fig. 11: Process Monitor: Monitoring Perspective
In order to accomplish this change he would switch to the Instance Change Per-
spective of the Process Monitor which provides the same set of change operations as
the Process Template Editor. In fact, it is the Process Template Editor, but is aware that
a process instance has been loaded and, therefore, all instance-related state information
is taken additionally into account when enabling or disabling change operations and
when performing correctness checks. The system administrator would now mark the
two nodes “Get Amazon offer” and “Get Amazon price” as source area and the nodes
“CheckSpecial Offer” and “Choose offer” as target area, and then perform the opera-
tion Move nodes. The resulting process graph is depicted in Fig. 12. Another option
would be to move node “RetrieveSnailOffer” (where we are waiting for an E-Mail re-
sponse) after “CheckSpecialOffer” as well. Then “CheckSpecialOffer” would become
immediately selectable and thus executable.
Assume now that the web service problem lasts longer than expected and, therefore,
the user may want to call Amazon by phone to get the price that way. In this case we
would ask the system administrator to delete the two activities in trouble and to replace
them with a form-based activity (which allows to enter the price manually and thus
provides the value for the data element previously written by activity “Get Amazon
price”).
19
ADEPT-CSRD--39.doc 15
therefore, the user may want to call Amazon by phone to get the price that way. In this case we would ask
the system adminstrator to delete the two activities in trouble, to replace them with a form-based activity
which allows to enter the price manually and which would provide the value for the data element which
was previously served by the activity "Get Amazon price".
With respect to process schema evolution, important goals were to allow the full spectrum of change op-
erations, to migrate both, not modified and individually modified process instances (as far as possible),
and to hide (at best all) the inherent complexity of performing all the necessary checks as well as the
required instance state adaptions as far as possible from the person in charge to perform this task. We
invested a lot of energy into this area in order to find an comprehensive solution to the problem [Rind04,
RRD04,RRD04b, RRD04c], but the results have justified these efforts.
Figure 12: Process Monitor: Instance Change Perspective
ADEPT Process
Composer
Repository
Process
Templates Application
Functions
Process Designer /
Process Administrator
ADEPT Process
Composer
ADEPT2 Process
Composer
Create Process Template
Modify Process Template
Check Process Template
Repository
Process
Templates Application
Functions
RepositoryRepository
Process
Templates Application
Functions
Process Designer /
Process Administrator
...
Anwendungen / Application Server
Process 4
Process 3
Process 2
Process 1
Process 6
Process 5
Process 11
Process 10
Process 9
Process 8
Process 7
Process 14
Process 13
Process 12
ADEPT Process Management System
Process Execution Engine
Msg Queuing
Time MgmtAuthorization
Std Client API Web Clnt API
Role Mgmt
Dyn. Change APIModeling API
Admin. API
Recovery Audit Trail ...
...
Anwendungen / Application Server
Process 4
Process 3
Process 2
Process 1
Process 6
Process 5
Process 11
Process 10
Process 9
Process 8
Process 7
Process 14
Process 13
Process 12
ADEPT Process Management System
Process Execution Engine
Msg Queuing
Time MgmtAuthorization
Std Client API Web Clnt API
Role Mgmt
Dyn. Change APIModeling API
Admin. API
Recovery Audit Trail ...
ADEPT Process
Composer
Repository
Process
Templates Application
Functions
RepositoryRepository
Process
Templates Application
Functions
Process Designer /
Process Administrator
ADEPT Process
Composer
ADEPT2 Process
Composer
Create Process Template
Modify Process Template
Check Process Template
RepositoryRepository
Process
Templates Application
Functions
RepositoryRepository
Process
Templates Application
Functions
Process Designer /
Process Administrator
...
Anwendungen / Application Server
Process 4
Process 3
Process 2
Process 1
Process 6
Process 5
Process 11
Process 10
Process 9
Process 8
Process 7
Process 14
Process 13
Process 12
ADEPT Process Management System
Process Execution Engine
Msg Queuing
Time MgmtAuthorization
Std Client API Web Clnt API
Role Mgmt
Dyn. Change APIModeling API
Admin. API
Recovery Audit Trail ...
...
Anwendungen / Application Server
Process 4
Process 3
Process 2
Process 1
Process 6
Process 5
Process 11
Process 10
Process 9
Process 8
Process 7
Process 14
Process 13
Process 12
ADEPT Process Management System
Process Execution Engine
Msg Queuing
Time MgmtAuthorization
Std Client API Web Clnt API
Role Mgmt
Dyn. Change APIModeling API
Admin. API
Recovery Audit Trail ...
ADEPT Process
Composer
Repository
Process
Templates Application
Functions
Process Designer /
Process Administrator
ADEPT Process
Composer
ADEPT2 Process
Composer
Create Process Template
Modify Process Template
Check Process Template
Repository
Process
Templates Application
Functions
RepositoryRepository
Process
Templates Application
Functions
Process Designer /
Process Administrator
...
Anwendungen / Application Server
Process 4
Process 3
Process 2
Process 1
Process 6
Process 5
Process 11
Process 10
Process 9
Process 8
Process 7
Process 14
Process 13
Process 12
ADEPT Process Management System
Process Execution Engine
Msg Queuing
Time MgmtAuthorization
Std Client API Web Clnt API
Role Mgmt
Dyn. Change APIModeling API
Admin. API
Recovery Audit Trail ...
...
Anwendungen / Application Server
Process 4
Process 3
Process 2
Process 1
Process 6
Process 5
Process 11
Process 10
Process 9
Process 8
Process 7
Process 14
Process 13
Process 12
ADEPT Process Management System
Process Execution Engine
Msg Queuing
Time MgmtAuthorization
Std Client API Web Clnt API
Role Mgmt
Dyn. Change APIModeling API
Admin. API
Recovery Audit Trail ...
check instancesstates!
ADEPT Process
Composer
Repository
Process
Templates Application
Functions
Process Designer /
Process Administrator
ADEPT Process
Composer
ADEPT2 Process
Composer
Create Process Template
Modify Process Template
Check Process Template
Repository
Process
Templates Application
Functions
RepositoryRepository
Process
Templates Application
Functions
Process Designer /
Process Administrator
...
Anwendungen / Application Server
Process 4
Process 3
Process 2
Process 1
Process 6
Process 5
Process 11
Process 10
Process 9
Process 8
Process 7
Process 14
Process 13
Process 12
ADEPT Process Management System
Process Execution Engine
Msg Queuing
Time MgmtAuthorization
Std Client API Web Clnt API
Role Mgmt
Dyn. Change APIModeling API
Admin. API
Recovery Audit Trail ...
...
Anwendungen / Application Server
Process 4
Process 3
Process 2
Process 1
Process 6
Process 5
Process 11
Process 10
Process 9
Process 8
Process 7
Process 14
Process 13
Process 12
ADEPT Process Management System
Process Execution Engine
Msg Queuing
Time MgmtAuthorization
Std Client API Web Clnt API
Role Mgmt
Dyn. Change APIModeling API
Admin. API
Recovery Audit Trail ...
ADEPT Process
Composer
Repository
Process
Templates Application
Functions
RepositoryRepository
Process
Templates Application
Functions
Process Designer /
Process Administrator
ADEPT Process
Composer
ADEPT2 Process
Composer
Create Process Template
Modify Process Template
Check Process Template
RepositoryRepository
Process
Templates Application
Functions
RepositoryRepository
Process
Templates Application
Functions
Process Designer /
Process Administrator
...
Anwendungen / Application Server
Process 4
Process 3
Process 2
Process 1
Process 6
Process 5
Process 11
Process 10
Process 9
Process 8
Process 7
Process 14
Process 13
Process 12
ADEPT Process Management System
Process Execution Engine
Msg Queuing
Time MgmtAuthorization
Std Client API Web Clnt API
Role Mgmt
Dyn. Change APIModeling API
Admin. API
Recovery Audit Trail ...
...
Anwendungen / Application Server
Process 4
Process 3
Process 2
Process 1
Process 6
Process 5
Process 11
Process 10
Process 9
Process 8
Process 7
Process 14
Process 13
Process 12
ADEPT Process Management System
Process Execution Engine
Msg Queuing
Time MgmtAuthorization
Std Client API Web Clnt API
Role Mgmt
Dyn. Change APIModeling API
Admin. API
Recovery Audit Trail ...
check instancesstates!
a) Process schema change b) Check state of running instances
Fig. 12: Process Monitor: Instance Change Perspective
Regarding process schema evolution important goals were to provide the full spec-
trum of change operations for updating a process schema, to be able to migrate process
instances (including those that were individually modified) to a new schema version (as
far as possible), and to hide the inherent complexity of required checks and instance
state adaptations as best as possible from the person in charge to perform this task. We
invested a lot of energy into this subject in order to find a comprehensive solution to
the problem [51–54]. For the user (i.e., the process designer or process administrator),
process schema evolution is nearly as simple as editing a process graph during ordinary
process modeling. Like in the context of instance adaptations the Process Template Ed-
itor is invoked in a special mode such that it is aware that a new schema version is
derived from an existing one. After a new schema version is derived, one can ask the
ADEPT2 system to check which instances could be migrated to the new schema ver-
sion and which not. These checks are based on well-defined compliance rules [17, 55].
Only if there is a rule which qualifies an instance as being “migratable”, it is considered
for migration, otherwise its execution continues on the old schema. For a more detailed
description we refer to [56, 17].
Fig. 13 illustrates the interaction with the ADEPT2 system in order to perform a
process schema evolution.
20
ADEPT-CSRD--39.doc 16
ADEPT Process
Composer
Repository
Process
Templates Application
Functions
Process Designer /
Process Administrator
ADEPT Process
Composer
ADEPT2 Process
Composer
Create Process Template
Modify Process Template
Check Process Template
Repository
Process
Templates Application
Functions
RepositoryRepository
Process
Templates Application
Functions
Process Designer /
Process Administrator
...
Anwendungen / Application Server
Process 4
Process 3
Process 2
Process 1
Process 6
Process 5
Process 11
Process 10
Process 9
Process 8
Process 7
Process 14
Process 13
Process 12
ADEPT Process Management System
Process Execution Engine
Msg Queuing
Time MgmtAuthorization
Std Client API Web Clnt API
Role Mgmt
Dyn. Change APIModeling API
Admin. API
Recovery Audit Trail ...
...
Anwendungen / Application Server
Process 4
Process 3
Process 2
Process 1
Process 6
Process 5
Process 11
Process 10
Process 9
Process 8
Process 7
Process 14
Process 13
Process 12
ADEPT Process Management System
Process Execution Engine
Msg Queuing
Time MgmtAuthorization
Std Client API Web Clnt API
Role Mgmt
Dyn. Change APIModeling API
Admin. API
Recovery Audit Trail ...
ADEPT Process
Composer
Repository
Process
Templates Application
Functions
RepositoryRepository
Process
Templates Application
Functions
Process Designer /
Process Administrator
ADEPT Process
Composer
ADEPT2 Process
Composer
Create Process Template
Modify Process Template
Check Process Template
RepositoryRepository
Process
Templates Application
Functions
RepositoryRepository
Process
Templates Application
Functions
Process Designer /
Process Administrator
...
Anwendungen / Application Server
Process 4
Process 3
Process 2
Process 1
Process 6
Process 5
Process 11
Process 10
Process 9
Process 8
Process 7
Process 14
Process 13
Process 12
ADEPT Process Management System
Process Execution Engine
Msg Queuing
Time MgmtAuthorization
Std Client API Web Clnt API
Role Mgmt
Dyn. Change APIModeling API
Admin. API
Recovery Audit Trail ...
...
Anwendungen / Application Server
Process 4
Process 3
Process 2
Process 1
Process 6
Process 5
Process 11
Process 10
Process 9
Process 8
Process 7
Process 14
Process 13
Process 12
ADEPT Process Management System
Process Execution Engine
Msg Queuing
Time MgmtAuthorization
Std Client API Web Clnt API
Role Mgmt
Dyn. Change APIModeling API
Admin. API
Recovery Audit Trail ...
ADEPT Process
Composer
Repository
Process
Templates Application
Functions
Process Designer /
Process Administrator
ADEPT Process
Composer
ADEPT2 Process
Composer
Create Process Template
Modify Process Template
Check Process Template
Repository
Process
Templates Application
Functions
RepositoryRepository
Process
Templates Application
Functions
Process Designer /
Process Administrator
...
Anwendungen / Application Server
Process 4
Process 3
Process 2
Process 1
Process 6
Process 5
Process 11
Process 10
Process 9
Process 8
Process 7
Process 14
Process 1 3
Process 12
ADEPT Process Management System
Process Execution Engine
Msg Queuing
Time MgmtAuthorization
Std Client API Web Clnt API
Role Mgmt
Dyn. Change APIModeling API
Admin. API
Recovery Audit Trail ...
...
Anwendungen / Application Server
Process 4
Process 3
Process 2
Process 1
Process 6
Process 5
Process 11
Process 10
Process 9
Process 8
Process 7
Process 14
Process 1 3
Process 12
ADEPT Process Management System
Process Execution Engine
Msg Queuing
Time MgmtAuthorization
Std Client API Web Clnt API
Role Mgmt
Dyn. Change APIModeling API
Admin. API
Recovery Audit Trail ...
check instancesstates!
ADEPT Process
Composer
Repository
Process
Templates Application
Functions
Process Designer /
Process Administrator
ADEPT Process
Composer
ADEPT2 Process
Composer
Create Process Template
Modify Process Template
Check Process Template
Repository
Process
Templates Application
Functions
RepositoryRepository
Process
Templates Application
Functions
Process Designer /
Process Administrator
...
Anwendungen / Application Server
Process 4
Process 3
Process 2
Process 1
Process 6
Process 5
Process 11
Process 10
Process 9
Process 8
Process 7
Process 14
Process 1 3
Process 12
ADEPT Process Management System
Process Execution Engine
Msg Queuing
Time MgmtAuthorization
Std Client API Web Clnt API
Role Mgmt
Dyn. Change APIModeling API
Admin. API
Recovery Audit Trail ...
...
Anwendungen / Application Server
Process 4
Process 3
Process 2
Process 1
Process 6
Process 5
Process 11
Process 10
Process 9
Process 8
Process 7
Process 14
Process 1 3
Process 12
ADEPT Process Management System
Process Execution Engine
Msg Queuing
Time MgmtAuthorization
Std Client API Web Clnt API
Role Mgmt
Dyn. Change APIModeling API
Admin. API
Recovery Audit Trail ...
ADEPT Process
Composer
Repository
Process
Templates Application
Functions
RepositoryRepository
Process
Templates Application
Functions
Process Designer /
Process Administrator
ADEPT Process
Composer
ADEPT2 Process
Composer
Create Process Template
Modify Process Template
Check Process Template
RepositoryRepository
Process
Templates Application
Functions
RepositoryRepository
Process
Templates Application
Functions
Process Designer /
Process Administrator
...
Anwendungen / Application Server
Process 4
Process 3
Process 2
Process 1
Process 6
Process 5
Process 11
Process 10
Process 9
Process 8
Process 7
Process 14
Process 1 3
Process 12
ADEPT Process Management System
Process Execution Engine
Msg Queuing
Time MgmtAuthorization
Std Client API Web Clnt API
Role Mgmt
Dyn. Change APIModeling API
Admin. API
Recovery Audit Trail ...
...
Anwendungen / Application Server
Process 4
Process 3
Process 2
Process 1
Process 6
Process 5
Process 11
Process 10
Process 9
Process 8
Process 7
Process 14
Process 1 3
Process 12
ADEPT Process Management System
Process Execution Engine
Msg Queuing
Time MgmtAuthorization
Std Client API Web Clnt API
Role Mgmt
Dyn. Change APIModeling API
Admin. API
Recovery Audit Trail ...
check instancesstates!
a) Process schema change b) Check state of running instances
ADEPT Process
Composer
Repository
Process
Templates Application
Functions
Process Designer /
Process Administrator
ADEPT Process
Composer
ADEPT2 Process
Composer
Create Process Template
Modify Process Template
Check Process Template
Repository
Process
Templates Application
Functions
RepositoryRepository
Process
Templates Application
Functions
Process Designer /
Process Administrator
...
Anwendungen / Application Server
Process 4
Process 3
Process 2
Process 1
Process 6
Process 5
Process 11
Process 10
Process 9
Process 8
Process 7
Process 14
Process 13
Process 12
ADEPT Process Management System
Process Execution Engine
Msg Queuing
Time MgmtAuthorization
Std Client API Web Clnt API
Role Mgmt
Dyn. Change APIModeling API
Admin. API
Recovery Audit Trail ...
...
Anwendungen / Application Server
Process 4
Process 3
Process 2
Process 1
Process 6
Process 5
Process 11
Process 10
Process 9
Process 8
Process 7
Process 14
Process 13
Process 12
ADEPT Process Management System
Process Execution Engine
Msg Queuing
Time MgmtAuthorization
Std Client API Web Clnt API
Role Mgmt
Dyn. Change APIModeling API
Admin. API
Recovery Audit Trail ...
Response:
4.238 Instances can be automatically
migrated to schema S
new
1.117 Instances have proceeded too far
for a migration, remain on schema S
old
112 Instances cannot be automatically
migrated due to conflicting ad-hoc
changes, remain on schema S
old
ADEPT Process
Composer
Repository
Process
Templates Application
Functions
Process Designer /
Process Administrator
ADEPT Process
Composer
ADEPT2 Process
Composer
Create Process Template
Modify Process Template
Check Process Template
Repository
Process
Templates Application
Functions
RepositoryRepository
Process
Templates Application
Functions
Process Designer /
Process Administrator
...
Anwendungen / Application Server
Process 4
Process 3
Process 2
Process 1
Process 6
Process 5
Process 11
Process 10
Process 9
Process 8
Process 7
Process 14
Process 13
Process 12
ADEPT Process Management System
Process Execution Engine
Msg Queuing
Time MgmtAuthorization
Std Client API Web Clnt API
Role Mgmt
Dyn. Change APIModeling API
Admin. API
Recovery Audit Trail ...
...
Anwendungen / Application Server
Process 4
Process 3
Process 2
Process 1
Process 6
Process 5
Process 11
Process 10
Process 9
Process 8
Process 7
Process 14
Process 13
Process 12
ADEPT Process Management System
Process Execution Engine
Msg Queuing
Time MgmtAuthorization
Std Client API Web Clnt API
Role Mgmt
Dyn. Change APIModeling API
Admin. API
Recovery Audit Trail ...
ADEPT Process
Composer
Repository
Process
Templates Application
Functions
RepositoryRepository
Process
Templates Application
Functions
Process Designer /
Process Administrator
ADEPT Process
Composer
ADEPT2 Process
Composer
Create Process Template
Modify Process Template
Check Process Template
RepositoryRepository
Process
Templates Application
Functions
RepositoryRepository
Process
Templates Application
Functions
Process Designer /
Process Administrator
...
Anwendungen / Application Server
Process 4
Process 3
Process 2
Process 1
Process 6
Process 5
Process 11
Process 10
Process 9
Process 8
Process 7
Process 14
Process 13
Process 12
ADEPT Process Management System
Process Execution Engine
Msg Queuing
Time MgmtAuthorization
Std Client API Web Clnt API
Role Mgmt
Dyn. Change APIModeling API
Admin. API
Recovery Audit Trail ...
...
Anwendungen / Application Server
Process 4
Process 3
Process 2
Process 1
Process 6
Process 5
Process 11
Process 10
Process 9
Process 8
Process 7
Process 14
Process 13
Process 12
ADEPT Process Management System
Process Execution Engine
Msg Queuing
Time MgmtAuthorization
Std Client API Web Clnt API
Role Mgmt
Dyn. Change APIModeling API
Admin. API
Recovery Audit Trail ...
Response:
4.238 Instances can be automatically
migrated to schema S
new
1.117 Instances have proceeded too far
for a migration, remain on schema S
old
112 Instances cannot be automatically
migrated due to conflicting ad-hoc
changes, remain on schema S
old
ADEPT Process
Composer
Repository
Process
Templates Application
Functions
Process Designer /
Process Administrator
ADEPT Process
Composer
ADEPT2 Process
Composer
Create Process Template
Modify Process Template
Check Process Template
Repository
Process
Templates Application
Functions
RepositoryRepository
Process
Templates Application
Functions
Process Designer /
Process Administrator
...
Anwendungen / Application Server
Process 4
Process 3
Process 2
Process 1
Process 6
Process 5
Process 11
Process 10
Process 9
Process 8
Process 7
Process 14
Process 13
Process 12
ADEPT Process Management System
Process Execution Engine
Msg Queuing
Time MgmtAuthorization
Std Client API Web Clnt API
Role Mgmt
Dyn. Change APIModeling API
Admin. API
Recovery Audit Trail ...
...
Anwendungen / Application Server
Process 4
Process 3
Process 2
Process 1
Process 6
Process 5
Process 11
Process 10
Process 9
Process 8
Process 7
Process 14
Process 13
Process 12
ADEPT Process Management System
Process Execution Engine
Msg Queuing
Time MgmtAuthorization
Std Client API Web Clnt API
Role Mgmt
Dyn. Change APIModeling API
Admin. API
Recovery Audit Trail ...
performmigrations!
ADEPT Process
Composer
Repository
Process
Templates Application
Functions
Process Designer /
Process Administrator
ADEPT Process
Composer
ADEPT2 Process
Composer
Create Process Template
Modify Process Template
Check Process Template
Repository
Process
Templates Application
Functions
RepositoryRepository
Process
Templates Application
Functions
Process Designer /
Process Administrator
...
Anwendungen / Application Server
Process 4
Process 3
Process 2
Process 1
Process 6
Process 5
Process 11
Process 10
Process 9
Process 8
Process 7
Process 14
Process 13
Process 12
ADEPT Process Management System
Process Execution Engine
Msg Queuing
Time MgmtAuthorization
Std Client API Web Clnt API
Role Mgmt
Dyn. Change APIModeling API
Admin. API
Recovery Audit Trail ...
...
Anwendungen / Application Server
Process 4
Process 3
Process 2
Process 1
Process 6
Process 5
Process 11
Process 10
Process 9
Process 8
Process 7
Process 14
Process 13
Process 12
ADEPT Process Management System
Process Execution Engine
Msg Queuing
Time MgmtAuthorization
Std Client API Web Clnt API
Role Mgmt
Dyn. Change APIModeling API
Admin. API
Recovery Audit Trail ...
ADEPT Process
Composer
Repository
Process
Templates Application
Functions
RepositoryRepository
Process
Templates Application
Functions
Process Designer /
Process Administrator
ADEPT Process
Composer
ADEPT2 Process
Composer
Create Process Template
Modify Process Template
Check Process Template
RepositoryRepository
Process
Templates Application
Functions
RepositoryRepository
Process
Templates Application
Functions
Process Designer /
Process Administrator
...
Anwendungen / Application Server
Process 4
Process 3
Process 2
Process 1
Process 6
Process 5
Process 11
Process 10
Process 9
Process 8
Process 7
Process 14
Process 13
Process 12
ADEPT Process Management System
Process Execution Engine
Msg Queuing
Time MgmtAuthorization
Std Client API Web Clnt API
Role Mgmt
Dyn. Change APIModeling API
Admin. API
Recovery Audit Trail ...
...
Anwendungen / Application Server
Process 4
Process 3
Process 2
Process 1
Process 6
Process 5
Process 11
Process 10
Process 9
Process 8
Process 7
Process 14
Process 13
Process 12
ADEPT Process Management System
Process Execution Engine
Msg Queuing
Time MgmtAuthorization
Std Client API Web Clnt API
Role Mgmt
Dyn. Change APIModeling API
Admin. API
Recovery Audit Trail ...
performmigrations!
c) Result of checks d) Execute instance migration
Figure 13: Process schema evolution in ADEPT2 (user perspective)
For the user, i. e. the process designer or process adminstrator in this case, process schema evolution is
nearly as simple as editing a process graph during ordinary process modeling. The Process Template
Editor is (like above) invoked in a special mode so that it is aware that a new schema version is derived
from an existing one. After having created a new version, the system can be asked to check which in-
stances could be migrated to the new schema. These checks are performed using a set of rules. Only if a
rule exists (and is enabled) which qualifies an instance as being "migratable", this instance is considered
for migration, otherwise it remains executing on the old schema. Figure 13 illustrates the interaction with
the ADEPT2 system in order to perform a process schema evolution. A more detailed description on this
subject can be found in [RRD04, Dada08].
6 Status of development: From ADEPT1 via ADEPT2 to AristaFlow® BPM Suite
In 1998 a first implementation of the ADEPT technology ("ADEPT1") became operational. ADEPT1 was
able so serve as implementation base for process-oriented applications with manual activities, automatic
activities, and provided also some support for temporal constraints [Grim97]. It's most interesting prop-
erty, however, was certainly the support ad-hoc deviations. ADEPT1 served as implementation platform
for a number of internal and external projects [BBKK02, BKK04, GoGa05, Grei05, WRWR05a] which
made use of this facility. ADEPT1 was later extended to support distributed execution [BaDa97, BaDa00,
BRD03] as mentioned in Section 3.5.
In 2001 we started our research work on process schema evolution which led to a first series of publica-
tions in 2003 [RRD03b, RRD03c, RRD03e]. As it would have been too much effort to modify the ADEPT1
code base in order to integrate these concepts, a stand-alone proof of concept prototype was developed
[RRD04]. In 2004 we received a research grant from the State of Baden-Württemberg to perform a joint
project with University of Mannheim (Colin Atkinson, chair of Software Technology) and four industrial
partners. The research project was named AristaFlow5 and was running until end of 2007. One goal of
5 see www.AristaFlow.de for details
Fig. 13: Process schema evolution in ADEPT2 (user perspective)
6 Status of development: From ADEPT1 via ADEPT2 to
AristaFlow® BPM Suite
In 1998 with ADEPT1 a first powerful prototype of the ADEPT technology became
operational, which was then demonstrated at different events (e.g. [57–59]). It served
as implementation base for process-oriented applications with manual as well as au-
tomated activities, and also provided some support for temporal constraints. Its most
interesting feature, however, was certainly the robust support of ad-hoc deviations.
ADEPT1 served as implementation platform for numerous projects (e.g. [7, 6, 60, 21,
19]) and was later extended to support distributed execution [27, 26, 28] as well (cf.
Section 3.5).
In 2001 we intensified our research on process schema evolution which led to a
first series of publications in 2003 [59, 51, 61]. As it would have been too much effort
to modify the ADEPT1 code base in order to integrate these concepts, we developed
a standalone proof-of-concept prototype [17]. In 2004 we received a research grant to
perform a joint project with University of Mannheim and four industrial partners. The
research project was named AristaFlow and was running until end of 2007. One project
goal was to understand how the design and implementation of application functions
could be supported by tools in such a way, that all necessary information to perform
correctness checks during process modeling using plug & play (cf. Sections 3.1 and
5.1) and ad-hoc deviations can be automatically derived [62, 63]. The most important
goal was to design and implement in parts the ADEPT2 process management system,
21
which comprehensively supports all the functionalities developed in the ADEPT and
AristaFlow project [64, 50].
The power of the ADEPT2 technology and the pre-versions demonstrating its capa-
bilities attracted a number of companies. However, they could not base implementations
of a real PAIS on an experimental system, especially if its maintenance and further
development beyond 2007 was not assured. Therefore, at the beginning of 2008 we
founded a spin-off (AristaFlow GmbH, Ulm) as joint venture with industrial partners
to transfer ADEPT2 into an industrial-strength product version called AristaFlow BPM
Suite, and to provide maintenance support for it. The screen shots used for illustrat-
ing ADEPT2 features in this paper have been taken from a pre-version of this product.
The product version is now available for teaching and research purposes as well as for
commercial applications. 6
7 Summary
The research performed in the ADEPT project was motivated by problems we had iden-
tified in the clinical domain. This domain can be considered as “killer application” for
PAIS, because one has to cope with conflicting goals: robustness, flexibility, and ease
of use. To motivate the technological challenges we described our findings and insights
from this domain in some detail. The most influential decision was to follow the motto:
“We do not define any problem away”. We, therefore, never asked ourselves: “Given
a certain technology - what can we do with it?”, but we asked instead: “Given these
real-world problems - which kind of technology is needed to adequately address them?”
At the beginning, ADEPT was a “high risk” research project because it was completely
unclear whether or not this goal was achievable.
The resulting ADEPT technology has brought us further than we initially expected.
Due to its “correctness by construction” principle, it allows to model, modify, and de-
ploy processes very quickly. Its capabilities for ad-hoc deviation in conjunction with
instantaneous checking of correctness does not only allow for the secure change of pro-
cess instances, but also offers a complete new degree of freedom in modeling executable
workflows. For example, one can start to execute only partially modeled processes and
complement them during runtime. As example think of a project that will run three
years. For many projects, it is probably not very attractive to model from the very be-
ginning in great detail what shall be performed in the third year. One can go even further
and, by starting with an empty process template, compose process instances on-the-fly
(and have nevertheless all the full support of the underlying process management sys-
tem). Pre-modeling all possible exceptions one can think of makes the process graph
very complex and may allow execution paths which are undesired. With the ADEPT2
technology, one could separate exception handling from normal processing and use a
knowledge-based system to modify process instances only on demand [23, 24, 65].
For both ADEPT2 and AristaFlow, much effort has been undertaken to make the
API very powerful, but also easy to use. Experiences with first applications imple-
6The AristaFlow BPM suite is provided free of charge to universities for research and edu-
cational purposes. Please visit www.AristaFlow-Forum.de for more information on that. For
commercial usage please visit www.AristaFlow.com.
22
mented on the new platform and utilizing the provided change capabilities make us con-
fident that we have achieved this goal [66, 11]. We believe that ADEPT2 and AristaFlow
show the capabilities, process technology will have to offer in future to be broadly ap-
plicable. It shows also that robustness, flexibility, and ease of use can be achieved in
conjunction with each other.
Acknowledgements. The described achievements would not have been possible without sup-
port from the partners in our various research projects, the staff members of our institute, and
the numerous students who contributed to the ADEPT project. We mention just a few of them
whose contribution had some impact on the further development and research directions of the
project. We start with Klaus Kuhn, Birgit Schultheiß, and Stephan Frank who contributed a lot
to our understanding of the clinical domain. As described in this paper, it were these insights
which significantly influenced the whole project. Thomas Bauer addressed scalability issues and
elaborated the fundamentals for the distributed version of ADEPT1. Clemens Hensinger did an
extraordinary job the design and implementation of ADEPT1. The research of Stefanie Rinderle-
Ma was another big step forward. Her contributions to process schema evolution extended the
power of the ADEPT technology significantly. Last but not least we are indebted to Ulrich Kreher,
Kevin Göser, Martin Jurisch, and Markus Lauer for their great job in designing and implementing
ADEPT2 and transferring this technology into an industrial-strength product.
References
1. Kuhn, K., Reichert, M., Nathe, M., Beuter, T., Dadam, P.: An infrastructure for cooperation
and communication in an advanced clinical information system. In: Proc. 18th Ann. Sym.
on Computer Applications in Medical Care 1994, (SCAMC ’94). (1994) 519–523
2. Kuhn, K., Reichert, M., Nathe, M., Beuter, T., Heinlein, C., Dadam, P.: A conceptual ap-
proach to an open hospital information system. In: Proc. 12th Int’l Congress on Medical
Informatics (MIE’94). (1994) 374–378
3. Dadam, P., Reichert, M., Kuhn, K.: Clinical workflows - the killer application for process-
oriented information systems? In: Proc. BIS’00, Poznan, Poland (2000) 36–59
4. Dadam, P., Reichert, M.: Towards a new dimension in clinical information processing. In:
Proc. Medical Informatics Europe Conference (MIE’00). (2000) 295–301
5. Reichert, M., Dadam, P.: Geschäfts-prozessmodellierung und Workflow-Management:
Konzepte, Systeme und deren Anwendung. Industrie Management 16 (2000) 23–27 (in
German).
6. Bassil, S., Benyoucef, M., Keller, R., Kropf, P.: Addressing dynamism in e-negotiations by
workflow management systems. In: Proc. DEXA’02. (2002)
7. Bassil, S., Keller, R., Kropf, P.: A workflow-oriented system architecture for the management
of container transportation. In: Proc. BPM’04. (2004) 116–131
8. Müller, D., Herbst, J., Hammori, M., Reichert, M.: IT support for release management pro-
cesses in the automotive industry. In: Proc. BPM’06. LNCS 4102 (2006) 368–377
9. Müller, D., Reichert, M., Herbst, J.: A new paradigm for the enactment and dynamic adap-
tation of data-driven process structures. In: Proc. CAiSE’08. LNCS 5074 (2008) 48–63
10. Mutschler, B., Reichert, M., Bumiller, J.: Unleashing the effectiveness of process-oriented in-
formation systems: Problem analysis, critical success factors and implications. IEEE Trans-
actions on Systems, Man, and Cybernetics (Part C) 38 (2008) 280–291
23
11. Rüppel, U., Wagenknecht, A.: Towards a process-driven emergency management system for
municipalities. In: Proc. 12th Int’l Conf. on Computing in Civil and Building Engineering.
(2008)
12. Lenz, R., Reichert, M.: IT support for healthcare processes - premises, challenges, perspec-
tives. Data and Knowledge Engineering 61 (2007) 39–58
13. Blaser, R.: Configuration of distributed applications based on prefabricated program building
blocks. Master’s thesis, University of Ulm, DBIS Instiute (1996) (in German).
14. Dadam, P., Kuhn, K., Reichert, M., Beuter, T., Nathe, M.: ADEPT: An integrated ap-proach
for the development of flexible, reliable, cooperating asssistant systems for the clinical do-
main. In: Proc. Annual Meeting of the German Informatics Society (Informatik’95). (1995)
677–686
15. Dadam, P.: Business information systems: Trends and technological challenges. In: Proc.
BIS’97. (1997) 509–524
16. Casati, F., Ceri, S., Pernici, B., Pozzi, G.: Workflow evolution. Data and Knowledge Eng.
24 (1998) 211–238
17. Rinderle, S., Reichert, M., Dadam, P.: Flexible support of team processes by adaptive work-
flow systems. Distributed and Parallel Databases 16 (2004) 91–116
18. Rinderle-Ma, S., Reichert, M.: A formal framework for adaptive access control models. In:
Journal of Data Semantics, IX. LNCS 4601 (2007) 82–112
19. Weber, B., Reichert, M., Wild, W., Rinderle, S.: Balancing flexibility and security in adaptive
process management systems. In: CoopIS’05. LNCS 3760 (2005) 59–76
20. Müller, R., Greiner, U., Rahm, E.: AGENTWORK: A workflow system supporting rule-based
workflow adaptation. Data and Knowledge Engineering 51 (2004) 223–256
21. Greiner, U., Müller, R., Rahm, E., Ramsch, J., Heller, B., Löffler, M.: AdaptFlow: Protocol-
based medical treatment using adaptive workflows. Methods of Information in Medicine
(2000) 80–88
22. Weber, B., Reichert, M., Wild, W., Rinderle-Ma, S.: Providing integrated life cycle support
in process-aware information systems. Int’l Journal of Cooperative Information Systems 18
(2009)
23. Rinderle, S., Weber, B., Reichert, M., Wild, W.: Integrating process learning and process
evolution - a semantics based approach. In: Proc. BPM’05. LNCS 3649 (2005) 252–267
24. Weber, B., Rinderle, S., Wild, W., Reichert, M.: CCBR-driven business process evolution.
In: Proc. ICCBR’05, Chicago (2005) 610–624
25. Weber, B., Wild, W., Lauer, M., Reichert, M.: Improving exception handling by discover-
ing change dependencies in adaptive process management systems. In: Business Process
Management Workshops 2006. (2006) 93–104
26. Bauer, T., Reichert, M., Dadam, P.: Intra-subnet load balancing in distributed workflow
management systems. Int’l Journal of Cooperative Information Systems 12 (2003) 295–323
27. Bauer, T., Dadam, P.: Efficient distributed workflow management based on variable server
assignments. In: Proc. CAiSE’00, Stockholm (2000) 94–109
28. Reichert, M., Bauer, T., Dadam, P.: Enterprise-wide and cross-enterprise workflow manage-
ment: Challenges and research issues for adaptive workflows. In: Proc. Workshop Informatik
’99. CEUR 24 (1999) 56–64
29. Reichert, M., Bauer, T.: Supporting ad-hoc changes in distributed workflow management
systems. In: Proc. CoopIS’07. LNCS 4803 (2007) 150–168
30. Heinlein, C.: Workflow and process synchronization with interaction expressions and graphs.
In: Proc. ICDE’01). (2001) 243–252
31. Heinlein, C.: Synchronization of concurrent workflows using interaction expressions
and coordination protocols. In: Proc. Confederated Int’l Conf. CoopIS’02, DOA’02, and
ODBASE’02. LNCS 2519 (2002) 54–71
24
32. Grimm, M.: Adept-time: Temporal aspects in flexible workflow management systems. Mas-
ter’s thesis, University of Ulm, DBIS Instiute (1997) (in German).
33. Günther, C., Rinderle-Ma, S., Reichert, M., van der Aalst, W., Recker, J.: Using process
mining to learn from process changes in evolutionary systems. Int’l Journal of Business
Process Integration and Management, Special Issue on Business Process Flexibility 3(2008)
61–78
34. Li, C., , Reichert, M., Wombacher, A.: Discovering reference process models by mining
process variants. In: Proc. ICWS’08, Beijing (2008) 45–53
35. Rinderle, S., Jurisch, M., Reichert, M.: On deriving net change information from change
logs: The DELTALAYER-algorithm. In: Proc. BTW’07. LNI P-103 (2007) 364–381
36. Rinderle, S., Reichert, M., Jurisch, M., Kreher, U.: On representing, purging, and utilizing
change logs in process management systems. In: Proc. BPM’06. LNCS 4102 (2006) 241–
256
37. Bobrik, R., Reichert, M., Bauer, T.: View-based process visualization. In: Proc. BPM’07.
LNCS 4714 (2007) 88–95
38. Ly, T., Rinderle, S., Dadam, P., Reichert, M.: Mining staff assignment rules from event-based
data. In: Proc. BPM’05 workshops. LNCS 3812 (2005) 177–190
39. Rinderle-Ma, S., Reichert, M.: Managing the life cycle of access rules in CEOSIS. In: Proc.
EDOC’08, Munich (2008) 257–266
40. Heinlein, C., Kuhn, K., Dadam, P.: Representation of medical guidelines using an clas-
sification-based system. In: Proc. CIKM ’94. (1994) 415–422
41. Agostini, A., De Michelis, G.: Simple workflow models. In: Proc. of the Workshop on
Workflow-Management, Lissabon (1998) 146–163
42. Weske, M.: Formal foundation and conceptual design of dynamic adaptations in a workflow
management system. In: Proc. HICSS-34. (2001)
43. Ellis, C., Maltzahn, C.: The Chautauqua workflow system. In: Proc. Int’l Conf. on System
Science, Maui, Hawaii (1997)
44. van der Aalst, W., ter Hofstede, A., Kiepuszewski, B., Barros, A.: Workflow patterns. Dis-
tributed and Parallel Databases 14 (2003) 5–51
45. IBM: Workflow and Image Library: FlowMark and VisualInfo with Windows. (1996) SG24-
4712-00.
46. Reichert, M., Dadam, P., Bauer, T.: Dealing with forward and backward jumps in workflow
management systems. Software and Systems Modeling 2(2003) 37–58
47. Reichert, M.: Dynamische Ablaufänderungen in Workflow-Management-Systemen. PhD
thesis, Universität Ulm (2000)
48. Reichert, M., Dadam, P.: ADEPTf lex - supporting dynamic changes of workflows without
losing control. Journal of Intelligent Information Systems 10 (1998) 93–129
49. Weber, B., Reichert, M., Rinderle-Ma, S.: Change patterns and change support features - en-
hancing flexibility in process-aware information systems. Data and Knoweldge Engineering
66 (2008) 438–466
50. Reichert, M., Dadam, P., Jurisch, M., Kreher, U., Göser, K., Lauer, M.: Architectural de-
sign of flexible process management technology. In: Proc. PRIMIUM Subconference at
MKWI’08. CEUR 328 (2008) 415–422
51. Reichert, M., Rinderle, S., Dadam, P.: On the common support of workflow type and instance
changes under correctness constraints. In: Proc. CoopIS’03. LNCS 2888 (2003) 407–425
52. Rinderle, S.: Schema Evolution in Process Management Systems. PhD thesis, University of
Ulm (2004)
53. Rinderle, S., Reichert, M., Dadam, P.: Disjoint and overlapping process changes: Challenges,
solutions, applications. In: Proc. CoopIS’04. LNCS 3290 (2004) 101–120
54. Rinderle, S., Reichert, M., Dadam, P.: On dealing with structural conflicts between process
type and instance changes. In: Proc. BPM’04. LNCS 3080 (2004) 274–289
25
55. Rinderle-Ma, S., Reichert, M., Weber, B.: Relaxed compliance notions in adaptive process
management systems. In: Proc. ER’08. LNCS 5231 (2008) 232–247
56. Dadam, P., Reichert, M., Rinderle, S., Jurisch, M., Acker, H., Göser, K., Kreher, U., Lauer,
M.: Towards truly flexible and adaptive process-aware information systems. In: Proc. UNIS-
CON’08. LNBIP 5 (2008) 72–83
57. Dadam, P., Reichert, M.: The ADEPT WfMS project at the University of Ulm. In: Proc. 1st
European Workshop on Workflow and Process Management (WPM’98), Zurich, Switzerland
(1998)
58. Hensinger, C., Reichert, M., Bauer, T., Strzeletz, T., Dadam, P.: Adeptworkflow - advanced
workflow technology for the efficient support of adaptive, enterprise-wide processes. In:
Proc. EDBT’00 Software Demonstration Track, Constance, Germany (2000) 29–30
59. Reichert, M., Rinderle, S., Dadam, P.: ADEPT workflow management system: Flexible
support for enterprise-wide business processes. In: Proc. BPM’03. LNCS 2678 (2003) 370–
379
60. Golani, M., Gal, A.: Optimizing exception handling in workflows using process restructur-
ing. In: Proc. BPM’06. LNCS 4102 (2006) 407–413
61. Rinderle, S., Reichert, M., Dadam, P.: Evaluation of correctness criteria for dynamic work-
flow changes. In: Proc. BPM’03. LNCS 2678 (2003) 41–57
62. Atkinson, C., Stoll, D., Acker, H., Dadam, P., Lauer, M., Reichert, M.: Separating per-client
and pan-client views in service specification. In: Proc. IW-SOSE’06. (2006) 47–52
63. Atkinson, C., Brenner, D., Falcone, G., Juhasz, M.: Specifying high-assurance services.
IEEE Comp. (2008) 64–70
64. Reichert, M., Rinderle, S., Kreher, U., Dadam, P.: Adaptive process management with
ADEPT2. In: Proceedings ICDE’05. (2005) 1113–1114
65. Weber, B., Reichert, M., Wild, W.: Case-base maintenance for CCBR-based process evolu-
tion. In: Proceedings ECCBR’06. LNCS 4106 (2006) 106–120
66. Rüppel, U., Wagenknecht, A.: Improving emergency management by formal dynamic
process-modelling. In: Proc. 24th Conf. on Information Technology in Construction (W78).
(2007) 559–564
26
Liste der bisher erschienenen Ulmer Informatik-Berichte
Einige davon sind per FTP von ftp.informatik.uni-ulm.de erhältlich
Die mit * markierten Berichte sind vergriffen
List of technical reports published by the University of Ulm
Some of them are available by FTP from ftp.informatik.uni-ulm.de
Reports marked with * are out of print
91-01 Ker-I Ko, P. Orponen, U. Schöning, O. Watanabe
Instance Complexity
91-02* K. Gladitz, H. Fassbender, H. Vogler
Compiler-Based Implementation of Syntax-Directed Functional Programming
91-03* Alfons Geser
Relative Termination
91-04* J. Köbler, U. Schöning, J. Toran
Graph Isomorphism is low for PP
91-05 Johannes Köbler, Thomas Thierauf
Complexity Restricted Advice Functions
91-06* Uwe Schöning
Recent Highlights in Structural Complexity Theory
91-07* F. Green, J. Köbler, J. Toran
The Power of Middle Bit
91-08* V.Arvind, Y. Han, L. Hamachandra, J. Köbler, A. Lozano, M. Mundhenk, A. Ogiwara,
U. Schöning, R. Silvestri, T. Thierauf
Reductions for Sets of Low Information Content
92-01* Vikraman Arvind, Johannes Köbler, Martin Mundhenk
On Bounded Truth-Table and Conjunctive Reductions to Sparse and Tally Sets
92-02* Thomas Noll, Heiko Vogler
Top-down Parsing with Simulataneous Evaluation of Noncircular Attribute Grammars
92-03 Fakultät für Informatik
17. Workshop über Komplexitätstheorie, effiziente Algorithmen und Datenstrukturen
92-04* V. Arvind, J. Köbler, M. Mundhenk
Lowness and the Complexity of Sparse and Tally Descriptions
92-05* Johannes Köbler
Locating P/poly Optimally in the Extended Low Hierarchy
92-06* Armin Kühnemann, Heiko Vogler
Synthesized and inherited functions -a new computational model for syntax-directed
semantics
92-07* Heinz Fassbender, Heiko Vogler
A Universal Unification Algorithm Based on Unification-Driven Leftmost Outermost
Narrowing
92-08* Uwe Schöning
On Random Reductions from Sparse Sets to Tally Sets
92-09* Hermann von Hasseln, Laura Martignon
Consistency in Stochastic Network
92-10 Michael Schmitt
A Slightly Improved Upper Bound on the Size of Weights Sufficient to Represent Any
Linearly Separable Boolean Function
92-11 Johannes Köbler, Seinosuke Toda
On the Power of Generalized MOD-Classes
92-12 V. Arvind, J. Köbler, M. Mundhenk
Reliable Reductions, High Sets and Low Sets
92-13 Alfons Geser
On a monotonic semantic path ordering
92-14* Joost Engelfriet, Heiko Vogler
The Translation Power of Top-Down Tree-To-Graph Transducers
93-01 Alfred Lupper, Konrad Froitzheim
AppleTalk Link Access Protocol basierend auf dem Abstract Personal
Communications Manager
93-02 M.H. Scholl, C. Laasch, C. Rich, H.-J. Schek, M. Tresch
The COCOON Object Model
93-03 Thomas Thierauf, Seinosuke Toda, Osamu Watanabe
On Sets Bounded Truth-Table Reducible to P-selective Sets
93-04 Jin-Yi Cai, Frederic Green, Thomas Thierauf
On the Correlation of Symmetric Functions
93-05 K.Kuhn, M.Reichert, M. Nathe, T. Beuter, C. Heinlein, P. Dadam
A Conceptual Approach to an Open Hospital Information System
93-06 Klaus Gaßner
Rechnerunterstützung für die konzeptuelle Modellierung
93-07 Ullrich Keßler, Peter Dadam
Towards Customizable, Flexible Storage Structures for Complex Objects
94-01 Michael Schmitt
On the Complexity of Consistency Problems for Neurons with Binary Weights
94-02 Armin Kühnemann, Heiko Vogler
A Pumping Lemma for Output Languages of Attributed Tree Transducers
94-03 Harry Buhrman, Jim Kadin, Thomas Thierauf
On Functions Computable with Nonadaptive Queries to NP
94-04 Heinz Faßbender, Heiko Vogler, Andrea Wedel
Implementation of a Deterministic Partial E-Unification Algorithm for Macro Tree
Transducers
94-05 V. Arvind, J. Köbler, R. Schuler
On Helping and Interactive Proof Systems
94-06 Christian Kalus, Peter Dadam
Incorporating record subtyping into a relational data model
94-07 Markus Tresch, Marc H. Scholl
A Classification of Multi-Database Languages
94-08 Friedrich von Henke, Harald Rueß
Arbeitstreffen Typtheorie: Zusammenfassung der Beiträge
94-09 F.W. von Henke, A. Dold, H. Rueß, D. Schwier, M. Strecker
Construction and Deduction Methods for the Formal Development of Software
94-10 Axel Dold
Formalisierung schematischer Algorithmen
94-11 Johannes Köbler, Osamu Watanabe
New Collapse Consequences of NP Having Small Circuits
94-12 Rainer Schuler
On Average Polynomial Time
94-13 Rainer Schuler, Osamu Watanabe
Towards Average-Case Complexity Analysis of NP Optimization Problems
94-14 Wolfram Schulte, Ton Vullinghs
Linking Reactive Software to the X-Window System
94-15 Alfred Lupper
Namensverwaltung und Adressierung in Distributed Shared Memory-Systemen
94-16 Robert Regn
Verteilte Unix-Betriebssysteme
94-17 Helmuth Partsch
Again on Recognition and Parsing of Context-Free Grammars:
Two Exercises in Transformational Programming
94-18 Helmuth Partsch
Transformational Development of Data-Parallel Algorithms: an Example
95-01 Oleg Verbitsky
On the Largest Common Subgraph Problem
95-02 Uwe Schöning
Complexity of Presburger Arithmetic with Fixed Quantifier Dimension
95-03 Harry Buhrman,Thomas Thierauf
The Complexity of Generating and Checking Proofs of Membership
95-04 Rainer Schuler, Tomoyuki Yamakami
Structural Average Case Complexity
95-05 Klaus Achatz, Wolfram Schulte
Architecture Indepentent Massive Parallelization of Divide-And-Conquer Algorithms
95-06 Christoph Karg, Rainer Schuler
Structure in Average Case Complexity
95-07 P. Dadam, K. Kuhn, M. Reichert, T. Beuter, M. Nathe
ADEPT: Ein integrierender Ansatz zur Entwicklung flexibler, zuverlässiger
kooperierender Assistenzsysteme in klinischen Anwendungsumgebungen
95-08 Jürgen Kehrer, Peter Schulthess
Aufbereitung von gescannten Röntgenbildern zur filmlosen Diagnostik
95-09 Hans-Jörg Burtschick, Wolfgang Lindner
On Sets Turing Reducible to P-Selective Sets
95-10 Boris Hartmann
Berücksichtigung lokaler Randbedingung bei globaler Zieloptimierung mit neuronalen
Netzen am Beispiel Truck Backer-Upper
95-12 Klaus Achatz, Wolfram Schulte
Massive Parallelization of Divide-and-Conquer Algorithms over Powerlists
95-13 Andrea Mößle, Heiko Vogler
Efficient Call-by-value Evaluation Strategy of Primitive Recursive Program Schemes
95-14 Axel Dold, Friedrich W. von Henke, Holger Pfeifer, Harald Rueß
A Generic Specification for Verifying Peephole Optimizations
96-01 Ercüment Canver, Jan-Tecker Gayen, Adam Moik
Formale Entwicklung der Steuerungssoftware für eine elektrisch ortsbediente Weiche
mit VSE
96-02 Bernhard Nebel
Solving Hard Qualitative Temporal Reasoning Problems: Evaluating the Efficiency of
Using the ORD-Horn Class
96-03 Ton Vullinghs, Wolfram Schulte, Thilo Schwinn
An Introduction to TkGofer
96-04 Thomas Beuter, Peter Dadam
Anwendungsspezifische Anforderungen an Workflow-Mangement-Systeme am
Beispiel der Domäne Concurrent-Engineering
96-05 Gerhard Schellhorn, Wolfgang Ahrendt
Verification of a Prolog Compiler - First Steps with KIV
96-06 Manindra Agrawal, Thomas Thierauf
Satisfiability Problems
96-07 Vikraman Arvind, Jacobo Torán
A nonadaptive NC Checker for Permutation Group Intersection
96-08 David Cyrluk, Oliver Möller, Harald Rueß
An Efficient Decision Procedure for a Theory of Fix-Sized Bitvectors with
Composition and Extraction
96-09 Bernd Biechele, Dietmar Ernst, Frank Houdek, Joachim Schmid, Wolfram Schulte
Erfahrungen bei der Modellierung eingebetteter Systeme mit verschiedenen SA/RT–
Ansätzen
96-10 Falk Bartels, Axel Dold, Friedrich W. von Henke, Holger Pfeifer, Harald Rueß
Formalizing Fixed-Point Theory in PVS
96-11 Axel Dold, Friedrich W. von Henke, Holger Pfeifer, Harald Rueß
Mechanized Semantics of Simple Imperative Programming Constructs
96-12 Axel Dold, Friedrich W. von Henke, Holger Pfeifer, Harald Rueß
Generic Compilation Schemes for Simple Programming Constructs
96-13 Klaus Achatz, Helmuth Partsch
From Descriptive Specifications to Operational ones: A Powerful Transformation
Rule, its Applications and Variants
97-01 Jochen Messner
Pattern Matching in Trace Monoids
97-02 Wolfgang Lindner, Rainer Schuler
A Small Span Theorem within P
97-03 Thomas Bauer, Peter Dadam
A Distributed Execution Environment for Large-Scale Workflow Management
Systems with Subnets and Server Migration
97-04 Christian Heinlein, Peter Dadam
Interaction Expressions - A Powerful Formalism for Describing Inter-Workflow
Dependencies
97-05 Vikraman Arvind, Johannes Köbler
On Pseudorandomness and Resource-Bounded Measure
97-06 Gerhard Partsch
Punkt-zu-Punkt- und Mehrpunkt-basierende LAN-Integrationsstrategien für den
digitalen Mobilfunkstandard DECT
97-07 Manfred Reichert, Peter Dadam
ADEPTflex - Supporting Dynamic Changes of Workflows Without Loosing Control
97-08 Hans Braxmeier, Dietmar Ernst, Andrea Mößle, Heiko Vogler
The Project NoName - A functional programming language with its development
environment
97-09 Christian Heinlein
Grundlagen von Interaktionsausdrücken
97-10 Christian Heinlein
Graphische Repräsentation von Interaktionsausdrücken
97-11 Christian Heinlein
Sprachtheoretische Semantik von Interaktionsausdrücken
97-12 Gerhard Schellhorn, Wolfgang Reif
Proving Properties of Finite Enumerations: A Problem Set for Automated Theorem
Provers
97-13 Dietmar Ernst, Frank Houdek, Wolfram Schulte, Thilo Schwinn
Experimenteller Vergleich statischer und dynamischer Softwareprüfung für
eingebettete Systeme
97-14 Wolfgang Reif, Gerhard Schellhorn
Theorem Proving in Large Theories
97-15 Thomas Wennekers
Asymptotik rekurrenter neuronaler Netze mit zufälligen Kopplungen
97-16 Peter Dadam, Klaus Kuhn, Manfred Reichert
Clinical Workflows - The Killer Application for Process-oriented Information
Systems?
97-17 Mohammad Ali Livani, Jörg Kaiser
EDF Consensus on CAN Bus Access in Dynamic Real-Time Applications
97-18 Johannes Köbler,Rainer Schuler
Using Efficient Average-Case Algorithms to Collapse Worst-Case Complexity
Classes
98-01 Daniela Damm, Lutz Claes, Friedrich W. von Henke, Alexander Seitz, Adelinde
Uhrmacher, Steffen Wolf
Ein fallbasiertes System für die Interpretation von Literatur zur Knochenheilung
98-02 Thomas Bauer, Peter Dadam
Architekturen für skalierbare Workflow-Management-Systeme - Klassifikation und
Analyse
98-03 Marko Luther, Martin Strecker
A guided tour through Typelab
98-04 Heiko Neumann, Luiz Pessoa
Visual Filling-in and Surface Property Reconstruction
98-05 Ercüment Canver
Formal Verification of a Coordinated Atomic Action Based Design
98-06 Andreas Küchler
On the Correspondence between Neural Folding Architectures and Tree Automata
98-07 Heiko Neumann, Thorsten Hansen, Luiz Pessoa
Interaction of ON and OFF Pathways for Visual Contrast Measurement
98-08 Thomas Wennekers
Synfire Graphs: From Spike Patterns to Automata of Spiking Neurons
98-09 Thomas Bauer, Peter Dadam
Variable Migration von Workflows in ADEPT
98-10 Heiko Neumann, Wolfgang Sepp
Recurrent V1 – V2 Interaction in Early Visual Boundary Processing
98-11 Frank Houdek, Dietmar Ernst, Thilo Schwinn
Prüfen von C–Code und Statmate/Matlab–Spezifikationen: Ein Experiment
98-12 Gerhard Schellhorn
Proving Properties of Directed Graphs: A Problem Set for Automated Theorem
Provers
98-13 Gerhard Schellhorn, Wolfgang Reif
Theorems from Compiler Verification: A Problem Set for Automated Theorem
Provers
98-14 Mohammad Ali Livani
SHARE: A Transparent Mechanism for Reliable Broadcast Delivery in CAN
98-15 Mohammad Ali Livani, Jörg Kaiser
Predictable Atomic Multicast in the Controller Area Network (CAN)
99-01 Susanne Boll, Wolfgang Klas, Utz Westermann
A Comparison of Multimedia Document Models Concerning Advanced Requirements
99-02 Thomas Bauer, Peter Dadam
Verteilungsmodelle für Workflow-Management-Systeme - Klassifikation und
Simulation
99-03 Uwe Schöning
On the Complexity of Constraint Satisfaction
99-04 Ercument Canver
Model-Checking zur Analyse von Message Sequence Charts über Statecharts
99-05 Johannes Köbler, Wolfgang Lindner, Rainer Schuler
Derandomizing RP if Boolean Circuits are not Learnable
99-06 Utz Westermann, Wolfgang Klas
Architecture of a DataBlade Module for the Integrated Management of Multimedia
Assets
99-07 Peter Dadam, Manfred Reichert
Enterprise-wide and Cross-enterprise Workflow Management: Concepts, Systems,
Applications. Paderborn, Germany, October 6, 1999, GI–Workshop Proceedings,
Informatik ’99
99-08 Vikraman Arvind, Johannes Köbler
Graph Isomorphism is Low for ZPPNP and other Lowness results
99-09 Thomas Bauer, Peter Dadam
Efficient Distributed Workflow Management Based on Variable Server Assignments
2000-02 Thomas Bauer, Peter Dadam
Variable Serverzuordnungen und komplexe Bearbeiterzuordnungen im Workflow-
Management-System ADEPT
2000-03 Gregory Baratoff, Christian Toepfer, Heiko Neumann
Combined space-variant maps for optical flow based navigation
2000-04 Wolfgang Gehring
Ein Rahmenwerk zur Einführung von Leistungspunktsystemen
2000-05 Susanne Boll, Christian Heinlein, Wolfgang Klas, Jochen Wandel
Intelligent Prefetching and Buffering for Interactive Streaming of MPEG Videos
2000-06 Wolfgang Reif, Gerhard Schellhorn, Andreas Thums
Fehlersuche in Formalen Spezifikationen
2000-07 Gerhard Schellhorn, Wolfgang Reif (eds.)
FM-Tools 2000: The 4th Workshop on Tools for System Design and Verification
2000-08 Thomas Bauer, Manfred Reichert, Peter Dadam
Effiziente Durchführung von Prozessmigrationen in verteilten Workflow-
Management-Systemen
2000-09 Thomas Bauer, Peter Dadam
Vermeidung von Überlastsituationen durch Replikation von Workflow-Servern in
ADEPT
2000-10 Thomas Bauer, Manfred Reichert, Peter Dadam
Adaptives und verteiltes Workflow-Management
2000-11 Christian Heinlein
Workflow and Process Synchronization with Interaction Expressions and Graphs
2001-01 Hubert Hug, Rainer Schuler
DNA-based parallel computation of simple arithmetic
2001-02 Friedhelm Schwenker, Hans A. Kestler, Günther Palm
3-D Visual Object Classification with Hierarchical Radial Basis Function Networks
2001-03 Hans A. Kestler, Friedhelm Schwenker, Günther Palm
RBF network classification of ECGs as a potential marker for sudden cardiac death
2001-04 Christian Dietrich, Friedhelm Schwenker, Klaus Riede, Günther Palm
Classification of Bioacoustic Time Series Utilizing Pulse Detection, Time and
Frequency Features and Data Fusion
2002-01 Stefanie Rinderle, Manfred Reichert, Peter Dadam
Effiziente Verträglichkeitsprüfung und automatische Migration von Workflow-
Instanzen bei der Evolution von Workflow-Schemata
2002-02 Walter Guttmann
Deriving an Applicative Heapsort Algorithm
2002-03 Axel Dold, Friedrich W. von Henke, Vincent Vialard, Wolfgang Goerigk
A Mechanically Verified Compiling Specification for a Realistic Compiler
2003-01 Manfred Reichert, Stefanie Rinderle, Peter Dadam
A Formal Framework for Workflow Type and Instance Changes Under Correctness
Checks
2003-02 Stefanie Rinderle, Manfred Reichert, Peter Dadam
Supporting Workflow Schema Evolution By Efficient Compliance Checks
2003-03 Christian Heinlein
Safely Extending Procedure Types to Allow Nested Procedures as Values
2003-04 Stefanie Rinderle, Manfred Reichert, Peter Dadam
On Dealing With Semantically Conflicting Business Process Changes.
2003-05 Christian Heinlein
Dynamic Class Methods in Java
2003-06 Christian Heinlein
Vertical, Horizontal, and Behavioural Extensibility of Software Systems
2003-07 Christian Heinlein
Safely Extending Procedure Types to Allow Nested Procedures as Values
(Corrected Version)
2003-08 Changling Liu, Jörg Kaiser
Survey of Mobile Ad Hoc Network Routing Protocols)
2004-01 Thom Frühwirth, Marc Meister (eds.)
First Workshop on Constraint Handling Rules
2004-02 Christian Heinlein
Concept and Implementation of C+++, an Extension of C++ to Support User-Defined
Operator Symbols and Control Structures
2004-03 Susanne Biundo, Thom Frühwirth, Günther Palm(eds.)
Poster Proceedings of the 27th Annual German Conference on Artificial Intelligence
2005-01 Armin Wolf, Thom Frühwirth, Marc Meister (eds.)
19th Workshop on (Constraint) Logic Programming
2005-02 Wolfgang Lindner (Hg.), Universität Ulm , Christopher Wolf (Hg.) KU Leuven
2. Krypto-Tag – Workshop über Kryptographie, Universität Ulm
2005-03 Walter Guttmann, Markus Maucher
Constrained Ordering
2006-01 Stefan Sarstedt
Model-Driven Development with ACTIVECHARTS, Tutorial
2006-02 Alexander Raschke, Ramin Tavakoli Kolagari
Ein experimenteller Vergleich zwischen einer plan-getriebenen und einer
leichtgewichtigen Entwicklungsmethode zur Spezifikation von eingebetteten
Systemen
2006-03 Jens Kohlmeyer, Alexander Raschke, Ramin Tavakoli Kolagari
Eine qualitative Untersuchung zur Produktlinien-Integration über
Organisationsgrenzen hinweg
2006-04 Thorsten Liebig
Reasoning with OWL - System Support and Insights –
2008-01 H.A. Kestler, J. Messner, A. Müller, R. Schuler
On the complexity of intersecting multiple circles for graphical display
2008-02 Manfred Reichert, Peter Dadam, Martin Jurisch,l Ulrich Kreher, Kevin Göser,
Markus Lauer
Architectural Design of Flexible Process Management Technology
2008-03 Frank Raiser
Semi-Automatic Generation of CHR Solvers from Global Constraint Automata
2008-04 Ramin Tavakoli Kolagari, Alexander Raschke, Matthias Schneiderhan, Ian Alexander
Entscheidungsdokumentation bei der Entwicklung innovativer Systeme für
produktlinien-basierte Entwicklungsprozesse
2008-05 Markus Kalb, Claudia Dittrich, Peter Dadam
Support of Relationships Among Moving Objects on Networks
2008-06 Matthias Frank, Frank Kargl, Burkhard Stiller (Hg.)
WMAN 2008 – KuVS Fachgespräch über Mobile Ad-hoc Netzwerke
2008-07 M. Maucher, U. Schöning, H.A. Kestler
An empirical assessment of local and population based search methods with different
degrees of pseudorandomness
2008-08 Henning Wunderlich
Covers have structure
2008-09 Karl-Heinz Niggl, Henning Wunderlich
Implicit characterization of FPTIME and NC revisited
2008-10 Henning Wunderlich
On span-Pсс and related classes in structural communication complexity
2008-11 M. Maucher, U. Schöning, H.A. Kestler
On the different notions of pseudorandomness
2008-12 Henning Wunderlich
On Toda’s Theorem in structural communication complexity
2008-13 Manfred Reichert, Peter Dadam
Realizing Adaptive Process-aware Information Systems with ADEPT2
2009-01 Peter Dadam, Manfred Reichert
The ADEPT Project: A Decade of Research and Development for Robust and Fexible
Process Support
Challenges and Achievements