SlideShare une entreprise Scribd logo
1  sur  26
Workflow Repair aspects and algorithms Privatissimum Vladimir Ivanchenko 04-12-2006
What is repair? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Types of repair for composed WSs ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Our dimension ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Repair of composite WS ,[object Object],[object Object],[object Object]
Simple example partners workflow objects Goal objects :  plane_ticket, hote_res, restaurant_res Get  Security status Determine  trip dates Book flight Book hotel [duration>1] Get  weather report Employee Travel  agency1 Hotels.com Weather  service project_name, duration, city_name, arrival_date project_name security_status duration, city_name, arrival_date plane_ticket city_name, arrival_date, duration, security_status hote_res city_name, arrival_date weather_report a0 a2 a3 a4 a5 a7 Get  pers. preferences isvegeterian Reserve dinner isvegeterian, city_name  restaurant_res a6 a1 Travel  agency2 Travel  agency3 employee_id  Org. dept. Secretary Org. dept.
General repair algorithm ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Goal dependencies and choosing blocks Goal object: hote_res Case 1: duration = 0 a2 is  not  goal dependent Case 2: duration > 1 a2  is  goal dependent Is goal dependent? abnormal infected Solution: 1. Repair  a0 2. a4: Which case we have? 3. Repair a2 or not We don’t have to repair not goal dependent activities Get  Security status Book flight a2 a3 Get  pers. preferences a1 Get  weather report Reserve dinner a7 a6 Book hotel [ duration >1] a4 a5 project_name security_status security_status hote_res Determine  trip dates duration ,  project_name a0 (1) (2) Goal depends on a4
Conditional repair plan Determine  trip dates Get  Security status Book flight Book hotel Get  weather report Get  pers. preferences Reserve dinner a0 a2 a3 a4 a5 a7 a6 a1 (1) (2) COMP a0 REDO a0 REDO a4 COMP a6 COMP a5 COMP a2 REDO a2 COMP a5 REDO a5 COMP a3 REDO a3 DO a7 (1) (2) ok abnormal possibly infected not  executed COMP a6 REDO a6 May be removed during the repair execution (shown in example) plane_ticket hote_res restaurant_res [duration>1]
Choosing blocks in conditional plan comp(a0) redo(a0) comp(a7) redo(a8) redo(a10) redo(a3) enter(w1) enter(w2) comp(a1) redo(a1) redo(a4) leave(w1) leave(w2) new_value(x2)=old_value(x2) ? yes no
Assumptions ,[object Object],[object Object],[object Object],[object Object],[object Object]
DLV-K and MBP(NuPDDL) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Advanced with ways and concurrency 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). branchwastaken(w1). -branchwastaken(w2). comp a2 comp a5 comp a1 redo a2 redo a1 redo a3 a4 redo a5 redo a5 way2 way1 Plan is correct but not optimal
Rules /1 a1 x1_2 Activity with only output. aa1. compa1. redoa1. executable aa1 if -executed(a1), -compensated (a1). executable redoa1 if -executed(a1), compensated(a1).  executable compa1 if actuell(x1_2), executed(a1), -oka(a1). caused -okv(x1_2) if -oka(a1). caused executed(a1) after aa1. caused okv(x1_2) after aa1. caused actuell(x1_2) after aa1. caused -actuell(x1_1) after aa1. caused -executed(a1) after compa1. caused oka(a1) after compa1. caused compensated(a1) after compa1. caused -okv(x1_2) after compa1. caused actuell(x1_1) after compa1. caused executed(a1) after redoa1. caused -compensated(a1) after redoa1. caused okv(x1_2) after redoa1. caused actuell(x1_2) after redoa1. caused -actuell(x1_1) after redoa1.
Rules /2 a4 a3 x1_3 way2 Activity under condition. executable aa4 if -executed(a4), -compensated(a4), branchwillbetaken(w2), branchactivated(w2).  executable redoa4 if -executed(a4), compensated(a4), branchwillbetaken(w2),  branchactivated(w2).  executable compa4 if actuell(x1_3), executed(a4), -oka(a4). executable compa4 if actuell(x1_3), executed(a4), branchwastaken(W), branchwillbetaken(V), V<>W. caused -oka(a4) if executed(a4), branchwastaken(W), branchwillbetaken(V), V<>W. caused -oka(a4) if -oka(a3). caused -okv(x1_3) if -oka(a4). caused executed(a4) after aa4. caused okv(x1_3) after aa4. caused actuell(x1_3) after aa4. caused -actuell(x1_2) after aa4. caused -executed(a4) after compa4. caused oka(a4) after compa4. caused compensated(a4) after compa4. caused -okv(x1_3) after compa4. caused actuell(x1_2) after compa4. caused executed(a4) after redoa4. caused -compensated(a4) after redoa4. caused okv(x1_3) after redoa4. caused actuell(x1_3) after redoa4. caused -actuell(x1_2) after redoa4.
Rules /3 a3 x2_2 aa3. redoa3.  executable aa3 if -executed(a3), okv(x2_2). executable redoa3 if executed(a3), okv(x2_2). caused -oka(a3) if -okv(x2_2), executed (a3). caused executed(a3) after aa3. caused branchactivated(w2) after aa3, branchwillbetaken(w2). caused branchactivated(w1) after aa3, branchwillbetaken(w1). caused branchactivated(w2) after redoa3, branchwillbetaken(w2). caused branchactivated(w1) after redoa3, branchwillbetaken(w1). Conditional block.
Rules /4 a5 g_2 x1_2;x1_3 Activity reads, two alternatives,  after conditional block executable aa5 if branchactivated(W), -executed(a5), -compensated (a5),  okv(x1_2), actuell(x1_2), branchwillbetaken(w1).  executable aa5 if branchactivated(W), -executed(a5), -compensated (a5),  okv(x1_3), actuell(x1_3), branchwillbetaken(w2). executable redoa5 if branchactivated(W), -executed(a5), compensated(a5),  okv(x1_2), actuell(x1_2),branchwillbetaken(w1). executable redoa5 if branchactivated(W), -executed(a5), compensated(a5),  okv(x1_3), actuell(x1_3),branchwillbetaken(w2). executable compa5 if actuell(g_2), executed(a5), -oka(a5). caused -oka(a5) if -okv(x1_2), branchwastaken(w1), executed (a5). caused -oka(a5) if -okv(x1_3), branchwastaken(w2), executed (a5). caused executed(a5) after aa5.  %nothing new, same as a1 a2 a4 caused okv(g_2) after aa5. caused actuell(g_2) after aa5. caused -actuell(g_1) after aa5. caused -executed(a5) after compa5. caused oka(a5) after compa5. caused compensated(a5) after compa5. caused -okv(g_2) after compa5. caused actuell(g_1) after compa5. caused executed(a5) after redoa5. caused -compensated(a5) after redoa5. caused okv(g_2) after redoa5. caused actuell(g_2) after redoa5. caused -actuell(g_1) after redoa5.
Case: all executed, ab, other way a4 a5 a1 a2 a3 x1_3 x2_2 x3 x4 x1_2 g_2 way1 way2 x1_1, x2_1, g_1 are ok x2_2 x1_2;x1_3 will be taken: w2 was taken: w1 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 √
Case: all executed, ab, same way w1 a4 a5 a1 a2 a3 x1_3 x2_2 x3 x4 x1_2 g_2 way1 way2 x1_1, x2_1, g_1 are ok x2_2 x1_2;x1_3 will be taken: w1 was taken: w1 Correct solution: comp(a5), comp(a2),comp(a1), redo(a1), redo(a2),redo(a3), 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(w1). -branchwillbetaken(w2). branchwastaken(w1). -branchwastaken(w2). Initially: ab ab √
Analysis of 2 alternative ways a4 a5 a1 a2 a3 x1_3 x2_2 x3 x4 x1_2 g_2 way1 way2 x2_2 x1_2;x1_3 ab ab a4 a5 a1 a2 a3 x1_3 x2_2 x3 x4 x1_2 g_2 way1 way2 x2_2 x1_2;x1_3 ab ab COMP(a2), REDO(a2), REDO(a3), ……………
Complex example 13 activities, inclusive choosing blocks, parallel Goal:  branchtoprocess(w1,a5), -branchactivated(w1), branchtoprocess(w2,a5), -branchactivated(w2) ? (21) Execution time:  51 sec. No ways, just “branchwillbetaken”  - w1, w3 Execution time:  0,47 sec. Goal:  branchtoprocess(w1,a5), branchtoprocess(w3,a8), -branchactivated(w3), branchtoprocess(w4,a8), -branchactivated(w4), -branchactivated(w1), branchtoprocess(w2,a5), -branchactivated(w2) ? (21) Execution time:  26 sec. Goal must be formulated in other way ?
Repair Reasoner WS ,[object Object],[object Object],[object Object],[object Object]
Propagations a4 a5 a0 a1 a2 a3 x1 x1 x2 x3 x6 x3 x4 x2 x5,x6 x6 x7 way2 way1 a10 a11 a12 y3 y1 y2 x5 y6 x5 a13 a14 a15 x2 y2,y7 y2 x6,y6 y5 y2 inf ab inf inf inf gd gd gd inf inf gd WF1 WF2
Repair Reasoner WS : operation “generate plan” Repair  Reasoner  Web Service Tomcat Axis Model, log, diagnose, [repair action, i/g obj] nuPDDL / k-lang Invoke  external  application plan BPEL BPEL GPT/MBP: Linux, K-lang:Windows ? ? ? Include IDs of session for low-level workflows ask/inform other sessions  about goal/infected objects, repair actions Also set of goal dependent/infected objects
Repair Reasoner WS : operation  “check plan” Repair  Reasoner  Web Service Tomcat Axis Plan, log, diagnose, SessionID Ok / new needed Compare old/new values Check dependencies Eliminate non-goal/non-infected
Repair Reasoner WS : operation “new goal dep/infect” Repair  Reasoner  Web Service Tomcat Axis SessionID, new set of goaldep/infect BPEL Restore model a) Model Already exists regenerate repair plan b) Model Not yet exists fix data (be ready for the future)
Thank you.

