• Keine Ergebnisse gefunden

Extended workflow flexibility using rule-based adaptation patterns with eventing semantics

N/A
N/A
Protected

Academic year: 2022

Aktie "Extended workflow flexibility using rule-based adaptation patterns with eventing semantics"

Copied!
6
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Extended Workflow Flexibility using Rule-Based Adaptation Patterns with Eventing Semantics

Markus D¨ohring, Birgit Zimmermann, Eicke Godehardt SAP Research, Darmstadt, Germany

{markus.doehring, birgit.zimmermann, eicke.godehardt}@sap.com Abstract:In several industry scenarios, an existing reference workflow often has to be adapted according to specific context factors, which might even change at runtime.

The involved change operations are however usually restricted to simple constructs like task deletion or insertion. Existing approaches lack the explicit consideration of eventing paradigms for modeling reactive parts of a workflow and combining them with context-awareness. In this paper, we present a maintenance service delivery use- case and show how hierarchical context rules tailor the workflow to changing data con- texts. We propose to extend existing basic change operations with a pattern catalogue that especially captures event-based adaptation semantics for modeling languages like BPMN2 and show how a part of our solution was implemented in jBoss Drools.

1 Introduction and Motivation

Today’s process-aware enterprise information systems are expected to provide mecha- nisms for the design, execution and monitoring of standardized business logic and si- multaneously to allow for sufficient degrees of freedom for context-dependent tailoring of IT-based procedures. In many business domains it is often the case that a reference workflow exists which needs to be adapted to a variable context [HBR09]. The explicit one-by-one modeling of such variants implies the danger of redundancies and becomes in- feasible if the combinatory complexity of context variables is too high. Therefore business rules have been proposed to condition the application of change operations to workflow templates on context variables. These change operations are however restricted to simple constructs like task deletion or insertion. They lack the provision of context-dependent reaction mechanisms for workflow languages like BPMN21 that explicitly support event- ing paradigms. The proper integration of workflow and complex event processing (CEP) paradigms, which can discover business relevant events by correlating large noisy sets or streams of atomic events, is considered crucial for a highly responsive enterprise architec- ture [DKGZ10]. In this paper, we propose an extended adaptation pattern catalogue for BPMN2. Related work is discussed in section 2. Section 3 introduces an example BPMN2 workflow together with basic rule-based adaptation mechanisms. Section 4 presents the idea of an extended event-driven adaptation pattern catalogue. Our solution has partly been implemented in jBoss Drools, which is described in Section 5. Section 6 concludes this work.

1See http://www.omg.org/cgi-bin/doc?dtc/09-08-14

(2)

2 Related Work

Rule-based adaptation is not the only mechanism to provide flexibility in a process-aware information system. One prevalent alternative is the creation of parameterizable refer- ence workflows, where a variant is created by “fading out” irrelevant parts of a workflow [RV07].Instead of creating a large parameterizable workflow model, the other way round is also possible. [LDKD09] present methods for merging single workflow models into a larger reference workflow. One of the approaches for context-rule based change operations for variant creation most related to this work is presented in [HBR09], which also specify variant points in a workflow together with change operations (INSERT, DELETE, MOVE, MODIFY) and provide mechanisms e.g., to provide consistency of the adapted workflow when a context variable changes at runtime. Rule-pattern based workflow modeling is for example discussed in [CCF+00]. To the best of our knowledge, none of the discussed work fosters the introduction of a pattern catalogue to enable context-specific event-driven (resp. exception handling) adaptations to workflows. It lacks guidance how to actually combine and employ their flexibility means, a gap which is addressed in the following.

3 Context-Aware Process Adaptation

For illustration, a fictitious but realistic workflow for ship engine maintenance is presented in figure 1 in BPMN2 notation. At first, the ship engine is set to maintenance mode.

Depending on the type of the cooling component, a maintenance or replacement of the respective parts is conducted. In parallel, if the ship resides in a dockyard for maintenance, additional tests are conducted, which might require an engine startup that in turn needs approval from the dockyard due to emission restrictions. At the end, missing or damaged engine spare parts are replaced if the customer is solvent. As we will see later, it might be required that the added spare parts have to be revoked, so a corresponding compensation handler is included. The diagram in figure 1 depicts thenormalprogress of the workflow.

It also contains the listing of some context variables, based on whose value the workflow may deviate from its original modeling. To facilitate the support of consistency at design- time and the handling of adaptations at runtime, we build upon concepts from [HBR09]

