Debugging Multi-agent Systems Using Design Artifacts: - PowerPoint PPT Presentation

1 / 29
About This Presentation
Title:

Debugging Multi-agent Systems Using Design Artifacts:

Description:

Need appropriate design methodologies and tools (Prometheus) Debugging and Testing are an important part of any system development. Debugging is important. ... – PowerPoint PPT presentation

Number of Views:33
Avg rating:3.0/5.0
Slides: 30
Provided by: scie333
Category:

less

Transcript and Presenter's Notes

Title: Debugging Multi-agent Systems Using Design Artifacts:


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 protocols developed, eg FIPA (based on
    AUML)

8
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
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 its
    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
P
a
b
a
Q
P
R
b
Q
R
AUML Selection
Petri net Selection
15
CCR
M1
B1
Bank
Merchant
CDR
M2
M6
Reject-2
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
M5
M4
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 BankCCD
  • 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 BankCCD
  • 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 BankCCD
  • 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 BankCCD
  • 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 BankCCD
  • 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 BankCCD
  • 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 BankCCD
  • 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 BankCCD
  • 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
Write a Comment
User Comments (0)
About PowerShow.com