20
Repair and Planning UNIKLAG Milano WP3 meeting, 30-11-2006 WS-DIAMOND

Repair and Planning UNIKLAG Milano WP3 meeting, 30-11-2006 WS-DIAMOND

Embed Size (px)

Citation preview

Page 1: Repair and Planning UNIKLAG Milano WP3 meeting, 30-11-2006 WS-DIAMOND

Repair and Planning

UNIKLAGMilano WP3 meeting,

30-11-2006

WS-DIAMOND

Page 2: Repair and Planning UNIKLAG Milano WP3 meeting, 30-11-2006 WS-DIAMOND

TOC Repair as planning task Current approaches Repair Reasoner component Our inputs/outputs Assumptions Applying repair Demonstration (our view)

Page 3: Repair and Planning UNIKLAG Milano WP3 meeting, 30-11-2006 WS-DIAMOND

Our dimension

Cooperation style: Fully orchestrated Choreography

Sustainability: Class repair Instance repair

Level: IT infrastructure Service

Controllability: Interruptible Non interruptible

Design of processes: Correct orchestration Failure in orchestration

Repair of composite

WS

Properties of service provision: Functional Non-Functional properties (QS,

e.g. time, cost, …)

Page 4: Repair and Planning UNIKLAG Milano WP3 meeting, 30-11-2006 WS-DIAMOND

Repair as planning 1 Compute repair plan - all the sets of redo, compensate,

adjustment, skip actions; 2 Select which repair actions shall be deactivated; 3 Make ordering on the repair scheme and select the repair

action to be executed first; 4 Execute this repair action;

MIGRATE to new process (with includes repair actions and the rest of workflow) OR

insert repair actions to paused workflow and resume it 5 Estimate the new state of the workflow instance; 6 Select which repair actions shall be activated; 7 If repair scheme contains no activated repair action - exit; 8 If needed regenerate all repair plan - go to step 1; 9 Go to step 3;

Page 5: Repair and Planning UNIKLAG Milano WP3 meeting, 30-11-2006 WS-DIAMOND

Assumptions Some activities have WF behind Actions: COMP, REDO, DO Repair with concurrency is possible! Each condition in repair plan corresponds

to condition in the workflow model Objects are not shared in parallel blocks

Page 6: Repair and Planning UNIKLAG Milano WP3 meeting, 30-11-2006 WS-DIAMOND

DLV-K and MBP(NuPDDL) DLV-k:

Plans with concurrency (repair actions in parallel) No conditions: need extra stage of business-logic or tricks

MBP: PDDL-dialect based Conditional plans No concurrency Linux-based Works too slow……

Page 7: Repair and Planning UNIKLAG Milano WP3 meeting, 30-11-2006 WS-DIAMOND

Example

a4

a5

a1

a2

a3

x1_3

x2_2

x1_2

g_2

way1 way2

x1_1, x2_1, g_1 are ok

x2_2

x1_2;x1_3

Page 8: Repair and Planning UNIKLAG Milano WP3 meeting, 30-11-2006 WS-DIAMOND

Example plan : DLV-K

a4

a5

a1

a2

a3

x1_3

x2_2

x1_2

g_2

way1 way2

x1_1, x2_1, g_1 are ok

x2_2

x1_2;x1_3

Correct solution:comp(a5), comp(a2), redo(a2), redo(a3), a4, redo(a5).

Generated solution:

executed(a1).executed(a2).executed(a3).-executed(a4).executed(a5).-compensated(a1).-compensated(a2).-compensated(a3).-compensated(a4).-compensated(a5).actuell(x1_2).actuell(x2_2).actuell(g_2).-oka(a1).-oka(a2).okv(x1_1).okv(x2_1).okv(g_1).branchwillbetaken(w2).-branchwillbetaken(w1).branchwastaken(w1).-branchwastaken(w2).

Initially:

ab

ab

Page 9: Repair and Planning UNIKLAG Milano WP3 meeting, 30-11-2006 WS-DIAMOND

a4

a5

a1

a2

a3

x1_3

x2_2

x1_2

g_2

way1 way2

x2_2

x1_2;x1_3

ab

ab

a4

a5

a1

a2

a3

x1_3

x2_2

x1_2

g_2

way1 way2

x2_2

x1_2;x1_3

ab

