final presentation exception management · final presentation phd candidate exception management...
TRANSCRIPT
1
Eric Platon
Final PresentationPhD Candidate
Exception Management
Multi-Agent Systemsin
June 25th, 2007
Dr. Nicolas Sabouret Pr. Shinichi Honiden
2
Multi-Agent Systems
3
Multi-Agent Systems
Distributed Systems
4
DistributedSystems
5
“Fallacy”Robustness is inherent with MAS
[Haegg, 1996; Brewer,2000; Klein et al., 2003; Hohpe, 2007]
6
Robustness is inherent with MAS
Robustness is not free
[Haegg, 1996; Brewer,2000; Klein et al., 2003; Hohpe, 2007]
7
How to buildmore robustdistributed systems
with multi-agent technologies?
8
Exception Handling
Simple, Powerful, Elegant
Limited in Distributed Systems
Robustness in Software
[Goodenough, 1975; Xu et al., 1998; Issarny,2000/2001; Romanovsky,2001;Klein et al., 2003]
9
Exception Management in Multi-Agent Systems
Exception in MAS are not only programming-like exceptionsThesis, Part 1
Exception in MAS should be supported at three levels: Code level Agent level System level
Thesis, Part 2
10
Exception in MAS are not only programming-like exceptions
Thesis, Part 1
Engineering model fordistributed,open,heterogeneoussystems
What are MAS?
[Ferber,1995] & [Weiss,1998]
11
Deployment EnvironmentDB DB
Resources
Hardware
What are MAS?
Interactive software process
Autonomous: Capable to decide
Perception Action
Processing
Knowledge Agents
WS
12
Deployment EnvironmentDB DB
Resources
Hardware
What are MAS?
Interactive software process
Autonomous: Capable to decide
Perception Action
Processing
Knowledge Agents
WS
13
Exceptional Conditions
Related to Interaction Protocols
Initiator Participant
request
reply
DB
Mission: Register to CS-2
14
Exceptional Conditions
Related to Interaction Protocols
Please register me to CS-2
DB
Need CS-1 credit, no record
Initiator Participant
request
reply
15
Exceptional Conditions
Related to the Environment
16
Expected Reactions toExceptional Conditions
Self-Adaptive Behaviors
Based on Interaction & Autonomy
17
[Act]Agentor
Resource
ActEvent
ExceptionNormal
TargetNotion of Exception
18
What is an exception usually?
Class MailBox, Method sendMessage
Invoker Operation
try {Message m = new Message(id,from,to,content);send(m);
} catch (SendException exc) {System.err.print("Exception!");
}
[Goodenough, 1975; Parnas 1976; Randell, 1976]
19
Class MailBox, Method sendMessage
Invoker Operation
try {Message m = new Message(id,from,to,content);send(m);
} catch (SendException exc) {System.err.print("Exception!");
}
20
Class MailBox, Method sendMessage
Invoker Operation
try {Message m = new Message(id,from,to,content);send(m);
} catch (SendException exc) {System.err.print("Exception!");
}
21
Class MailBox, Method sendMessage
Invoker Operation Exception
try {Message m = new Message(id,from,to,content);send(m);
} catch (SendException exc) {System.err.print("Exception!");
}
22
Exception object/signal
Class MailBox, Method sendMessage
Invoker Operation Exception
try {Message m = new Message(id,from,to,content);send(m);
} catch (SendException exc) {System.err.print("Exception!");
}
23
Invoker Operation Exception
Exception object/signal
Event
?
Exception
24
Invoker Operation Exception
Exception object/signal
EventException
25
Event
An agent exception is the evaluationby the agent of a perceived event asunexpected.
26
Two categories
Agent Level System Level
27
Exceptions in Multi-Agent Systems
28
Exceptions in Multi-Agent Systems
Code
try {...
} catch (IOException e) {...
}
29
Exceptions in Multi-Agent Systems
Code
Agent
30
Exceptions in Multi-Agent Systems
Code
Agent
System
31
Exceptions in Multi-Agent Systems
Code
Agent
SystemAgent
ProgrammingException
Exception
32
OutlineException Management in Multi-Agent Systems
Exception in MAS are not only programming-like exceptionsThesis, Part 1
Exception in MAS should be supported at three levels: Code level Agent level System level
Thesis, Part 2
33
TowardEngineering Practice
System Designer
Thesis, Part 2Exception in MAS should be supported at three levels, CAS
34
Separation of Concerns
35
Code
Agent
System
36
Our ProposalTo
Agent-LevelException Management
37
Perception
Processing
Perception
Processing
Perception
Processing
Perception Action
Processing
Knowledge
Perception Action
Processing
Knowledge Agents
Exception-Ready Agents
38
Exception-Ready Agents
Perception
Processing
Perception
Processing
Perception
Processing
Perception Action
Processing
Knowledge
Perception Action
Structure of Execution
Structure of Knowledge
Environment
39
Exception-Ready Agents
Environment
ProtocolEnactmentsProtocol
EnactmentsProtocol
Expectations
ProtocolEnactmentsProtocol
EnactmentsOperator
Expectations
ActionRevision
ASM
ProtocolsOperators
ProtocolEnactmentsProtocol
EnactmentsProtocol
Enactments
Perception Action
PlansGoals
40
Exception-Ready Agents
Perception
Processing
Perception
Processing
Perception
Processing
Perception Action
Processing
Knowledge
Environment
ASM
ProtocolEnactmentsProtocol
EnactmentsProtocol
Expectations
ProtocolEnactmentsProtocol
EnactmentsOperator
Expectations
ExceptionDetection
ProtocolsOperators
ProtocolEnactmentsProtocol
EnactmentsProtocol
Enactments
Violation
Perception Action
GoalsPlans
41
Exception Detection
42
Perception
Processing
Perception
Processing
Perception
Processing
Perception Action
Processing
Knowledge
ProtocolEnactmentsProtocol
EnactmentsProtocol
Expectations
ProtocolEnactmentsProtocol
EnactmentsOperator
Expectations
Environment
ProtocolsOperators
ProtocolEnactmentsProtocol
EnactmentsProtocol
EnactmentsASM
Perception Action
GoalsPlans
doAction(x)
effect
reffect(doAction, expression, effect)
43
Perception
Processing
Perception
Processing
Perception
Processing
Perception Action
Processing
Knowledge
ProtocolEnactmentsProtocol
EnactmentsProtocol
Expectations
ProtocolEnactmentsProtocol
EnactmentsOperator
Expectations
Environment
ProtocolsOperators
ProtocolEnactmentsProtocol
EnactmentsProtocol
EnactmentsASM
Perception Action
GoalsPlans
effect?
reffect(doAction, expression, effect)
44
Perception
Processing
Perception
Processing
Perception
Processing
Perception Action
Processing
Knowledge
ProtocolEnactmentsProtocol
EnactmentsProtocol
Expectations
ProtocolEnactmentsProtocol
EnactmentsOperator
Expectations
Environment
ProtocolsOperators
ProtocolEnactmentsProtocol
EnactmentsProtocol
EnactmentsASM
Perception Action
GoalsPlans
ExceptionDetection
Violation
45
Perception
Processing
Perception
Processing
Perception
Processing
Perception Action
Processing
Knowledge
ProtocolEnactmentsProtocol
EnactmentsProtocol
Expectations
ProtocolEnactmentsProtocol
EnactmentsOperator
Expectations
Environment
ProtocolsOperators
ProtocolEnactmentsProtocol
EnactmentsProtocol
Enactments
Perception Action
GoalsPlans
ASM
ExceptionDetection
Violation
46
Action Selection
47
Expectations IncomingEvent
Update the agent state Select next action
OperatorProtocolGoal & Plan Revision
Commit actionRelated to ANA, [Maes, 1991]
48
Example
x
Initiator Participant
cfp
accept
cnet(x,[])go(x)
49
reffect( cnet(x, []),T,have(x) Λmoney(y=y-price(x)) )
x
&© classroomclipart.com
-x
reffect( go(x),T,position(x) )
x
50
context( go(x), ¬position(x) )
X
51
xxxx
xx
context( cnet(x, [shop1, ..., shopn]),need(x) Λ available(x, [shop1, ..., shopn]) )
xxxx
xxxx
W
x?
Y
52
Machine parts producers
Energy producers
Machinery producers
ValidationEnergy Consortium Scenario
DistributedOpenHeterogeneous
53
Machine parts producers
Energy producers
Machinery producers
ValidationEnergy Consortium Scenario
DistributedOpenHeterogeneous
Test Exception: Delay Requests
54
Implementation Styles
No Exception Management
Plain Management
EMS Approach
55
Tasks forAgent Exception Code
(Intrinsic) Robustness
Actions
High
EMS
Ad hoc
Low
Plain
56Min Max Plateau0
0.250.50.751
1.251.51.752
2.252.52.753
3.253.53.75
Execution Cycles per 100 ms
BaselinePlainEMS
Time (s)
57Min Max Plateau0
0.250.50.751
1.251.51.752
2.252.52.753
3.253.53.75
Execution Cycles per 100 ms
BaselinePlainEMS
Common Profile
Time (s)
58
Time (ms)0
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
5500
Average Execution Time
BaselinePlainEMS
Trade-offRobustness
vs.Execution CostTime (ms)
59
Agent-LevelException Management
EMS
Execution Overhead
Separation of ConcernsTask reduced to Action Design1
60
Our ProposalTo
System-LevelException Management
61
Software
Agent
System
62
Application layer
63
Application layer
[Haegg, 1996; Klein et al., 2003; Shah et al., 2005]
System-Level Exception Management
Sentinels
64
Perception
Processing
Perception
Processing
Perception
Processing
Perception Action
Processing
Knowledge
Perception Action
Processing
KnowledgeAgent
Perception
Processing
Perception
Processing
Perception
Processing
Perception Action
Processing
Knowledge
Perception Action
Processing
KnowledgeSentinel
Overridden Autonomy
65
Perception
Processing
Perception
Processing
Perception
Processing
Perception Action
Processing
Knowledge
Perception Action
Processing
KnowledgeAgent
Perception
Processing
Perception
Processing
Perception
Processing
Perception Action
Processing
Knowledge
Perception Action
Processing
KnowledgeSentinel
Overridden Autonomy
66
AgentLocal View
WhyWaiting?
System-Wide Support
67
Blocked
SentinelEnlarged View
System-Wide Support
68
69
Architecture with Softbody
70
Perception ActionPerception Action
Agent
Perception
Processing
Perception
Processing
Perception
Processing
Perception Action
Processing
Knowledge
Perception Action
Processing
KnowledgeSentinel
PublicState
Update
Softbody
71
Perception ActionPerception Action
Agent
Perception
Processing
Perception
Processing
Perception
Processing
Perception Action
Processing
Knowledge
Perception Action
Processing
KnowledgeSentinel
PublicState
Update
Softbody
72
Machine parts producersEnergy producers
Machinery producers
ValidationEnergy Consortium Scenario
DistributedOpenHeterogeneous
Sentinels
73
Perception ActionPerception Action
Agent
Public State
Running Order
Expected Completion Date
74
A
RO ECD
B
RO ECD
S
Contracting
75
A
RO ECD
B
RO ECD
S
Contracting
EMS
76
A
RO ECD
B
RO ECD
S
Contracting
Notification
77
Analytical Evaluation
Communication Cost (n agents, worst)O(n2)
Heuristics allowing O(n) and O(1)
Compared to Original Sentinels
[Haegg, 1996; Dellarocas et al., 2000; Klein et al., 2003; Shah et al., 2005]
78
Analytical Evaluation
[Haegg, 1996; Dellarocas et al., 2000; Klein et al., 2003; Shah et al., 2005]
Computational Complexity UnchangedArchitecture Change
Compared to Original Sentinels
“Economical” Change forAutonomy Respect
79
Conclusion
Exception Management in Multi-Agent Systems
80
Towardsmore robustdistributed systemswith multi-agent technologies
Exception Management in Multi-Agent Systems
81
Exception in MAS should be supported at three levels: Code level Agent level System level
Thesis and Contributions
EMSSentinels(revised)
try {...
} catch (IOException e) {...
}
82
Exception Management in Multi-Agent Systems
Coupling between Exception Levels
Perspectives on
EM as Self-Organizing Mechanism
Support for Action Design and Consistency
83
Acknowledgements
84
Thank you for your attention
Eric Platon
June 25th, 2007