Presentation is loading. Please wait.

Presentation is loading. Please wait.

Debugging Multi-agent Systems Using Design Artifacts: The Case of Interaction Protocols By David Poutakidis.

Similar presentations


Presentation on theme: "Debugging Multi-agent Systems Using Design Artifacts: The Case of Interaction Protocols By David Poutakidis."— Presentation transcript:

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


Download ppt "Debugging Multi-agent Systems Using Design Artifacts: The Case of Interaction Protocols By David Poutakidis."

Similar presentations


Ads by Google