Contenu connexe

Similaire à Workflow repair

Report of the Implementation of DAE Integrators for MBSim
Report of the Implementation of DAE Integrators for MBSimReport of the Implementation of DAE Integrators for MBSim
Report of the Implementation of DAE Integrators for MBSimZhan Wang
 
Scilab presentation
Scilab presentation Scilab presentation
Scilab presentation Nasir Ansari
 
Numerical Algorithm for a few Special Functions
Numerical Algorithm for a few Special FunctionsNumerical Algorithm for a few Special Functions
Numerical Algorithm for a few Special FunctionsAmos Tsai
 
Beauty and the beast - Haskell on JVM
Beauty and the beast  - Haskell on JVMBeauty and the beast  - Haskell on JVM
Beauty and the beast - Haskell on JVMJarek Ratajski
 
05 release document_8.9.1
05 release document_8.9.105 release document_8.9.1
05 release document_8.9.1struds
 
ITS World Congress :: Vienna, Oct 2012
ITS World Congress :: Vienna, Oct 2012ITS World Congress :: Vienna, Oct 2012
ITS World Congress :: Vienna, Oct 2012László Nádai
 
SMART Seminar Series: Using Column-and-Row Generation to Solve the Integrated...
SMART Seminar Series: Using Column-and-Row Generation to Solve the Integrated...SMART Seminar Series: Using Column-and-Row Generation to Solve the Integrated...
SMART Seminar Series: Using Column-and-Row Generation to Solve the Integrated...SMART Infrastructure Facility
 
