coping with exceptions in agent-based workflow enactments frank guerin university of aberdeen

Post on 20-Jan-2016

214 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related