SEFM 2010, 15/09/201011 Timed data-centric analysis of graphical business process models in Reo...

24
SEFM 2010, 15/09/2010 1 Timed data-centric analysis of graphical business process models in Reo Natallia Kokash and Christian Krause Centrum Wiskunde & Informatica (CWI) Erik de Vink, TU Eindhoven The Netherlands

Transcript of SEFM 2010, 15/09/201011 Timed data-centric analysis of graphical business process models in Reo...

Page 1: SEFM 2010, 15/09/201011 Timed data-centric analysis of graphical business process models in Reo Natallia Kokash and Christian Krause Centrum Wiskunde &

SEFM 2010, 15/09/2010 11

Timed data-centric analysis of graphical business process

models in ReoNatallia Kokash and Christian Krause

Centrum Wiskunde & Informatica (CWI)Erik de Vink, TU Eindhoven

The Netherlands

Page 2: SEFM 2010, 15/09/201011 Timed data-centric analysis of graphical business process models in Reo Natallia Kokash and Christian Krause Centrum Wiskunde &

SEFM 2010, 15/09/2010 22

Overview Channel-based coordination language Reo

Graphical notation, semantic models Formalization of business process models with Reo mCRL2 specification language and model checking toolset Translation from Reo to mCRL2

Basic mapping Compositional translation Data and time support Abstraction

Tool support Example – Auction process Related work Conclusions and future work

Page 3: SEFM 2010, 15/09/201011 Timed data-centric analysis of graphical business process models in Reo Natallia Kokash and Christian Krause Centrum Wiskunde &

SEFM 2010, 15/09/2010 3

Motivation: analysis of business processes

Goal: automatically analyze workflow models

Safety properties “Something bad will not happen”

Liveness properties “Something good will eventually happen”

Control flow analysis Deadlocks/livelocks/temporal constraints in data-agnostic

models Data flow analysis

Deadlocks/livelocks/temporal constraints in data-aware models (with multiple variables, abstract data types and data manipulation)

Service compatibility checking

3

Page 4: SEFM 2010, 15/09/201011 Timed data-centric analysis of graphical business process models in Reo Natallia Kokash and Christian Krause Centrum Wiskunde &

SEFM 2010, 15/09/2010 4

Channel-based coordination with Reo

Channels are binary components that define constraints on input and output data items

Channel ends (ports) can be both source ends or both sink ends

Channel ends can be joint together and form source, sink or mixed nodes

Source nodes behave like synchronous replicators Sink nodes behave like non-deterministic mergers

Page 5: SEFM 2010, 15/09/201011 Timed data-centric analysis of graphical business process models in Reo Natallia Kokash and Christian Krause Centrum Wiskunde &

SEFM 2010, 15/09/2010 55

Formalization of business process models with Reo

Arbab, F., N. Kokash and M. Sun, Towards using Reo for Compliance-aware Business Process, ISoLA 2008 (2008), pp. 108–123.

Tasharofi, S., M. Vakilian, R. Z. Moghaddam and M. Sirjani, Modeling web service interactions using the coordination language Reo, Proc. of the Int. Workshop on Web Services and Formal Methods, LNCS 4937 (2008), pp. 108–123.

Changizi, B., Kokash, N., Arbab, F.: A Unified Toolset for Business Process Model Formalization, proc of the Int. Workshop on Formal Engineering approaches to Software Components and Architectures (FESCA), 2010.

Page 6: SEFM 2010, 15/09/201011 Timed data-centric analysis of graphical business process models in Reo Natallia Kokash and Christian Krause Centrum Wiskunde &

SEFM 2010, 15/09/2010 6

Semantic models for Reo

Basic model Constraint automata (Baier, C., Sirjani, M., Arbab, F., Rutten, J.: Modeling

Component Connectors in Reo by Constraint Automata. Science of Computer Programming 61 (2006) 75–113)

Reo with context dependent channels Coloring semantics (Clarke, D., Costa, D., Arbab, F.: Connector coloring I:

Synchronization and context dependency. Science of Computer Programming 66 (2007) 205–225)