Idea for ineractive programming language
Idea for ineractive programming languageIdea for ineractive programming language
Idea for ineractive programming languageLincoln Hannah
 
The Nuts and Bolts of Kafka Streams---An Architectural Deep Dive
The Nuts and Bolts of Kafka Streams---An Architectural Deep DiveThe Nuts and Bolts of Kafka Streams---An Architectural Deep Dive
The Nuts and Bolts of Kafka Streams---An Architectural Deep DiveHostedbyConfluent
 
DynamicProgramming.ppt
DynamicProgramming.pptDynamicProgramming.ppt
DynamicProgramming.pptDavidMaina47
 
Being functional in PHP
Being functional in PHPBeing functional in PHP
Being functional in PHPDavid de Boer
 
Hermes2D FEM Library
Hermes2D FEM LibraryHermes2D FEM Library
Hermes2D FEM LibraryLukas Korous
 
Being functional in PHP (DPC 2016)
Being functional in PHP (DPC 2016)Being functional in PHP (DPC 2016)
Being functional in PHP (DPC 2016)David de Boer
 
2.1 ### uVision Project, (C) Keil Software .docx
2.1   ### uVision Project, (C) Keil Software    .docx2.1   ### uVision Project, (C) Keil Software    .docx
2.1 ### uVision Project, (C) Keil Software .docxtarifarmarie
 