to define regions resp. variability points in a workflow marked by circles with opening and closing square brackets. We restrict variable regions to be block-structured, i.e. there might only be one entering and one outgoing flow connection. It is also allowed to mark a single task as variable by placing a black diamond on the task node. In figure 1, we have four variable regions marked with a BPMN2 annotation on the variant start node. If a common task definition repository for rules and workflow modeling exists as stipulated in [DKGZ10], we can express parametrized hierarchical adaptation rules conditioned on the context variables as shown within Figure 1 that apply the common change operations insert,delete,moveandreplaceon the workflow graph.

The concept of employing hierarchical “Ripple-Down-Rules” for introducing workflow execution dynamics, where a descendant rule extends a parent rule, was amongst others presented in [ATEV06]. We can see that rule #1 states that it is unnecessary to clean the

(3)

!" $%"!& "' ()*+"!+)+,!

('-!

.+%/!,"

0+*" 1''2*+3 4)+%

5!/2),! 6*7 4*2"!7%

.+%/!," /)7!

8)7"%

/)7! 8)7"%

(*%%*+39:)&)3!- 6;: ,<%"'&!7

%'2=!+"

1>;?@A? B65.6CD@ E

?*&! F7'& D)%" @+3*+! 5!/)*7 1<77!+" D',)"*'+ 1'<+"7$ 'F G*/

F)*2<7!H*%"'7$I,'+")*+% JKKKL

&)*+"!+)+,!H*%"'7$I,'+")*+% JAAAL ()*+"!+)+,!H*%"'7$I2)%"1G!,MJNNNL 1<%"'&!7 G)% !O*%"*+3 %!7=*,! ,'+"7),"

G*/ ?$/!

@+3*+! :!%*3+!7 1<77!+" C),M2'3 'F !7=*,! @&/2'$!!%

1<%"'&!7 5!2!=)+,$ 5)+M*+3 :',M$)7- ")"*'+

12!)+

5!%!7='*7 .+%/!,"

1''2*+3 8<&/

.+ :',M$)7-

<//2$

B'2")3!

?!%"%

@+3*+!

")7"</ ?!%"%

/'%"()*+"!+)+,!('-!

P)"!7 '7 6*7 1''2!- 0+*"Q

5!/2),!96-- /)7!8)7"

8<" C),M /)7! 8)7"

6//7'=)2 F7'&

:',M$)7-

R)"!71''2*+36,"*=*"*!% %/)7!8)7"%H)+-2*+3

!

!

!

!

50D@

50D@ STE .4 !+3*+!:!%*3+!7UUV:@ .W;@5TV :@D@?@ ,2!)+5!%!7='*7 50D@ STITE .4 &)*+"!+)+,!H*%"'7$I,'+")*+%JF7!X<!+,$1'+=!7"!71G)+3!-L

.; @5? ,G!,M1'+=!7"!7 P.?H.; /'%"&)*+"!+)+,!&'-!

50D@ STIYE .4 &)*+"!+)+,!H*%"'7$I,'+")*+%J'*2D!)M)3!5!/)*7L .; @5? *+"!37*"$1G!,M P.?H.; /'%"&)*+"!+)+,!&'-!

50D@ SYE .4 J%G*/?$/!LUUV/)%%!+3!7 %G*/V .; @5? ?<7+ >FF !,<7*"$ D',M% P.?H.; /'%"&)*+"!+)+,!&'-!

50D@ SYITE .4 J!O*%"*+3 !7=*,!1'+"7),"L 6;: ,<77!+"C),M2'3Z[\]^

.; @5? !O"!+%*=!D*F!"*&!6+)2$%*% P.?H.; /'%"&)*+"!+)+,!&'-!