Intentional automata (Costa, D.: Formal Models for Context Dependent Connectors for Distributed Software Components and Services. PhD thesis, CWI (2010))

Reo automata (Bonsangue, M., Clarke, D., Silva, A.: Automata for context-dependent connectors. In: Proc. Coordination’ 09. Volume 5521 of LNCS., Springer (2009) 184–203)

Reo with timed channels Timed constraint automata (Arbab, F., Baier, C., de Boer, F., Rutten, J.:

Models and temporal logical specifications for timed component connectors. Software and Systems Modeling 6(1) (2007) 59–82)

Reo with probabilistic channels Probabilistic constraint automata (Baier, C.: Probabilistic models for Reo

connector circuits. Journal of Universal Computer Science 11(10) (2005) 1718–1748)

Page 7: SEFM 2010, 15/09/201011 Timed data-centric analysis of graphical business process models in Reo Natallia Kokash and Christian Krause Centrum Wiskunde &

SEFM 2010, 15/09/2010 7

Constraint automata semantics for basic Reo channels and nodes

Page 8: SEFM 2010, 15/09/201011 Timed data-centric analysis of graphical business process models in Reo Natallia Kokash and Christian Krause Centrum Wiskunde &

SEFM 2010, 15/09/2010 8

(Timed) constraint automata

A constraint automaton

Page 9: SEFM 2010, 15/09/201011 Timed data-centric analysis of graphical business process models in Reo Natallia Kokash and Christian Krause Centrum Wiskunde &

SEFM 2010, 15/09/2010 99

mCRL2

Behavioral specification language Associated toolset

Developed at TU Eindhoven (+ LaQuSo, CWI and Twente University)

Based on the algebra of communicating processes (ACP)

Extended with data and time Built-in data types: Bool, Nat, Pos, Int, Real Algebraic data types

constructors, recognition and projection functions Built-in support for lists, sets and bags User-defined functions (λ calculus)

Number of industrial case studies http://www.mcrl2.org/

Page 10: SEFM 2010, 15/09/201011 Timed data-centric analysis of graphical business process models in Reo Natallia Kokash and Christian Krause Centrum Wiskunde &

SEFM 2010, 15/09/2010 1010

mCRL2 specification language

Actions are atomic events (e.g. a firing of a port or a request arrival in a Reo connector)

Processes are the active entities defined as expressions over actions and other processes Multiaction: a|b (synchronized actions) Alternative composition: a + b (nondeterministic choice) Sequence composition: a.b (b started after a) Conditional: exp → a ◊ b (if-then-else) At operator: act (action a happens at time t) Parallel composition: a||b (interleavings a.b + b.a + a|b)

Actions and processes can be parametrized with data Summation: ∑d∈D a(d) (a(d1) + a(d2) + a(d3)…)

Page 11: SEFM 2010, 15/09/201011 Timed data-centric analysis of graphical business process models in Reo Natallia Kokash and Christian Krause Centrum Wiskunde &

SEFM 2010, 15/09/2010 1111

mCRL2 specification language

Renaming: ρR(a) where R is a set of renamings of the form b → c, meaning that every occurrence of b in a is replaced by c

Hiding: τH(a) renames all actions of H in a to τ

Restriction (allow): ∇R(a) where R specifies which actions are allowed to occur in a

Blocking: ∂B(a) where B is a set of actions that is not allowed to occur in a

Communication: ΓC(p), where C is a set of allowed communications of the form a0|...|an→ c, n ≥1 which means that every group of actions a0|...|an within a multiaction is replaced by an action c

Page 12: SEFM 2010, 15/09/201011 Timed data-centric analysis of graphical business process models in Reo Natallia Kokash and Christian Krause Centrum Wiskunde &

SEFM 2010, 15/09/2010 1212

Reo to mCRL2 (Constraint automata semantics)

Data flow observed at a channel end = action Synchronous channel, synchronous drain

Sync = A|B.Sync; Non-deterministic synchronous lossy channel