DynamicProgramming.pdf
DynamicProgramming.pdfDynamicProgramming.pdf
DynamicProgramming.pdfssuser3a8f33
 

Similaire à Workflow repair (20)

Node js
Node jsNode js
Node js
 
Report of the Implementation of DAE Integrators for MBSim
Report of the Implementation of DAE Integrators for MBSimReport of the Implementation of DAE Integrators for MBSim
Report of the Implementation of DAE Integrators for MBSim
 
Eta
EtaEta
Eta
 
Scilab presentation
Scilab presentation Scilab presentation
Scilab presentation
 
Quiz
QuizQuiz
Quiz
 
Numerical Algorithm for a few Special Functions
Numerical Algorithm for a few Special FunctionsNumerical Algorithm for a few Special Functions
Numerical Algorithm for a few Special Functions
 
Beauty and the beast - Haskell on JVM
Beauty and the beast  - Haskell on JVMBeauty and the beast  - Haskell on JVM
Beauty and the beast - Haskell on JVM
 
Dynamic programming
Dynamic programmingDynamic programming
Dynamic programming
 
05 release document_8.9.1
05 release document_8.9.105 release document_8.9.1
05 release document_8.9.1
 
ITS World Congress :: Vienna, Oct 2012
ITS World Congress :: Vienna, Oct 2012ITS World Congress :: Vienna, Oct 2012
ITS World Congress :: Vienna, Oct 2012
 
SMART Seminar Series: Using Column-and-Row Generation to Solve the Integrated...
SMART Seminar Series: Using Column-and-Row Generation to Solve the Integrated...SMART Seminar Series: Using Column-and-Row Generation to Solve the Integrated...
SMART Seminar Series: Using Column-and-Row Generation to Solve the Integrated...
 
Idea for ineractive programming language
Idea for ineractive programming languageIdea for ineractive programming language
Idea for ineractive programming language
 
The Nuts and Bolts of Kafka Streams---An Architectural Deep Dive
The Nuts and Bolts of Kafka Streams---An Architectural Deep DiveThe Nuts and Bolts of Kafka Streams---An Architectural Deep Dive
The Nuts and Bolts of Kafka Streams---An Architectural Deep Dive
 
DynamicProgramming.ppt
DynamicProgramming.pptDynamicProgramming.ppt
DynamicProgramming.ppt
 