50D@ S_E .4 `J!O*%"*+3 !7=*,!1'+"7),"L

:@D@?@ 6DD &!)%<7!&!+"%a :@D@?@ 5!/2),! /)7! 8)7"%

50D@ SbE .4 $!)7%47'& ")7"</J/<&/ !)2%Lcb >5 $!)7%47'&5!/)*7J/<&/ !)2%Lc[

5@8D61@ *+%/!,"1''2*+38<&/Zc7!/2),!1''2*+38<&/

&!)%<7!&!+"%

Figure 1: Example Service Delivery Workflow for Engine Maintenance

cooling liquid reservoir for a specific engine designer. For the same designer, additional checks need to be conducted depending on the past maintenance history (rules #1.1 and

#1.2). In rule #2.1 we can see that a context variable (the worker backlog in this case) can possibly change at runtime. Therefore the rules that include runtime-variable conditions in their LHS2are evaluated right at the point where the workflow enters a variable region that is covered by their RHS3. The adaptations applied to the variable region or single task however remain constant for a single flow pass, i.e. they are not re-adapted if a context- variable changes again during execution. That means if a flow passes a variable region entry point multiple times e.g. through a cycle, it might be the case that a variable region is executed in multiple different variants.

4 Extension to Event-Driven Adaptation Patterns

Up to now, we only dispose of a conceptual facility to specifywhat happens nextin the workflow instance. What is missing, and this point is examined in only few of the related work (Section 2 on dynamic rules based adaptation, is how to deal with running task in- stances when sudden events occur that in turn need immediate context-dependent reaction.

As an example, our maintenance workflow should immediately react on a detectedcus- tomer solvency warningevent, but only if the customer is not ranked as an A-customer for the maintenance service provider. If so, even already added or replaced spare parts should be revoked to reduce the risk of customer illiquidity. That means, at this point we want to combine workflow context-awareness and event-driven reactivity. The difference to spec- ifying classic event-condition-action (ECA) rules is that we propose to use higher-level

2Left-Hand-Side (LHS) means the condition part of a rule.

3Right-Hand-Side (RHS) means the action part of a rule.

(4)

Table 1: Event-Driven Adaptation Pattern Catalogue Draft

ID Name Description Parameters

#1 UnfailableTimedHandler Sets a boundary error event to the concerned re- gion that is signaled according to a specified inter- val starting from the start of the first task within the region. If the timer expires, the region is can- celed and a compensation mechanism is triggered, followed by the throwing of an escalation event.

TIME, HANDLER

#2 CompensationWithEscalation If the timer expires, the region is canceled and a single task handler is called. If the handler suc- ceeds, the region is re-started. If the handler fails, the whole process fails.

REACTONEVENT, COMPENSATETASK

... ... ... ...

event-driven adaptation patterns for such cases, that directly rely on BPMN2 semantics.

A corresponding draft for such a pattern catalogue is shown in table 14. Please note, that we do not aim at re-inventing or standardizing workflow or rule semantic. Such a pat- tern catalogue is rather intended to be reference base for looking up solutions to modeling problems of event-based adaptations within workflow, similar to what are design patterns for software engineering or the workflow patterns [VTKB03] for workflow modeling it- self. One pattern example and its application to a part of the example workflow are shown in figure 2. Pattern #1 in combination with rule #5 guarantees that for a particular engine designer, all measurement activities take place within a particular time frame. Depending on the dockyard location, there may be different policies for how long the ship may run its engine while it is docked. If this time frame is exceeded, the measure devices need to be reset and the measurements have to be canceled and repeated:

RULE #5: IF dockyardStation==Hamburg ADD nofailabletimedhandler AROUND measurements WITH 2h HANDLER resetDevices

!""#$

&'#()*+ ,+-(- ./*0/+

()1(!" ,+-(-

23 (04+ 50/6'5- +78++6+6

9+-+(

:+;08+-

<<=>?:@

.9AA

B

<< CD9E.

,> FAA

<<,GH.AA

<<,GH.AAIJ23

<<=>?:@.9AAI9+-+( :+;08+-

!""#$

&'#()*+

,+-(- ./*0/+

()1(!" ,+-(-

>""1';)# K1'4 :'8L$)16

!

4+)-!1+4+/(-

>""1';)# K1'4 :'8L$)16

!!"#$%&'!()&)*"+,,-&./0'1#$$+"3&*4&/45)*.5!6&+!45'#%&'($.5&70'5.5+)7) *+86+#($,-%'575)95:*#57;

Figure 2: Example Event-Driven Adaptation Patterns and Application to Workflow Regions

5 Prototypical Realization in jBoss Drools

A part of the presented example workflow and the concepts presented in this work has been prototypically implemented in jBoss Drools5, an integrated platform for business logic modeling and execution. As the required variant points for the adaptation mechanisms specified in section 3 and 4 are not defined by BPMN2, we convert them to intermediate

4Some more example patterns are provided in the extended version of this paper.

5http://www.jboss.org/drools

(5)

throw event message nodes and catch the events within the rule engine for processing.

For a variant point attached to a single task, we create one message node before and one message node after the corresponding task. The messages are used to signal the Drools runtime environment when a variable part of the workflow is either entered or left. In figure 3 in the left part, one can see a part of our example workflow with the corresponding variant points converted to message nodes and the applied pattern #1. The context-aware adaptation rules as presented before are converted into an ECA format as shown in the right part of the figure. The LHS of the rules query the context variables and the RHS add the corresponding change operations into a change set. An application rule with a higher priority subsequently carries out the change operations in the set. Since Drools does not maintain any linkage information between instantiated activities in the runtime, the workflow instance adaptation is currently achieved by creating a copy of the workflow model segment enclosed by the variant markers as visualized in figure 4. To this model copy, the adaptations are applied. The one single node at the end of the segment is then connected to the ending variant marker via a converging XOR gateway. If a flow from an adapted segment reaches the ending variant point, the nodes that have been copied can be traced back and removed from the model via acleanUp()method reacting on the event thrown by the ending variant node.

Figure 3: Screenshot of Example Workflow and Adaptation Rules in jBoss Drools

! !

!

!

!

!

" !

!

#$ &'()'*+ ,-((.*+/0

(-**)*1 2)(3+ 4'()'*+

5(.'+.6 7.,$*6 4'()'*+

5(.'+.6

7.,$*6 4'()'*+

2)*)38.6 // 4'()'*+3

2)*)38.6

Figure 4: Adapted Segment Copies Added/Removed when Tokens Arrive at Variant Nodes

(6)

6 Conclusion

Motivated by the need for an increased support of highly variant and dynamically changing workflows, it has been demonstrated how context-rules can be used to apply change oper- ations and dynamically tailor a ship engine maintenance workflow. It has also been shown that simple rule-based adaptations are not sufficient when eventing paradigms are largely involved in a modeled workflow and e.g., context-dependent exception handling has to be realized. Therefore the elaboration of an extended event-driven adaptation pattern cata- logue has been proposed. The practical feasibility and testability of our approach has been substantiated by partly extending an open-source rule- and workflow-engine with the pre- sented functionality. For future work, the proposed pattern catalogue has to be extended by analyzing typical highly dynamic use-cases involving eventing, as for example logistics.

Furthermore, other implementation variants than the direct manipulation of flow graphs, for example by mapping some workflow constructs to ECA rules, have to be considered.

Finally, an intuitive modeling environment that allows for a comfortable browsing of pat- terns accompanied by existing concepts to provide design-time validation and verification of a model have to be examined regarding their applicability to our approach.

Acknowledgements

This work was developed in the project Allianz Digitaler Warenfluss (ADiWa) that is funded by the German Federal Ministry of Education and Research. Support code: 01IA08006.

References

[ATEV06] Michael Adams, Arthur H M Ter Hofstede, David Edmond, and Wil M P Van Der Aalst.

Worklets : A Service-Oriented Implementation of Dynamic Flexibility in Workflows. In CoopIS ’06, pages 291–308. Springer, 2006.

[CCF+00] F. Casati, S. Castano, M. Fugini, I. Mirbel, and B. Pernici. Using patterns to design rules in workflows.IEEE Transactions on Software Engineering, 26(8):760—-785, 2000.

[DKGZ10] M. D¨ohring, L. Karg, E. Godehardt, and B. Zimmermann. The Convergence of Work- flows, Business Rules and Complex Events. InICEIS ’10, Funchal, Portugal, 2010.

[HBR09] A. Hallerbach, T. Bauer, and M. Reichert. Configuration and management of process variants.Handbook on Business Process Management, Springer-Verlag, 2009.

[LDKD09] M. La Rosa, M. Dumas, R. Kaarik, and R. Dijkman. Merging Business Process Models.

QUT Prints, 2009.

[RV07] M Rosemann and WMP Van Der Aalst. A configurable reference modelling language.

Information Systems, 32(1):1—-23, 2007.

[VTKB03] Wil Van Der Aalst, Arthur H.M. Ter Hofstede, Bartek Kiepuszewski, and Alistair P.

Barros. Workflow Patterns.Distributed and Parallel Databases, 14(1):5—-51, 2003.

Referenzen

ÄHNLICHE DOKUMENTE

When Tarski’s World asks you to choose a conjunct you think is false, pick the first sentence. This is not the false conjunct, but select it anyway and see what happens after you

The issue explored in this experiment was whether the DCU output con- tained sufficient information after the application of the ordered rewrite rules (core component of this thesis)

The three SMT systems do not only have similar overall average scores but also behave similarly regarding various phenomena: In six of the fourteen super- categories,

Since typed feature structures (TFS) are used as a uniform data structure for representing the input and output by each of these processing resources, they can be

Given the word alignment between the input and RBMT translation, hierarchical rules, phrasal translations and their associated model parameters, are extracted for the complete

We therefore designed a listening test in order to investi- gate the preferred prosodic realisation of grammatical subjects at the beginning of a sentence, more specifically in

The hazard curve for a corroding structure will be obtained by simulating the parameters coating breakdown, corrosion rate and original thickness by Monte Carlo simulation

The KB consists of nonmono- tonic existential rules that formally describe molecular structures and chemical classes; this representation can subsequently be used to determine