Coping with Exceptions in Agent-Based Workflow Enactments Frank Guerin University of Aberdeen.
-
Upload
corey-hope-hicks -
Category
Documents
-
view
218 -
download
0
Transcript of Coping with Exceptions in Agent-Based Workflow Enactments Frank Guerin University of Aberdeen.
Coping with Exceptions in Agent-Based Workflow Enactments
Frank Guerin
University of Aberdeen
Coping with Exceptions in Agent-Based Workflow Enactments
Frank Guerin
University of Aberdeen
Joey Sik-Chun Lam, Frank Guerin, Wamberto Vasconcelos, and Timothy J. Norman
Business Processes
Business Processes
Agents
Business Processes
Agents Semantic Web Languages
Business Processes
Agents Semantic Web Languages
Workflow =
The automation of a business process, in whole or part, during which documents, information or tasks are passed from one participant to another for action, according to a set of procedural rules
(WfMC)
Business Processes
Agents Semantic Web Languages
Workflows
In human organisations (business, health)
Intra / inter
Automated by computer
e.g. Calling Web services
Existing Workflow Management Systems
• Taverna
• Kepler
Centralised + Rigid limited exception handling
Business Processes
Agents Semantic Web Languages
Business ProcessesWorkflow
Existing systems rigid
Business Processes
Agents Semantic Web Languages
Business ProcessesWorkflow
Existing systems rigid
Business Processes
Semantic Web Languages
Business ProcessesWorkflow
Existing systems rigid
Agents
Distributed
Intelligent
Autonomous
Cope with exceptions
Three Level Architecture
Organisation level Mostly static
Coordination level Dynamic, Communication, Some planning
Service level Also some intelligence, composition, matching
Exceptions in Agent-based Workflow
Organisation level: Organisational structure makes it impossible e.g. change in environment
Coordination level: e.g. some role empty Alternate pathways ?
Service level: e.g. Web service is unavailable Alternative service (semantic matching) Handle at higher level (Aldewereld et
al.)
Exceptions in Agent-based Workflow
Organisation level: Organisational structure makes it impossible e.g. change in environment
Coordination level: e.g. some role empty Alternate pathways ?
Service level: e.g. Web service is unavailable Alternative service (semantic matching) Handle at higher level (Aldewereld et
al.)
Exceptions in Agent-based Workflow
Organisation level: Organisational structure makes it impossible e.g. change in environment
Coordination level: e.g. some role empty Alternate pathways ?
Service level: e.g. Web service is unavailable Alternative service (semantic matching) Handle at higher level (Aldewereld et
al.)
Exceptions in Agent-based Workflow
Organisation level: Organisational structure makes it impossible e.g. change in environment
Coordination level: e.g. some role empty Alternate pathways ?
Service level: e.g. Web service is unavailable Alternative service (semantic matching)
(Aldewereld et al.)
Existing Techniques
Exceptions in Agent-based Workflow
Organisation level: Organisational structure makes it impossible e.g. change in environment
Coordination level: e.g. some role empty Alternate pathways ?
Service level: e.g. Web service is unavailable Alternative service (semantic matching)
(Aldewereld et al.)
No Existing Techniques
Exceptions in Agent-based Workflow
Organisation level: Organisational structure makes it impossible e.g. change in environment
Coordination level: e.g. some role empty Alternate pathways ?
Service level: e.g. Web service is unavailable Alternative service (semantic matching)
(Aldewereld et al.)
Workflow tasks must be
meaningful
Business Processes
Semantic Web Languages
Business ProcessesWorkflow
Existing systems rigid
Agents
Distributed
Intelligent
Autonomous
Cope with exceptions
Business Processes
Semantic Web Languages
Business ProcessesWorkflow
Existing systems rigid
Agents
Distributed
Intelligent
Autonomous
Cope with exceptions
→ Workflows
Flexible
Robust
Business ProcessesBusiness ProcessesWorkflow
Existing systems rigid
Agents
Distributed
Intelligent
Autonomous
Cope with exceptions
→ Workflows
Flexible
Robust
Semantic Web Languages
Organisational Knowledge
Tasks
Roles
Norms
Powers
Business ProcessesBusiness ProcessesWorkflow
Existing systems rigid
Agents
Distributed
Intelligent
Autonomous
Cope with exceptions
→ Workflows
Flexible
Robust
Semantic Web Languages
Organisational Knowledge
Tasks
Roles
Norms
Powers
Not yet…later• SWRL• DL-safe rules
Business ProcessesBusiness ProcessesWorkflow
Existing systems rigid
Agents
Distributed
Intelligent
Autonomous
Cope with exceptions
→ Workflows
Flexible
Robust
Semantic Web Languages
Organisational Knowledge
Tasks
Roles
Norms
Powers
Reasoners
Standard
Business ProcessesBusiness ProcessesWorkflow
Existing systems rigid
Agents
Distributed
Intelligent
Autonomous
Cope with exceptions
→ Workflows
Flexible
Robust
Semantic Web Languages
Organisational Knowledge
Tasks
Roles
Norms
Powers
Reasoners
Standard
Workflow Example(only shows external messages)
Workflow Example
Failure happens at this point
Workflow Example
Failure happens at this point
Stage 5:• query_expertise (useful)
– Authorise– or Reject
Modeling the Institution (Organisation) Institutional Facts
F = < R, A >
Modeling the Institution (Organisation) Institutional Facts
F = < R, A >
State of Affairs• Roles• World facts• Power• Prohibition• Obligation
Modeling the Institution (Organisation) Institutional Facts
F = < R, A >
State of Affairs• Roles• World facts• Power• Prohibition• Obligation
Predicates, Clauses
Modeling the Institution (Organisation) Institutional Facts
F = < R, A >
State of Affairs• Roles• World facts• Power• Prohibition• Obligation
Rules(speech acts or events modify F )
Modeling the Institution (Organisation) Institutional Facts
F = < R, A >
State of Affairs• Roles• World facts• Power• Prohibition• Obligation
Rules(speech acts or events modify F )
Fn Speech act Fn+1
Institutional Facts power(hod, allocate_task (Ag,[Task,Time_limit]))
if role (Ag,cs_dept_staff) power (hod, assign_temp role
(college_staff,[Ag,hod,Duration])) if role (Ag,cs dept_staff) and role (Ag,professor) and
Duration 21:00:00 power (hod, suspend_role
(college staff,[Ag,Role,Duration])) if role (Ag,cs dept_staff)
Institutional Facts power (hoc, assign_role (college staff,[Ag,hod]))
if role (Ag,cs_dept_staff) and role (Ag,professor) power (hoc, assign_power (college staff,[Ag,Power]))
if role (Ag,college_staff) power (hod, authorise_purchase (secretary,Item))
Institutional Facts obliged (bob, complete_task (“upgrade
webserver”),“05-June-12:00”, 103) obliged (fred, complete_task (“submit paper to
conference”),“09-Sept-18:00”, 103) prohibited (hoc,
assign_power (college_staff,[hoc,Power]),103)
Simple Procedural InterpretationUPDATE-INSTITUTIONAL-FACTS
1. Input: speech act (Sender, Receiver, Perf., Content)
2. Check if Sender empowered If not, discard the act and exit
3. Check if Sender prohibition If not, go to the next step; If so, apply the specified sanction.
4. Check if Sender obligation If so remove obligation
5. Process the act as normal (i.e., follow the rules specified for the act)
Overview
Some Axioms from the Ontology
HoD ⊑¬ HoC
∃supervises.(∃doesProject.Project) ⊑¬ ∃marksProject.Project
Student ⊑ ≥ 1 takesCourse
Some Axioms from the Ontology∃teaches.Course v ∃hasExpertise.Course
Professor(dave)
teaches(dave,Robotics) ⊤ ⊑ ∀ teaches.Course
Query_expertise ⊑ ∃doneBy.(Person ⊓ ∃hasExpertise.Expertise)
Equipment(?q) ^ Expertiment(?x) ^ isNeededBy(?q,?x) is_appropriate.equipment(?q,?x)
Some SPARQL Queries
Prefix uni:<http://www.csd.abdn.ac.uk/jlam/University.owl>
SELECT ?manager
WHERE { “HoD” uni:managedBy ?manager }
Prefix uni:<http://www.csd.abdn.ac.uk/jlam/University.owl>
SELECT ?person
WHERE { ?person uni:hasExpertise “Robotics” }
Exception Handling RoutineUpon the failure of a message delivery Query ontology to get manager of intended recipient Manager inspects tasks in workflow at this place Find a suitable agent who can perform them
(from ontology)
Exception Handling in ExampleUpon the failure of a message delivery Query ontology to get manager of intended recipient
SPARQL queryfinance secretary finds HoC (manager)
Manager inspects tasks in workflow at this place Query expertise to see is equipment useful Authorise or reject proposal
Requirements: Expertise in robotics Power to approve purchases
Find a suitable agent who can perform them(SPARQL query + assign power)
Some SPARQL QueriesPrefix uni:<http://www.csd.abdn.ac.uk/jlam/University.owl>
SELECT ?manager
WHERE { “HoD” uni:managedBy ?manager }
Exception Handling in ExampleUpon the failure of a message delivery Query ontology to get manager of intended recipient
SPARQL queryfinance secretary finds HoC (manager)
Manager inspects tasks in workflow at this place Query expertise to see is equipment useful Authorise or reject proposal
Requirements: Expertise in robotics Power to approve purchases
Find a suitable agent who can perform them(SPARQL query + assign power)
Exception Handling in ExampleUpon the failure of a message delivery Query ontology to get manager of intended recipient
SPARQL queryfinance secretary finds HoC (manager)
Manager inspects tasks in workflow at this place Query expertise to see is equipment useful Authorise or reject proposal
Requirements: Expertise in robotics Power to approve purchases
Find a suitable agent who can perform them(SPARQL query + assign power)
Exception Handling in ExampleUpon the failure of a message delivery Query ontology to get manager of intended recipient
SPARQL queryfinance secretary finds HoC (manager)
Manager inspects tasks in workflow at this place Query expertise to see is equipment useful Authorise or reject proposal
Requirements: Expertise in robotics Power to approve purchases
Find a suitable agent who can perform them(SPARQL query + assign power)
Exception Handling in ExampleUpon the failure of a message delivery Query ontology to get manager of intended recipient
SPARQL queryfinance secretary finds HoC (manager)
Manager inspects tasks in workflow at this place Query expertise to see is equipment useful Authorise or reject proposal
Requirements: Expertise in robotics Power to approve purchases
Find a suitable agent who can perform them(SPARQL query + assign power)
Some SPARQL Queries
Prefix uni:<http://www.csd.abdn.ac.uk/jlam/University.owl>
SELECT ?person
WHERE { ?person uni:hasExpertise “Robotics” }
Business ProcessesBusiness ProcessesWorkflow
Existing systems rigid
Agents
Distributed
Intelligent
Autonomous
Cope with exceptions
→ Workflows
Flexible
Robust
Semantic Web Languages
Organisational Knowledge
Tasks
Roles
Norms
Powers
Reasoners
Standard
Business ProcessesBusiness ProcessesWorkflow
Existing systems rigid
Agents
Distributed
Intelligent
Autonomous
Cope with exceptions
→ Workflows
Flexible
Robust
Semantic Web Languages
Organisational Knowledge
Tasks
Roles
Norms
Powers
Reasoners
Standard
Exception Handling in Example
Klein and Dellarocas Doctor diagnoses agents illness and prescribe treatment Build expert repository of handling procedures
Buhler and Vidal Slide agent between Web service and workflow
engine Singh
Commitments (high level meaning) Mallya and Singh library of sets of runs