towards a decserflow mapping to s ciff

30
Towards a DecSerFlow mapping to SCIFF Federico Chesani, Paola Mello, Marco Montali, Sergio Storari

Upload: remy

Post on 23-Mar-2016

38 views

Category:

Documents


1 download

DESCRIPTION

Towards a DecSerFlow mapping to S CIFF. Federico Chesani, Paola Mello, Marco Montali, Sergio Storari. Limits of procedural languages 1/2. Recent trends in the web-services world: WS-BPEL, WS-CDL They are procedural and not very different from classical workflow languages - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Towards a DecSerFlow mapping to  S CIFF

Towards a DecSerFlow mapping to SCIFF

Federico Chesani, Paola Mello, Marco Montali, Sergio Storari

Page 2: Towards a DecSerFlow mapping to  S CIFF

Limits of procedural languages 1/2

Recent trends in the web-services world: WS-BPEL, WS-CDLThey are procedural and not very different from classical workflow languagesVan der Aalst’s claim:

Autonomyconstrained freedom

Procedural languages do not fit well with the autonomous nature

of web services

Page 3: Towards a DecSerFlow mapping to  S CIFF

Limits of procedural languages 2/2

We want to express the not co-existence between two activities

“A and B could be executed several times, but they exclude each other”

Procedural approach:

A Over-specification

B How? When?

Page 4: Towards a DecSerFlow mapping to  S CIFF

Procedural vs Declarative Approach

Declarative approachLTL: (A B)Compact and expressive……but difficult to use by non-experts

Solution: a graphical declarative language for the specification of service flows (DecSerFlow)

A B

Page 5: Towards a DecSerFlow mapping to  S CIFF

DecSerFlow 1/2Main features:

DeclarativeGraphicalMapping to LTL (inspired from LTL patterns)

Dynamic service monitoring (conformance)Service enactment

Easy extendibleSupport of hard and soft constraints“Open” perspective

The modeler must explicitly express not only what has to be done, but also what is forbidden

Page 6: Towards a DecSerFlow mapping to  S CIFF

DecSerFlow 2/2Main elements:

Activity: an atomic logical unit of workConstraint: relationship between activities (policy or business rule)

Each constraint is mapped to an LTL template formula

credit card

notify failure

successful booking

0..10..1

0..1existenceformula

relationformula

negationformula

Page 7: Towards a DecSerFlow mapping to  S CIFF

DecSerFlow ConstraintsThree families

Existence formulaeUnary formulae constraining the cardinality of activities (absence, existence, at most…, at least…)

Relation formulaeBinary formulae specifying “what has to be done”Sub-families: simple relations, alternate relations, chain relations

Sub-sub-families: response, precedence, successionNegation formulae

Binary formulae specifying “what is forbidden”They are the negated version of relation formulae

Page 8: Towards a DecSerFlow mapping to  S CIFF

Extended notation

Page 9: Towards a DecSerFlow mapping to  S CIFF

Mapping to the SCIFF-framework

LTLQuickTime™ and aTIFF (Uncompressed) decompressorare needed to see this picture.

SCIFF

DecSerFlow

•Conformance verification•Enactment

extensions

•Conformance verification•Enactment

Page 10: Towards a DecSerFlow mapping to  S CIFF

Translation Example 1/3Absence_N (N=1)

credit card

notify failure

successful booking

0..10..1€

H(booking,Ti)i=1

N

∏ ∧Ti > Ti−1

→EN(booking,Tb )∧Tb > TN

Atomic model for activitiesAn activity A is mapped to an event

performed(A)

0..1

Page 11: Towards a DecSerFlow mapping to  S CIFF

Mutual substitution

Translation Example 2/3Chain response

(sequence a là workflow)

credit card

notify failure

successful booking

0..10..1

H(credit _card,Tc )→E(booking,Tb )∧Tb > Tc∧ EN(X,TX )∧TX > Tc ∧TX < Tb

→ E(credit _card,Tc )∨ E(notify _ failure,Tn ).

0..1

Page 12: Towards a DecSerFlow mapping to  S CIFF

2x Responded Absence

Translation Example 3/3Not coexistence

credit card

notify failure

successful booking

0..10..1

H(credit _card,Tc )→EN(notify _ failure,Tn )H(notify _ failure,Tn )→EN(credit _card,Tc )

0..1

credit card notify failure

credit card notify failure

Page 13: Towards a DecSerFlow mapping to  S CIFF

Intensional Formalization 1/3

Instead of mapping each concrete formula to an integrity constraints……we follow van der Aalst’s approach by formalizing template formulae with template ICs

General abductive formalization, valid for all modelsRepresentation of a specific model by simply compiling a knowledge base mapping the diagram structure to a list of facts

Page 14: Towards a DecSerFlow mapping to  S CIFF

Intensional formalization 2/3

Our aim is to translate template formulae into

a general set of ICs (ICDSF)+ a general KB (KBDSF)

valid for all DecSerFlow modelsThus DecSerFlow is mapped to an Abductive Logic ProgramSDSF< KBDSF , ={E, EN}, ICDSF >

Page 15: Towards a DecSerFlow mapping to  S CIFF

Intensional formalization 3/3

A specific DecSerFlow diagram is then mapped to an ALP of the form

