We present a graphical and dynamic framework for binding and execution of (business) process models. It is tailored to integrate 1) ad hoc processes modeled graphically, 2) third party services discovered in the (Inter)net, and 3) (dynamically) synthesized process chains that solve situationspecific tasks, with the synthesis taking place not only at design time, but also at runtime. Key to our approach is the introduction of type-safe stacked second-order execution contexts that allow for higher-order process modeling. Tamed by our underlying strict service-oriented notion of abstraction, this approach is tailored also to be used by application experts with little technical knowledge: users can select, modify, construct and then pass (component) processes during process execution as if they were data. We illustrate the impact and essence of our framework along a concrete, realistic (business) process modeling scenario: the development of Springer's browser-based Online Conference Service (OCS). The most advanced feature of our new framework allows one to combine online synthesis with the integration of the synthesized process into the running application. This ability leads to a particularly flexible way of implementing self-adaption, and to a particularly concise and powerful way of achieving variability not only at design time, but also at runtime.
MotivationBusiness process modeling has evolved from mere collection of requirements artifacts, supported by tools like ARIS [45], to an important element in the whole development process of complex applications. With the introduction of execution semantics for BPMN2 [41,2], business process models have started to be used to integrate the application expert in the overall development process. This inclusive trend is however still young and suffers from complicated mechanisms for integrating user-defined or third party activities/services [8,1,44,3,42]. The only exception is the jABC framework, that was designed from the very beginning for easing the integration process and that even offers systematic formal methods-based product line [26] and variability [11] support. On the other hand, in particular AristaFlow [4] promoted ad hoc process modeling as a particularly convenient way for customization. An ad-hoc approach allows users to adapt processes at runtime for a single use, a heuristics that has also successfully been used in [21] Sec. 3.2.3.What is missing to be fully prepared for future demands is a comprehensive, type-safe framework for flexibility, able to capture variability uniformly both at design time and at runtime in a hierarchical fashion. The usefulness of this ad-hoc and context-aware flexibility is illustrated by the following three increasingly demanding route planning scenarios:Static Route Planning: Planning the route before a trip using e.g. google maps gives a selection of nice choices and the option for a detailed investigation, and one is able to 'personalize' the own trip.