LossySync = (A|B + A).LossySync; Asynchronous drain

AsyncDrain = (A + B).AsyncDrain; FIFO

Fifo = A.B.Fifo; FullFifo = B.Fifo; Alternative encoding: Fifo(f: Bool) = (¬f → A ◊ B).Fifo(¬f);

Replication node ReplicationNode = X|Y|Z.ReplicationNode;

Merge node MergeNode = (X|Z + Y|Z).MergeNode;

Page 13: SEFM 2010, 15/09/201011 Timed data-centric analysis of graphical business process models in Reo Natallia Kokash and Christian Krause Centrum Wiskunde &

SEFM 2010, 15/09/2010 13

1. P0 = ∂ends of connected channels(Γhandshaking at Node1(Node1 || Sync1 || LossySync1 || LossySync2 || SyncDrain1))

2. P1 = ∂ends of connected channels(Γhandshaking at Node2(Node2 || Sync2 || Sync3 || P0 ))

3. P2 = ∂ends of connected channels (Γhandshaking at Node3(Node3 || Sync4 || P1 ))

4. P3 = ∂ends of connected channels (Γhandshaking at Node4(Node4 || Sync5 || P2 ))

13

Channel composition

Reduce the size of the state space while building the LTS for the mCRL2 specification of a Reo connector by Iterated connector construction

A

A

B

D

A

B

A

B

C

D

A B C D A B|C →E D

Synchronize and hide actions corresponding to the connected channels

Page 14: SEFM 2010, 15/09/201011 Timed data-centric analysis of graphical business process models in Reo Natallia Kokash and Christian Krause Centrum Wiskunde &

SEFM 2010, 15/09/2010 14

Correctness of the mapping

N. Kokash, C. Krause, and E. de Vink, “Verification of context-dependent channel-based service models,” in Proc. FMCO 2009, ser. LNCS. Springer, 2010.

Page 15: SEFM 2010, 15/09/201011 Timed data-centric analysis of graphical business process models in Reo Natallia Kokash and Christian Krause Centrum Wiskunde &

SEFM 2010, 15/09/2010 1515

Reo to mCRL2: Data support

act A, B: Data Sync = ∑d∈Data . A(d)|B(d) . Sync; SyncDrain = ∑d1,d2 ∈Data . A(d1)|B(d2) . SyncDrain; LossySync = ∑d∈Data . (A(d)|B(d) + A(d)) . LossySync; AsyncDrain = ∑d∈Data . (A(d) + B(d)) . AsyncDrain; Filter = sum ∑d∈Data . (exp(d) → A(d)|B(d) ◊ A(d)). Filter, where exp(d)

is a boolean expression Transformer = ∑d∈Data . A(d)|B(exp(d)) . Transformer; ReplicationNode = ∑d∈Data . X(d)|Y(d)|Z(d) . ReplicationNode; MergeNode = ∑d∈Data . (X(d)|Z(d) + Y(d)|Z(d)) . MergeNode;

FIFO DataFIFO = struct empty?isEmpty | full(e:Data)?isFull;

Fifo(f: DataFIFO) = ∑d∈Data isEmpty(f)→A(d).Fifo(full(d)) ◊ B(e(f)).Fifo(empty))

Page 16: SEFM 2010, 15/09/201011 Timed data-centric analysis of graphical business process models in Reo Natallia Kokash and Christian Krause Centrum Wiskunde &

SEFM 2010, 15/09/2010 1616

Reo to mCRL2: Global data types

A connector should deal with any data items consumed by its source nodes

Given a set of elementary data types DT1,…,DTn (e.g., inferred from web service interface specifications), the global data type is described as follows: Data = struct D1(e1: DT1)|…|Dn(e1: DTn)

