Article Preview
TopIntroduction
The importance of flexibility in process aware information systems has been widely acknowledged in the past few years. Flexibility is the ability to make changes in adaptation to a need, while keeping the essence unchanged (Regev et. al, 2007). Considering business processes, flexibility is the ability to deal with both foreseen and unforeseen changes, by varying or adapting specific parts of the business process, while retaining the essence of the parts that should not be impacted by the variations (Schonenberg et al., 2008).
Flexibility is particularly important in organizations that face frequent changes and variable stimuli from their environment. For processes that operate in a relatively stable environment, where unpredictable situations are not frequent, flexibility is not essential, as responses to all predictable situations can be defined. However, in the present business environment, where changes occur frequently and organizations have to cope with a high range of diversity, full predictability is rare.
Facing this reality, approaches have been proposed for enabling flexibility in business processes, as reviewed and classified in (Schonenberg et al., 2008). These include mechanisms of late binding and modeling, where the actual realization of a specific action is only decided at runtime as implemented in YAWL (Aalst & Hofstede, 2005), and changes that can be made at runtime to a running process instance or to all instances of the process, enabled in ADEPT (Reichert et al., 2003).
One of the promising approaches is declarative process models (e.g., Declare (Pesic et al., 2007)), which have received significant attention in recent years.
While “traditional” process models are imperative (e.g., BPMN), explicitly specifying the execution order of activities through control flow constructs, a declarative process model implicitly specifies the execution procedure by means of constraints: any execution that does not violate constraints is possible. Using such model, the user can respond to each situation that arises, executing an activity chosen from all the ones available in compliance to the specified constraints. Currently, the most common approach to declarative process specification (although not the only one existing) is based on Linear Temporal Logic (LTL), which sets constraints on temporal relations among activities (Pesic et al., 2007). While allowing a high level of freedom, the approach has the following limitations.
First, while the human decision about which action to take is made based on the state at that specific moment, the existing models do not emphasize states. Rather, the leading concept to be modeled and monitored in the model is an activity, and constraints can be specified on the execution of a single activity or on relationships between activity executions. The process state is monitored, mainly as a trace of the activities that have been executed up to a given moment. Constraints can also relate to values of data as conditions for activity execution. However, there is no fundamental view and monitoring of state for leading process execution and decision making.
Second, to respond to changes and events in the environment, these need to be addressed in the model. Generally speaking, the model should be context aware, where context is the set of inputs a process instance receives from its environment (Ploesser et al., 2009). This is particularly important when bearing in mind that flexibility is required in the first place in processes that face frequent changes in the environment.
Finally, an effective selection of action by the human operator of the process should relate to the desired outcomes to be achieved, namely, to a goal. Currently, goals are usually not an integral part of process definitions.