AristaFlow provides the most distinguished process management technology in respect to the flexible support of adaptive and dynamic business processes. New processes can be composed out of existing application services in a plug & play like fashion, and then be robustly and flexibly executed by the AristaFlow process engine multiple times. In particular, at the process instance level authorized users may deviate from the pre-modeled process if required (e.g., to deal with exceptional situations). Examples of such ad-hoc changes include the dynamic insertion, deletion or movement of one or multiple process activities. Using the AristaFlow technology corresponding changes can be accomplished in a secure manner without affecting system robustness and process consistency.
As opposed to many existing workflow systems (including BPEL engines), the AristaFlow technology is no handicraft work, but has arisen from longtime research activities on flexible process support. Particularly, the Institute of Databases and Information Systems (DBIS) has worked on fundamental research topics like soundness in process modeling, adaptive processes, process schema evolution or dynamic service composition for many years within its flagship projects ADEPT1, ADEPT2 and AristaFlow. From these projects we derived a sound and well elaborated theory for flexible and adaptive process support in large scale. Besides these research results, we also integrated the extensive experiences our industrial partners had gathered in numerous workflow and software projects. A detailed overview of the AristaFlow product history can be found in a recently published article.
The ADEPT1 Project
The research performed in the ADEPT1 project was motivated by challenges we had identified in the clinical domain. This domain can be considered as “killer application” for process-aware information systems (PAISs), since one has to cope with conflicting goals like robustness, flexibility, scalability, and ease of use.
In 1998, with ADEPT1 a first powerful prototype of the ADEPT process management technology became operational. It was demonstrated at the CeBIT’98 fair for the first time and at numerous other events later on (e.g., CeBIT’00, BIS’00, and EDBT’00). ADEPT1 served as implementation base for process-aware information systems with both human and automated tasks, and it provided support for temporal constraint management. Its most interesting feature, however, was certainly the robust support of ad-hoc changes [ReDa98] and the provision of application programming interfaces for realizing corresponding runtime adaptations. ADEPT1 served as implementation platform for numerous research projects world-wide and was later extended to support distributed process execution as well (see project ADEPTdistribution). Fig. 1 illustrates how ad-hoc changes are supported within ADEPT1 (user view).
a) An exception occurs
b) User presses the "exception button"
c) User selects type of the ad-hoc change
d) User selects step to be inserted
e) User specifies where to insert the step
f) System checks validity of the change
g) Change can be applied
h) User continues work
Figure 1: Ad-hoc change in ADEPT1 (user view)
Altogether the ADEPT1 technology has taken us further in realizing our vision of flexible process support than we initially expected. Due to its “correctness by construction” principle, it allows to model, modify, and deploy processes very quickly. Its capabilities for ad-hoc changes in conjunction with instantaneous checking of correctness do not only enable secure changes of process instances, but also offer a complete new degree of freedom in modeling executable processes. 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 beginning in great detail what shall be performed in the third year. Using ADEPT1, one can go even further and, by starting with an empty process template, compose process instances on-the-fly (and have nevertheless full support of the underlying process management system).
From ADEPT1 to ADEPT2
In 2001 we started our research on process schema evolution. Our goal was to be able to decide at the system level which process instances can be correctly migrated to a new process schema version and for which process instances this is not possible (see Fig. 2) [RRD04a, RRD04b].
Figure 2: Process schema evolution in ADEPT2 (user perspective)
As it would have been too much effort to modify the ADEPT1 code base in order to integrate the concepts we developed for process schema evolution, we implemented a standalone proof-of-concept
prototype. 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 services could be supported by tools in such a way, that all necessary information to perform correctness checks during process modeling using plug & play and ad-hoc deviations can be automatically derived. Our most important goal was to design and implement parts of the ADEPT2 process management system, which comprehensively supports all the functionalities developed in the ADEPT project and the AristaFlow project. A summary of the achievements made in the ADEPT2 project can be found in another article we recently published.
From ADEPT2 to AristaFlow BPM Suite
The power of the ADEPT2 technology and the pre-versions demonstrating its capabilities 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) 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.
For both ADEPT2 and AristaFlow, much efforts have been undertaken to make their APIs very powerful, but also easy to use. Experiences with applications implemented on the new platform and utilizing the provided change capabilities make us very confident that we have achieved this goal. We believe that ADEPT2 and AristaFlow BPM Suite respectively show the capabilities, process technology will have to offer in future to be broadly applicable. It shows also that robustness, flexibility, and ease of use can be achieved in conjunction with each other.