Being functional in PHP
Being functional in PHPBeing functional in PHP
Being functional in PHP
 
Hermes2D FEM Library
Hermes2D FEM LibraryHermes2D FEM Library
Hermes2D FEM Library
 
CQRS + Event Sourcing in PHP
CQRS + Event Sourcing in PHPCQRS + Event Sourcing in PHP
CQRS + Event Sourcing in PHP
 
Being functional in PHP (DPC 2016)
Being functional in PHP (DPC 2016)Being functional in PHP (DPC 2016)
Being functional in PHP (DPC 2016)
 
2.1 ### uVision Project, (C) Keil Software .docx
2.1   ### uVision Project, (C) Keil Software    .docx2.1   ### uVision Project, (C) Keil Software    .docx
2.1 ### uVision Project, (C) Keil Software .docx
 
DynamicProgramming.pdf
DynamicProgramming.pdfDynamicProgramming.pdf
DynamicProgramming.pdf
 

Dernier

Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptxCyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptxMasterG
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!Memoori
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024Lorenzo Miniero
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...ScyllaDB
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightSafe Software
 
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Paige Cruz
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data SciencePaolo Missier
 
Vector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptxVector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptxjbellis
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...FIDO Alliance
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireExakis Nelite
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptxFIDO Alliance
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxFIDO Alliance
 
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?Paolo Missier
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMKumar Satyam
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentationyogeshlabana357357
 
Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTop 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTopCSSGallery
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctBrainSell Technologies
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...ScyllaDB
 

Dernier (20)

Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptxCyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
Vector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptxVector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptx
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTop 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development Companies
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
 

