Download presentation
Presentation is loading. Please wait.
Published byJoan Bingley Modified over 9 years ago
1
Debugging Multi-agent Systems Using Design Artifacts: The Case of Interaction Protocols By David Poutakidis
2
Introduction zAgents are software zDeveloping agents is developing software zNeed appropriate design methodologies and tools (Prometheus) zDebugging and Testing are an important part of any system development.
3
Debugging is important. zUp to 50% of the total cost/time of development zMuch of this time is spent trying to: yLocate bugs yDetermine the cause of a problem zDebugging problem exacerbated by the flexibility and complexity of agent systems
4
Current Debugging Techniques zInformation gathering and visualisation yFiltering applied yColor Coded messages displayed at runtime zLimitations yToo much information to digest yNo process for choosing the info to display yRelies on programmer interpreting message flow properly
5
Our Approach: Make use of Design Documents zDuring design, documents are produced: ywhich represent the developers description of the system ythat describe how the system should operate y that guide the programmers during coding zDesign Artifacts: yinteraction protocols, interaction diagrams, scenario diagrams, capability diagrams, plan descriptors, etc
6
Central Thesis: zis that the design documents and system models developed when following an agent based software engineering methodology can be valuable resources during the debugging process and should facilitate the automatic or semi-automatic detection of errors.
7
Interaction Protocols zCapture interaction patterns between agents zAllow choices and describe all allowable interactions zExisting protocol’s developed, eg FIPA (based on AUML)
8
Buy book Delivery info. Delivery choice Card details Card details request Card details Approval Thanks Order UserShop ass.Warehouse Cashier Credit check request Details request Use case: 1. Customer orders book 2. Customer specifies delivery 3. Shop ass. Obtains & checks credit details 4. Shop ass. thanks customer and places order Use Case and Interaction Diagram
9
MerchantBank x Credit check request (CCR) Card details request (CDR) Card details (CCD) Approve Reject-2 Fraud Reject-1 M1 M2 M3 M4 M5 M6 B1 B2
10
Debugging with Interaction Protocols Agent Messages Debugger User
11
AUML not suitable for debugger zAUML not used internally by the debugger yAUML is not precisely defined, no formal semantics ydecouple the underlying representation to allow for future versions of AUML or other notations altogether. zWe use equivalent Petri Nets internally yClear formal semantics, algorithms and tools for checking properties (liveness, deadlock…)
12
Petri Nets Explained Consists of Places (depicted as circles) and Transitions depicted as squares. Places and Transitions linked by arrows. Places can contain tokens which indicate it’s marking and the state the net is in. Before Firing After Firing
13
Converting AUML protocol to a Petri net equivalent. aa PQ P a QQ P a
14
Translating AUML Connectors a b AUML: Selection Petri net: Selection P P Q Q ab R R
15
M1 CCR B1 CDR M2 CCD B2 Fraud M6 M3 M5M4 B2’’B2’ Reject-2 Reject-1 Approve Bank x Credit check request (CCR) Card details request (CDR) Card details (CCD) Approve Reject-2 Fraud Reject-1 M1 M2 M3 M4 M5 M6 B1 B2 Merchant
16
Reject-2 Reject-1 Approve M1 CCR B1 CDR M2 CCD M6 B2 M3 B2’ B2’’ M4M5 Execution of the Debugging Agent Repeat: 1. Receive message m 2. Check m against existing protocol instances 3. Fire the Petri Net(s) 4. Examine the Petri Net(s) for erroneous conditions.
17
Reject-2 Reject-1 Approve M1 CDR M2 CCD M6 B2 B2’ B2’’ M4M5 M3 CCR Consider the following sequence of messages: Merchant to bank: CCR New protocol instance created and token placed on M1 Token placed on CCR Fire net B1
18
Reject-2 Reject-1 Approve M1 CDR M2 CCD M6 B2 B2’ B2’’ M4M5 M3 CCR Consider the following sequence of messages: Merchant to bank: CCR New protocol instance created and token placed on M1 Token placed on CCR Fire net B1
19
Reject-2 Reject-1 Approve M1 CDR M2 CCD M6 B2 B2’ B2’’ M4M5 M3 CCR Consider the following sequence of messages: Merchant to bank: CCR New protocol instance created and token placed on M1 Token placed on CCR Fire net Bank to Merchant: CDR Token placed on CDR Fire net B2
20
Reject-2 Reject-1 Approve M1 CDR M2 CCD M6 B2 B2’ B2’’ M4M5 M3 CCR Consider the following sequence of messages: Merchant to bank: CCR New protocol instance created and token placed on M1 Token placed on CCR Fire net Bank to Merchant: CDR Token placed on CDR Fire net Merchant to Bank:CCD Token placed on CCD Fire Net
21
Reject-2 Reject-1 Approve M1 CDR M2 CCD M6 B2 B2’ B2’’ M4M5 M3 CCR Consider the following sequence of messages: Merchant to bank: CCR New protocol instance created and token placed on M1 Token placed on CCR Fire net Bank to Merchant: CDR Token placed on CDR Fire net Merchant to Bank:CCD Token placed on CCD Fire Net
22
Reject-2 Reject-1 Approve M1 CDR M2 CCD M6 B2 B2’ B2’’ M4M5 M3 CCR Consider the following sequence of messages: Merchant to bank: CCR New protocol instance created and token placed on M1 Token placed on CCR Fire net Bank to Merchant: CDR Token placed on CDR Fire net Merchant to Bank:CCD Token placed on CCD Fire Net
23
Reject-2 Reject-1 Approve M1 CDR M2 CCD M6 B2 B2’ B2’’ M4M5 M3 CCR Consider the following sequence of messages: Merchant to bank: CCR Bank to Merchant: CDR Token placed on CDR Fire net Merchant to Bank:CCD Token placed on CCD Fire Net Bank to Merchant: Approve Token placed on approve Fire net
24
Reject-2 Reject-1 Approve M1 CDR M2 CCD M6 B2 B2’ B2’’ M4M5 M3 CCR Consider the following sequence of messages: Merchant to bank: CCR Bank to Merchant: CDR Token placed on CDR Fire net Merchant to Bank:CCD Token placed on CCD Fire Net Bank to Merchant: Approve Token placed on approve Fire net
25
Reject-2 Reject-1 Approve M1 CDR M2 CCD M6 B2 B2’ B2’’ M4M5 M3 CCR Consider the following sequence of messages: Merchant to bank: CCR Bank to Merchant: CDR Token placed on CDR Fire net Merchant to Bank:CCD Token placed on CCD Fire Net Bank to Merchant: Approve Token placed on approve Fire net
26
Reject-2 Reject-1 Approve M1 CDR M2 CCD M6 B2 B2’ B2’’ M4M5 M3 CCR Consider the following sequence of messages: Merchant to bank: CCR Bank to Merchant: CDR Merchant to Bank:CCD Token placed on CCD Fire Net Bank to Merchant: Approve Token placed on approve Fire net Bank to Merchant: Fraud Token placed on Fraud Fire Net Fraud
27
Reject-2 Reject-1 Approve M1 CDR M2 CCD M6 B2 B2’ B2’’ M4M5 M3 CCR Consider the following sequence of messages: Merchant to bank: CCR Bank to Merchant: CDR Merchant to Bank:CCD Token placed on CCD Fire Net Bank to Merchant: Approve Token placed on approve Fire net Bank to Merchant: Fraud Token placed on Fraud Fire Net Fraud
28
Reject-2 Reject-1 Approve M1 CDR M2 CCD M6 B2 B2’ B2’’ M4M5 M3 CCR Error encountered!!! No transition enabled (because there is no token on B2) The debugging agent reports a bug: the fraud message was unexpected Fraud
29
Future Work zCurrently implementing the debugging agent zProvide tool support to automatically convert AUML protocols to Perti nets z Investigate how other design artifacts can be used for debugging
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.