Sspec< KB, ={E, EN}, ICDSF >

where KBspec models the diagram structure

same as SDSFKB=KBDSFKBspec

Page 16: Towards a DecSerFlow mapping to  S CIFF

Example of diagram descriptionKBspec

existence_formula(booking, absence_N(1)).existence_formula(credit_card, absence_N(1)).existence_formula(notify_failure, absence_N(1)).rel_formula(notify_failure, credit_card, mutual_substitution).neg_formula(notify_failure, credit_card, not_coexistence).rel_formula(credit_card, booking, chain_response).

credit card

notify failure

successful booking

0..10..1

0..1

Page 17: Towards a DecSerFlow mapping to  S CIFF

General Knowledge BaseKBDSF defines knowledge common to all DecSerFlow modelsIn particular, some DecSerFlow constraints are defined in terms of other onesThese correspondences are modeled inside KBDSFE.g. the coexistence relation…neg_formula(A,B,responded_absence):-

neg_formula(A,B,not_coexistence).neg_formula(B,A,responded_absence):-

neg_formula(A,B,not_coexistence).

Page 18: Towards a DecSerFlow mapping to  S CIFF

Template Integrity Constraints 1/2

The first conjunct of a DecSerFlow integrity constraint is the corresponding template formula representationFormalization of the responded absence negation formulaneg_formula(A,B,responded_absence)H(A,TA)EN(B,TB).Thanks to the universal quantification of A and B, the rule is replicated for each (concrete) responded absence formula

Page 19: Towards a DecSerFlow mapping to  S CIFF

Template Integrity Constraints 2/2

Alternate response

rel_formula(A, B, response)H(A,TA)E(B,TB)TB>TA

rel_formula(A,B,alt_response)H(A,TA)H(A,TA2)TA2>TA

E(B,TB)TB>TA TB<TA2

rel_formula(A, B, alt_response)H(A,TA)E(B,TB)TB>TA

EN(A,TB)TB>TA TB<TA2

Page 20: Towards a DecSerFlow mapping to  S CIFF

Example 1/2

ICDSF

neg_formula(X, Y, responded_absence)H(X, TA)EN(Y, TB).

KBDSF

neg_formula(A, B, responded_absence):- neg_formula(A, B, not_coexistence).neg_formula(B, A, responded_absence):- neg_formula(A, B, not_coexistence).

KBspec

neg_formula (credit_card, notify_failure, not_coexistence).

STEP 1: by unfoldingneg_formula(X, Y, not_coexistence)H(X, TA)EN(Y, TB).neg_formula(Y, X, not_coexistence)H(X, TA)EN(Y, TB).

Page 21: Towards a DecSerFlow mapping to  S CIFF

Example 2/2

ICDSF

neg_formula(X, Y, responded_absence)H(X, TA)EN(Y, TB).

KBDSF

neg_formula(A, B, responded_absence):- neg_formula(A, B, not_coexistence).neg_formula(B, A, responded_absence):- neg_formula(A, B, not_coexistence).

KBspec

neg_formula (credit_card, notify_failure, not_coexistence).

STEP 2: by unfolding

H(credit_card, TA)EN(notify_failure, TB).

H(notify_failure, TA)EN(credit_card, TB).

Page 22: Towards a DecSerFlow mapping to  S CIFF

Constraints equivalenceSome negation formulae are “equivalent”, i.e. express the same interaction pattern

E.g. the responded absence and the not coexistence formulae

We have defined a concept of “equivalence w.r.t. conformance” to capture such a case

And proven that our formalizations satisfy these equivalences

Page 23: Towards a DecSerFlow mapping to  S CIFF

DecSerFlow “extensions”Composite activities

Conjunction and disjunction of activities in relationships source/targetVan der Aalst et. al have already introduced disjunctions

Explicit temporal constraints and deadlines

Page 24: Towards a DecSerFlow mapping to  S CIFF

Temporal Constraints Templates

QuickTime™ and aTIFF (LZW) decompressor

are needed to see this picture.

Page 25: Towards a DecSerFlow mapping to  S CIFF

Formulae factorizationrelation family temporal

constraintresponded existence simple alwaysresponse simple after(0)precedence simple before(0)alternate response alternate after(0)alternate precedence alternate before(0)chain response chain after(0)chain precedence chain before(0)

Page 26: Towards a DecSerFlow mapping to  S CIFF

Composite Activities

source target

conjunction synchronizing merge parallel split

disjunction simple merge deferred choice

Page 27: Towards a DecSerFlow mapping to  S CIFF

Example of Extended Policy

Triggers when both sources happens

QuickTime™ and aTIFF (LZW) decompressor

are needed to see this picture.

Page 28: Towards a DecSerFlow mapping to  S CIFF

An extended policy with temporal constraints

QuickTime™ and aTIFF (LZW) decompressor

are needed to see this picture.

Page 29: Towards a DecSerFlow mapping to  S CIFF

ConclusionsWe have successfully mapped the basic DecSerFlow template formulae to SCIFF

A first implementation has been developedAnd tested on the ACME example

Ongoing implementation for extended constraints (conjunctions and temporal aspects)

Future worksTo consider data (!)Service animation through SCIFF (?)

Page 30: Towards a DecSerFlow mapping to  S CIFF

Basta!