ab

COMP(a2), REDO(a2), REDO(a3), ……………

Page 10: Repair and Planning UNIKLAG Milano WP3 meeting, 30-11-2006 WS-DIAMOND

Out inputs / outputs

Repair Reasoner

Repair plan

BPEL code jPDL code

append

WFMS (ActiveBPEL, JBPM) Global Diagnoser

WF model

Exception infoExecution logexecute

? ?

Page 11: Repair and Planning UNIKLAG Milano WP3 meeting, 30-11-2006 WS-DIAMOND

Our inputs WF model:

Diagnostic model as proposed by Torino Which format is still unclear

BPEL code We need an example to try to process

Execution log: Proposal by Milano, OK !

Exception info: From Diagnosis

In which format? We need an example (Torino)

Page 12: Repair and Planning UNIKLAG Milano WP3 meeting, 30-11-2006 WS-DIAMOND

Our outputs Plan:

We can generate: BPEL code (on the base of activities & plan) jBPM code Any other format – which one is expected???

Page 13: Repair and Planning UNIKLAG Milano WP3 meeting, 30-11-2006 WS-DIAMOND

Applying repair To perform this step one of two

possibilities can be used:

stop the paused workflow, generate totally new one, migrate there the state of old workflow and start new one.

somehow tell the WFMS that before resuming the paused workflow the repair plan can be performed.

Page 14: Repair and Planning UNIKLAG Milano WP3 meeting, 30-11-2006 WS-DIAMOND

Repair Reasoner WS RR is a usual web service with has some

operations and as output generates plans in some form

Each session works with one workflow (there are NO general view, privacy guaranteed), there may be used many RR services for different partners’ workflows Information about goal/infected objects is propagated

between sessions as additional parameter Type of repair action to be applied is propagated

between sessions as additional parameter

? : who invokes RR?

Page 15: Repair and Planning UNIKLAG Milano WP3 meeting, 30-11-2006 WS-DIAMOND

Propagations

a4 a5

a0

a1

a2

a3

x1 x1x2 x3

x6

x3

x4x2

x5,x6

x6

x7

way2 way1

a10

a11

a12y3

y1y2

x5

y6

x5

a13

a14

a15 x2

y2,y7y2

x6,y6

y5

y2

inf

ab

inf

inf

inf

gd

gd

gd inf

inf

gd

WF1 WF2

Page 16: Repair and Planning UNIKLAG Milano WP3 meeting, 30-11-2006 WS-DIAMOND

Repair Reasoner WS : operation “generate plan”

Repair Reasoner

Web Service

TomcatAxis

Model, log, diagnose, [repair action, i/g obj]

nuPDDL / k-langInvoke external application

planBPEL

BPEL

GPT/MBP: Linux,K-lang:Windows

?

?

?

Include IDs of session for low-level workflows

ask/informother sessions about goal/infected objects, repair actions

Also set of goal dependent/infected

objects

Page 17: Repair and Planning UNIKLAG Milano WP3 meeting, 30-11-2006 WS-DIAMOND

Repair Reasoner WS : operation “check plan”

Repair Reasoner

Web Service

TomcatAxis

Plan, log, diagnose, SessionID

Ok / new needed

Compare old/new valuesCheck dependenciesEliminate non-goal/non-infected

Page 18: Repair and Planning UNIKLAG Milano WP3 meeting, 30-11-2006 WS-DIAMOND

Repair Reasoner WS : operation “new goal dep/infect”

Repair Reasoner

Web Service

TomcatAxis

SessionID, new set of goaldep/infect

BPEL

Restore modela) Model Already exists regenerate repair planb) Model Not yet exists fix data (be ready for the future)

Page 19: Repair and Planning UNIKLAG Milano WP3 meeting, 30-11-2006 WS-DIAMOND

Demonstration process1. WFengine started (ActiveBPEL/jBPM)2. Detection started3. Abnormal behaviour detected4. Diagnosis provided5. Repair Reasoner WS session invoked (by whom?)6. Repair plan generated7. Somehow(?) applied8. Workflow changed/new created (??)9. Workflow resumed (???)10. ????

We need activity (collaboration) diagram

Page 20: Repair and Planning UNIKLAG Milano WP3 meeting, 30-11-2006 WS-DIAMOND

Thank you.