1 / 29

Debugging Multi-agent Systems Using Design Artifacts:

Debugging Multi-agent Systems Using Design Artifacts:. The Case of Interaction Protocols By David Poutakidis. Introduction. Agents are software Developing agents is developing software Need appropriate design methodologies and tools (Prometheus)

lynnea
Télécharger la présentation

Debugging Multi-agent Systems Using Design Artifacts:

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Introduction • Agents are software • Developing agents is developing software • Need appropriate design methodologies and tools (Prometheus) • Debugging and Testing are an important part of any system development.

  3. Debugging is important. • Up to 50% of the total cost/time of development • Much of this time is spent trying to: • Locate bugs • Determine the cause of a problem • Debugging problem exacerbated by the flexibility and complexity of agent systems

  4. Current Debugging Techniques • Information gathering and visualisation • Filtering applied • Color Coded messages displayed at runtime • Limitations • Too much information to digest • No process for choosing the info to display • Relies on programmer interpreting message flow properly

  5. Our Approach: Make use of Design Documents • During design, documents are produced: • which represent the developers description of the system • that describe how the system should operate • that guide the programmers during coding • Design Artifacts: • interaction protocols, interaction diagrams, scenario diagrams, capability diagrams, plan descriptors, etc

  6. Central Thesis: • is 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 • Capture interaction patterns between agents • Allow choices and describe all allowable interactions • Existing protocol’s developed, eg FIPA (based on AUML)

  8. Cashier User Shop ass. Warehouse Buy book Delivery info. Delivery choice Credit check request Details request Card details request Card details Card details Approval Thanks Order Use Case and Interaction Diagram 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

  9. Merchant Bank M1 Credit check request (CCR) B1 Card details request (CDR) M2 Card details (CCD) Approve B2 M3 Reject-1 M4 x Fraud M5 Reject-2 M6

  10. User Debugging with Interaction Protocols Agent Agent Messages Debugger

  11. AUML not suitable for debugger • AUML not used internally by the debugger • AUML is not precisely defined, no formal semantics • decouple the underlying representation to allow for future versions of AUML or other notations altogether. • We use equivalent Petri Nets internally • Clear 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. a a P Q a a P P Q Q

  14. Translating AUML Connectors a P b a Q P R b Q R AUML: Selection Petri net: Selection

  15. CCR M1 B1 Merchant Bank CDR M2 Reject-2 M6 M1 Credit check request (CCR) CCD Approve B1 B2 Card details request (CDR) M2 Fraud Card details (CCD) M3 Approve B2 Reject-1 M3 Reject-1 M4 B2’ B2’’ x Fraud M5 Reject-2 M6 M4 M5

  16. CCR B1 M1 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. CDR M2 M6 Reject-2 CCD Approve B2 M3 Reject-1 B2’’ B2’ M4 M5

  17. 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 M1 CDR M2 M6 Reject-2 CCD Approve B2 M3 Reject-1 B2’’ B2’ M4 M5

  18. 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 M1 CDR M2 M6 Reject-2 CCD Approve B2 M3 Reject-1 B2’’ B2’ M4 M5

  19. 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 M1 CDR M2 M6 Reject-2 CCD Approve B2 M3 Reject-1 B2’’ B2’ M4 M5

  20. 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 M1 CDR M2 M6 Reject-2 CCD Approve B2 M3 Reject-1 B2’’ B2’ M4 M5

  21. 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 M1 CDR M2 M6 Reject-2 CCD Approve B2 M3 Reject-1 B2’’ B2’ M4 M5

  22. 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 M1 CDR M2 M6 Reject-2 CCD Approve B2 M3 Reject-1 B2’’ B2’ M4 M5

  23. 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 M1 CDR M2 M6 Reject-2 CCD Approve B2 M3 Reject-1 B2’’ B2’ M4 M5

  24. 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 M1 CDR M2 M6 Reject-2 CCD Approve B2 M3 Reject-1 B2’’ B2’ M4 M5

  25. 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 M1 CDR M2 M6 Reject-2 CCD Approve B2 M3 Reject-1 B2’’ B2’ M4 M5

  26. 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 M1 CDR M2 M6 Reject-2 CCD Approve B2 Fraud M3 Reject-1 B2’’ B2’ M4 M5

  27. 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 M1 CDR M2 M6 Reject-2 CCD Approve B2 Fraud M3 Reject-1 B2’’ B2’ M4 M5

  28. CCR M1 • Error encountered!!! • No transition enabled (because there is no token on B2) • The debugging agent reports a bug: the fraud message was unexpected CDR M2 M6 Reject-2 CCD Approve B2 Fraud M3 Reject-1 B2’’ B2’ M4 M5

  29. Future Work • Currently implementing the debugging agent • Provide tool support to automatically convert AUML protocols to Perti nets • Investigate how other design artifacts can be used for debugging

More Related