Coping with Exceptions in Agent-Based
Workflow Enactments
Frank Guerin
University of Aberdeen
Coping with Exceptions in Agent-Based
Workflow Enactments
Joey Sik-Chun Lam,
Frank Guerin,
Wamberto Vasconcelos,
and Timothy J. Norman
Frank Guerin
University of Aberdeen
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
Workflow
Existing
systems rigid
Agents
Semantic Web
Languages
Business
Processes
Workflow
Existing
systems rigid
Agents
Semantic Web
Languages
Business
Processes
Agents
Workflow
Distributed
Existing
systems rigid
Intelligent
Semantic Web
Languages
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
Existing
 Alternate pathways ?
Techniques
Service level:
 e.g. Web service is unavailable
 Alternative service (semantic matching)
(Aldewereld et al.)
Exceptions in Agent-based Workflow
Organisation level:
 Organisational structure makes it impossible
 e.g. change in environment
No Existing
Coordination level:
Techniques
 e.g. some role empty
 Alternate pathways ?
Service level:
 e.g. Web service is unavailable
 Alternative service (semantic matching)
(Aldewereld et al.)
Exceptions in Agent-based Workflow
Organisation level:
 Organisational structure makes it impossible
 e.g. change in environment
Workflow
Coordination level:
tasks must be
 e.g. some role empty
meaningful
 Alternate pathways ?
Service level:
 e.g. Web service is unavailable
 Alternative service (semantic matching)
(Aldewereld et al.)
Business
Processes
Agents
Workflow
Distributed
Existing
systems rigid
Intelligent
Semantic Web
Languages
Autonomous
Cope with
exceptions
Business
Processes
Agents
Workflow
Distributed
Existing
systems rigid
Intelligent
Semantic Web
Languages
Autonomous
Cope with
exceptions
→ Workflows
 Flexible
 Robust
Business
Processes
Agents
Workflow
Distributed  Organisational
Knowledge
Intelligent
Existing
systems rigid
Semantic Web
Languages
Autonomous
Tasks
Cope with
exceptions
Roles
→ Workflows
Powers
 Flexible
 Robust
Norms
Business
Processes
Agents
Workflow
Distributed  Organisational
Knowledge
Intelligent
Existing
systems rigid
Semantic Web
Languages
Autonomous
Cope with
Not yet…
exceptions
later
• SWRL→ Workflows
• DL-safe rules
 Flexible
 Robust
Tasks
Roles
Norms
Powers
Business
Processes
Agents
Workflow
Distributed  Organisational
Knowledge
Intelligent
Existing
systems rigid
Semantic Web
Languages
Autonomous
Tasks
Cope with
exceptions
Roles
→ Workflows
Powers
Norms
 Flexible  Reasoners
 Robust  Standard
Business
Processes
Agents
Workflow
Distributed  Organisational
Knowledge
Intelligent
Existing
systems rigid
Semantic Web
Languages
Autonomous
Tasks
Cope with
exceptions
Roles
→ Workflows
Powers
Norms
 Flexible  Reasoners
 Robust  Standard
Workflow Example
(only shows external messages)
Workflow Example
Failure happens
at this point
Workflow Example
Stage 5:
• query_expertise (useful)
Failure happens
at this point
– 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 >
Predicates,
Clauses
State of Affairs
• Roles
• World facts
• Power
• Prohibition
• Obligation
Modeling the Institution (Organisation)
 Institutional Facts
F = < R, A >
Rules
(speech acts
or events
modify F )
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
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 Interpretation
UPDATE-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 Routine
Upon 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 Example
Upon the failure of a message delivery
 Query ontology to get manager of intended recipient
SPARQL query
finance 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 ?manager
WHERE { “HoD” uni:managedBy ?manager }
Exception Handling in Example
Upon the failure of a message delivery
 Query ontology to get manager of intended recipient
SPARQL query
finance 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 Example
Upon the failure of a message delivery
 Query ontology to get manager of intended recipient
SPARQL query
finance 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 Example
Upon the failure of a message delivery
 Query ontology to get manager of intended recipient
SPARQL query
finance 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 Example
Upon the failure of a message delivery
 Query ontology to get manager of intended recipient
SPARQL query
finance 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
Processes
Agents
Semantic Web
Languages
Workflow
Distributed
 Organisational
Knowledge
Existing
Intelligent
systems rigid Autonomous
Tasks
Cope with
exceptions
Roles
→ Workflows
Powers
Norms
 Flexible  Reasoners
 Robust
 Standard
Business
Processes
Agents
Workflow
Distributed  Organisational
Knowledge
Intelligent
Existing
systems rigid
Semantic Web
Languages
Autonomous
Tasks
Cope with
exceptions
Roles
→ Workflows
Powers
Norms
 Flexible  Reasoners
 Robust  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
Descargar

Slide 1