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

Slides:



Advertisements
Similar presentations
Use-Cases.
Advertisements

Based on: Petri Nets and Industrial Applications: A Tutorial
Actors and use cases Use-case diagram Brief notation Prioritization Fully dressed notation Requirements Functional requirements  Use-cases.
1 Interaction Diagram / AUML-2 Tool Michael Winikoff August 2003
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
Sequence Diagrams. Introduction A Sequence diagram depicts the sequence of actions that occur in a system. The invocation of methods in each object, and.
Software Engineering COMP 201
Introduction To System Analysis and Design
Software Testing and Quality Assurance
Capturing the requirements
Prometheus Design Tool (CAFnE Extension) v0.1: WeatherApplication.pd PDT/CAFnE Workspace is organized into four main panes Component Descriptor pane contains.
Use Case Modeling. Kendall & Kendall© 2005 Pearson Prentice Hall18-2 Commonly Used UML Diagrams The most commonly used UML diagrams are: – Use case diagram,
L ECTURE 2 S OFTWARE P ROCESSES 1. O BJECTIVES To describe outline process models for requirements engineering, software development, testing and evolution.
1 Lab Beginning Analysis and Design 4 Completion of first version of use case diagram initiates the processes of analysis and design. 4 UML provides.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Introduction to High-Level Language Programming
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
Introduction To System Analysis and design
Transitioning From Software Requirements Models to Design Models
2005/05/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
1 Conceptual Modeling of User Interfaces to Workflow Information Systems Conceptual Modeling of User Interfaces to Workflow Information Systems By: Josefina.
Verification and Validation Yonsei University 2 nd Semester, 2014 Sanghyun Park.
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
1 Shawlands Academy Higher Computing Software Development Unit.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
Parser-Driven Games Tool programming © Allan C. Milne Abertay University v
Agent Model for Interaction with Semantic Web Services Ivo Mihailovic.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 On to Object Design Chapter 14 Applying UML and Patterns.
1 The Software Development Process  Systems analysis  Systems design  Implementation  Testing  Documentation  Evaluation  Maintenance.
Introduction To System Analysis and Design
The Software Development Life Cycle. Software Development SDLC The Software Development Life-Cycle Sometimes called the program development lifecycle.
CHAPTER TEN AUTHORING.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
CSC 395 – Software Engineering Lecture 13: Object-Oriented Analysis –or– Let the Pain Begin (At Least I’m Honest!)
IXA 1234 : C++ PROGRAMMING CHAPTER 1. PROGRAMMING LANGUAGE Programming language is a computer program that can solve certain problem / task Keyword: Computer.
INTRODUCTION TO COMPUTING CHAPTER NO. 04. Programming Languages Program Algorithms and Pseudo Code Properties and Advantages of Algorithms Flowchart (Symbols.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
May 31, May 31, 2016May 31, 2016May 31, 2016 Azusa, CA Sheldon X. Liang Ph. D. Computer Science at Azusa Pacific University Azusa Pacific University,
The Prometheus-ROADMAP Methodology Lin Padgham in collaboration with Leon Sterling and Michael Winikoff School of Computer Science and IT, RMIT University,
Definition of Terms Software/Programs Programs that directs the operation of a computer system Set of instructions Codes Programming Process of planning,
Design Jon Walker. More UML ● What is UML again?
The Software Development Process
PROGRAM DEVELOPMENT CYCLE. Problem Statement: Problem Statement help diagnose the situation so that your focus is on the problem, helpful tools at this.
Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.
Deadlock Analysis with Fewer False Positives Thread T1: sync(G){ sync(L1){ sync(L2){} } }; T3 = new T3(); j3.start(); J3.join(); sync(L2){ sync(L1){} }
16/11/ Web Services Choreography Requirements Presenter: Emilia Cimpian, NUIG-DERI, 07April W3C Working Draft.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Algorithm Discovery and Design Objectives: Interpret pseudocode Write pseudocode, using the three types of operations: * sequential (steps in order written)
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Capturing Requirements. Questions to Ask about Requirements 1)Are the requirements correct? 2)Consistent? 3)Unambiguous? 4)Complete? 5)Feasible? 6)Relevant?
Requirement Analysis SOFTWARE ENGINEERING. What are Requirements? Expression of desired behavior Deals with objects or entities, the states they can be.
Chapter – 8 Software Tools.
C++ for Engineers and Scientists, Second Edition 1 Problem Solution and Software Development Software development procedure: method for solving problems.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
Defects of UML Yang Yichuan. For the Presentation Something you know Instead of lots of new stuff. Cases Instead of Concepts. Methodology instead of the.
WP4 Models and Contents Quality Assessment
Unified Modeling Language
Simulating Processes Motivation
Object-Oriented Analysis
Unit# 9: Computer Program Development
Informatics 121 Software Design I
Chapter 1 Introduction(1.1)
Analysis models and design models
Software Development Process
Department of Computer Science Abdul Wali Khan University Mardan
PASSI (Process for Agent Societies Specification and Implementation)
Chapter 14. Activity Modeling for Transformational Systems
Presentation transcript:

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

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.

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

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

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

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.

Interaction Protocols zCapture interaction patterns between agents zAllow choices and describe all allowable interactions zExisting protocol’s developed, eg FIPA (based on AUML)

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

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

Debugging with Interaction Protocols Agent Messages Debugger User

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…)

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

Converting AUML protocol to a Petri net equivalent. aa PQ P a QQ P a

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

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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