JoinNode = ∑ d1,d2 ∈Data. (X(d1)|Y(d2)|Z(tuple(d1, d2)).JoinNode;

For m-join node tuple(e1: Data, e2: Data,…, em: Data) is added to the Data description, e.g., Data = struct D1(e1: DT1)|…|Dn(e1: DTn) |tuple(e1: Data, e2: Data)

Note: expressions for filter and transformer channels become dependent on the structure of the Reo connector

Page 17: SEFM 2010, 15/09/201011 Timed data-centric analysis of graphical business process models in Reo Natallia Kokash and Christian Krause Centrum Wiskunde &

SEFM 2010, 15/09/2010 1717

Reo to mCRL2: time support

T-timer with off- and reset- options Reacts differently to different data inputs:

DataTimer = struct reset?isReset | off?isOff | timeout | other(e: Data)?isOther

Has two states State = struct OFF?isOFF | ON?isON

State s (timer ON or OFF), current time x, timer delay t Timer(s: State, x: Real, t: Real ) =

isOFF(s)→∑d∈DataTimer isOther(d)→A(d).Timer(ON, 0, t) + isON (s) → ((x < t) → ∑d∈DataTimer

isReset(d) → A(d).Timer(ON, 0, t) + isOff (d) → A(d).Timer(OFF, x, t) + tickcx.Timer(ON, x + 1, t))

◊ B(timeout).Timer(OFF, x, t)

Page 18: SEFM 2010, 15/09/201011 Timed data-centric analysis of graphical business process models in Reo Natallia Kokash and Christian Krause Centrum Wiskunde &

SEFM 2010, 15/09/2010 18

Abstraction

Page 19: SEFM 2010, 15/09/201011 Timed data-centric analysis of graphical business process models in Reo Natallia Kokash and Christian Krause Centrum Wiskunde &

SEFM 2010, 15/09/2010 19

Case study: auction process with data transformation

Page 20: SEFM 2010, 15/09/201011 Timed data-centric analysis of graphical business process models in Reo Natallia Kokash and Christian Krause Centrum Wiskunde &

SEFM 2010, 15/09/2010 20

Tool support

Page 21: SEFM 2010, 15/09/201011 Timed data-centric analysis of graphical business process models in Reo Natallia Kokash and Christian Krause Centrum Wiskunde &

SEFM 2010, 15/09/2010 21

LTS and examples of control flow and timed properties

Page 22: SEFM 2010, 15/09/201011 Timed data-centric analysis of graphical business process models in Reo Natallia Kokash and Christian Krause Centrum Wiskunde &

SEFM 2010, 15/09/2010 22

LTS and examples of data flow properties

Input constraints:

Page 23: SEFM 2010, 15/09/201011 Timed data-centric analysis of graphical business process models in Reo Natallia Kokash and Christian Krause Centrum Wiskunde &

SEFM 2010, 15/09/2010 2323

Comparison of model checking tools for Reo Vereofy (University of Dresden) http://www.vereofy.de/

Developed specifically for Reo and Constraint Automata Dedicated property specification format Counterexamples No support for abstract data types Global domain for all components Primitive data constraint specification language (for filter channels)

mCRL2 toolset http://www.mcrl2.org/ Powerful support for data Rich property specification format (μ calculus) Hard to extract counterexamples Inability to define some useful data domains Performance depends on the structure of the program

CADP toolset (INRIA) http://www.inrialpes.fr/vasy/cadp/ Compatible with the generated mCRL2 code (.lps →.aut) Efficient model checking + other useful functionality (e.g., model-

based testing, performance evaluation, advanced action sequence search)

License

Page 24: SEFM 2010, 15/09/201011 Timed data-centric analysis of graphical business process models in Reo Natallia Kokash and Christian Krause Centrum Wiskunde &

SEFM 2010, 15/09/2010 2424

Conclusions and future work

Model checking for Reo Control + data flow analysis with abstract data types Automated generation of mCRL2 code from graphical models

Useful toolset for business process and service composition analysis Good alternative to Petri nets Better fits service-oriented computing paradigm Compositional modeling and analysis

Future work Extend the mCRL2 property specification language with some

missing but useful features: The ability to check that some action occurs as part of a multi-action The ability to refer to the system states by combination of data values

stored in FIFO buffers.