Workflow repair

  • 1. Workflow Repair aspects and algorithms Privatissimum Vladimir Ivanchenko 04-12-2006
  • 2.
  • 3.
  • 4.
  • 5. Simple example partners workflow objects Goal objects : plane_ticket, hote_res, restaurant_res Get Security status Determine trip dates Book flight Book hotel [duration>1] Get weather report Employee Travel agency1 Hotels.com Weather service project_name, duration, city_name, arrival_date project_name security_status duration, city_name, arrival_date plane_ticket city_name, arrival_date, duration, security_status hote_res city_name, arrival_date weather_report a0 a2 a3 a4 a5 a7 Get pers. preferences isvegeterian Reserve dinner isvegeterian, city_name restaurant_res a6 a1 Travel agency2 Travel agency3 employee_id  Org. dept. Secretary Org. dept.
  • 6.
  • 7. Goal dependencies and choosing blocks Goal object: hote_res Case 1: duration = 0 a2 is not goal dependent Case 2: duration > 1 a2 is goal dependent Is goal dependent? abnormal infected Solution: 1. Repair a0 2. a4: Which case we have? 3. Repair a2 or not We don’t have to repair not goal dependent activities Get Security status Book flight a2 a3 Get pers. preferences a1 Get weather report Reserve dinner a7 a6 Book hotel [ duration >1] a4 a5 project_name security_status security_status hote_res Determine trip dates duration , project_name a0 (1) (2) Goal depends on a4
  • 8. Conditional repair plan Determine trip dates Get Security status Book flight Book hotel Get weather report Get pers. preferences Reserve dinner a0 a2 a3 a4 a5 a7 a6 a1 (1) (2) COMP a0 REDO a0 REDO a4 COMP a6 COMP a5 COMP a2 REDO a2 COMP a5 REDO a5 COMP a3 REDO a3 DO a7 (1) (2) ok abnormal possibly infected not executed COMP a6 REDO a6 May be removed during the repair execution (shown in example) plane_ticket hote_res restaurant_res [duration>1]
  • 9. Choosing blocks in conditional plan comp(a0) redo(a0) comp(a7) redo(a8) redo(a10) redo(a3) enter(w1) enter(w2) comp(a1) redo(a1) redo(a4) leave(w1) leave(w2) new_value(x2)=old_value(x2) ? yes no
  • 10.
  • 11.
  • 12. Advanced with ways and concurrency 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). branchwastaken(w1). -branchwastaken(w2). comp a2 comp a5 comp a1 redo a2 redo a1 redo a3 a4 redo a5 redo a5 way2 way1 Plan is correct but not optimal
  • 13. Rules /1 a1 x1_2 Activity with only output. aa1. compa1. redoa1. executable aa1 if -executed(a1), -compensated (a1). executable redoa1 if -executed(a1), compensated(a1). executable compa1 if actuell(x1_2), executed(a1), -oka(a1). caused -okv(x1_2) if -oka(a1). caused executed(a1) after aa1. caused okv(x1_2) after aa1. caused actuell(x1_2) after aa1. caused -actuell(x1_1) after aa1. caused -executed(a1) after compa1. caused oka(a1) after compa1. caused compensated(a1) after compa1. caused -okv(x1_2) after compa1. caused actuell(x1_1) after compa1. caused executed(a1) after redoa1. caused -compensated(a1) after redoa1. caused okv(x1_2) after redoa1. caused actuell(x1_2) after redoa1. caused -actuell(x1_1) after redoa1.
  • 14. Rules /2 a4 a3 x1_3 way2 Activity under condition. executable aa4 if -executed(a4), -compensated(a4), branchwillbetaken(w2), branchactivated(w2). executable redoa4 if -executed(a4), compensated(a4), branchwillbetaken(w2), branchactivated(w2). executable compa4 if actuell(x1_3), executed(a4), -oka(a4). executable compa4 if actuell(x1_3), executed(a4), branchwastaken(W), branchwillbetaken(V), V<>W. caused -oka(a4) if executed(a4), branchwastaken(W), branchwillbetaken(V), V<>W. caused -oka(a4) if -oka(a3). caused -okv(x1_3) if -oka(a4). caused executed(a4) after aa4. caused okv(x1_3) after aa4. caused actuell(x1_3) after aa4. caused -actuell(x1_2) after aa4. caused -executed(a4) after compa4. caused oka(a4) after compa4. caused compensated(a4) after compa4. caused -okv(x1_3) after compa4. caused actuell(x1_2) after compa4. caused executed(a4) after redoa4. caused -compensated(a4) after redoa4. caused okv(x1_3) after redoa4. caused actuell(x1_3) after redoa4. caused -actuell(x1_2) after redoa4.
  • 15. Rules /3 a3 x2_2 aa3. redoa3. executable aa3 if -executed(a3), okv(x2_2). executable redoa3 if executed(a3), okv(x2_2). caused -oka(a3) if -okv(x2_2), executed (a3). caused executed(a3) after aa3. caused branchactivated(w2) after aa3, branchwillbetaken(w2). caused branchactivated(w1) after aa3, branchwillbetaken(w1). caused branchactivated(w2) after redoa3, branchwillbetaken(w2). caused branchactivated(w1) after redoa3, branchwillbetaken(w1). Conditional block.
  • 16. Rules /4 a5 g_2 x1_2;x1_3 Activity reads, two alternatives, after conditional block executable aa5 if branchactivated(W), -executed(a5), -compensated (a5), okv(x1_2), actuell(x1_2), branchwillbetaken(w1). executable aa5 if branchactivated(W), -executed(a5), -compensated (a5), okv(x1_3), actuell(x1_3), branchwillbetaken(w2). executable redoa5 if branchactivated(W), -executed(a5), compensated(a5), okv(x1_2), actuell(x1_2),branchwillbetaken(w1). executable redoa5 if branchactivated(W), -executed(a5), compensated(a5), okv(x1_3), actuell(x1_3),branchwillbetaken(w2). executable compa5 if actuell(g_2), executed(a5), -oka(a5). caused -oka(a5) if -okv(x1_2), branchwastaken(w1), executed (a5). caused -oka(a5) if -okv(x1_3), branchwastaken(w2), executed (a5). caused executed(a5) after aa5. %nothing new, same as a1 a2 a4 caused okv(g_2) after aa5. caused actuell(g_2) after aa5. caused -actuell(g_1) after aa5. caused -executed(a5) after compa5. caused oka(a5) after compa5. caused compensated(a5) after compa5. caused -okv(g_2) after compa5. caused actuell(g_1) after compa5. caused executed(a5) after redoa5. caused -compensated(a5) after redoa5. caused okv(g_2) after redoa5. caused actuell(g_2) after redoa5. caused -actuell(g_1) after redoa5.
  • 17. Case: all executed, ab, other way a4 a5 a1 a2 a3 x1_3 x2_2 x3 x4 x1_2 g_2 way1 way2 x1_1, x2_1, g_1 are ok x2_2 x1_2;x1_3 will be taken: w2 was taken: w1 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 √
  • 18. Case: all executed, ab, same way w1 a4 a5 a1 a2 a3 x1_3 x2_2 x3 x4 x1_2 g_2 way1 way2 x1_1, x2_1, g_1 are ok x2_2 x1_2;x1_3 will be taken: w1 was taken: w1 Correct solution: comp(a5), comp(a2),comp(a1), redo(a1), redo(a2),redo(a3), 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(w1). -branchwillbetaken(w2). branchwastaken(w1). -branchwastaken(w2). Initially: ab ab √
  • 19. Analysis of 2 alternative ways a4 a5 a1 a2 a3 x1_3 x2_2 x3 x4 x1_2 g_2 way1 way2 x2_2 x1_2;x1_3 ab ab a4 a5 a1 a2 a3 x1_3 x2_2 x3 x4 x1_2 g_2 way1 way2 x2_2 x1_2;x1_3 ab ab COMP(a2), REDO(a2), REDO(a3), ……………
  • 20. Complex example 13 activities, inclusive choosing blocks, parallel Goal: branchtoprocess(w1,a5), -branchactivated(w1), branchtoprocess(w2,a5), -branchactivated(w2) ? (21) Execution time: 51 sec. No ways, just “branchwillbetaken” - w1, w3 Execution time: 0,47 sec. Goal: branchtoprocess(w1,a5), branchtoprocess(w3,a8), -branchactivated(w3), branchtoprocess(w4,a8), -branchactivated(w4), -branchactivated(w1), branchtoprocess(w2,a5), -branchactivated(w2) ? (21) Execution time: 26 sec. Goal must be formulated in other way ?
  • 21.
  • 22. Propagations a4 a5 a0 a1 a2 a3 x1 x1 x2 x3 x6 x3 x4 x2 x5,x6 x6 x7 way2 way1 a10 a11 a12 y3 y1 y2 x5 y6 x5 a13 a14 a15 x2 y2,y7 y2 x6,y6 y5 y2 inf ab inf inf inf gd gd gd inf inf gd WF1 WF2
  • 23. Repair Reasoner WS : operation “generate plan” Repair Reasoner Web Service Tomcat Axis Model, log, diagnose, [repair action, i/g obj] nuPDDL / k-lang Invoke external application plan BPEL BPEL GPT/MBP: Linux, K-lang:Windows ? ? ? Include IDs of session for low-level workflows ask/inform other sessions about goal/infected objects, repair actions Also set of goal dependent/infected objects
  • 24. Repair Reasoner WS : operation “check plan” Repair Reasoner Web Service Tomcat Axis Plan, log, diagnose, SessionID Ok / new needed Compare old/new values Check dependencies Eliminate non-goal/non-infected
  • 25. Repair Reasoner WS : operation “new goal dep/infect” Repair Reasoner Web Service Tomcat Axis SessionID, new set of goaldep/infect BPEL Restore model a) Model Already exists regenerate repair plan b) Model Not yet exists fix data (be ready for the future)