10/18/01Computer Science Dept., UIC1 Formal Methods in Agent- Oriented Software Engineering Haiping Xu and Sol M. Shatz Computer Science Department The.

Slides:



Advertisements
Similar presentations
Formal Modelling of Reactive Agents as an aggregation of Simple Behaviours P.Kefalas Dept. of Computer Science 13 Tsimiski Str Thessaloniki Greece.
Advertisements

MODELLING OF MOBILE AGENT SYSTEMS USING dynPLA APPROACH Agnė Paulauskaitė-Tarasevičienė Henrikas Pranevičius 1.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
SELBO Agent Ivan Minov University of Plovdiv “Paisii Hilendarski“
Formal verification of safety communication protocol for ETCS Chen Lijie  Introduction  Safety communication protocol in ETCS  CPN model.
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
Software Requirements Engineering
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
Introduction To System Analysis and Design
Developing MAS The GAIA Methodology A Brief Summary by António Castro and Prof. Eugénio Oliveira.
7M701 1 Software Engineering Object-oriented Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 12 )
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
Capturing the requirements
10/09/2006CIS Dept., UMass Dartmouth1 A Petri Net Based XML Firewall Security Model for Web Services Invocation Prof. Haiping Xu Concurrent Software Systems.
Object-Oriented Databases
April 15, 2005Department of Computer Science, BYU Agent-Oriented Software Engineering Muhammed Al-Muhammed Brigham Young University Supported in part by.
5/26/2005CIS Dept., UMass Dartmouth1 A Methodology for Role- Based Modeling of Open Multi-Agent Software Systems Prof. Haiping Xu Concurrent Software Systems.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Architectural Design.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
11 1 Object oriented DB (not in book) Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Learning objectives: What.
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
“Enhancing Reuse with Information Hiding” ITT Proceedings of the Workshop on Reusability in Programming, 1983 Reprinted in Software Reusability, Volume.
Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
Multi-Agent Systems University “Politehnica” of Bucarest Spring 2003 Adina Magda Florea
Agent-Oriented Software Engineering CSC532 Xiaomei Huang.
Model-based Methods for Web Service Verification.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Argumentation and Trust: Issues and New Challenges Jamal Bentahar Concordia University (Montreal, Canada) University of Namur, Belgium, June 26, 2007.
Introduction To System Analysis and Design
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
Institute e-Austria in Timisoara 1 Author: prep. eng. Calin Jebelean Verification of Communication Protocols using SDL ( )
Formal Verification Lecture 9. Formal Verification Formal verification relies on Descriptions of the properties or requirements Descriptions of systems.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Refining middleware functions for verification purpose Jérôme Hugues Laurent Pautet Fabrice Kordon
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Integrating UML and Petri Nets Problem with Current Software Engineering Methodology Stochastic Petri nets and their useful properties Translating UML.
The Unified Modeling Language Part II Omar Meqdadi SE 2730 Lecture 9 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Architectural Point Mapping for Design Traceability Naoyasu Ubayashi and Yasutaka Kamei Kyushu University, Japan March 26, 2012 FOAL 2012 (AOSD Workshop)
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
A Quantitative Trust Model for Negotiating Agents A Quantitative Trust Model for Negotiating Agents Jamal Bentahar, John Jules Ch. Meyer Concordia University.
Algorithmic, Game-theoretic and Logical Foundations
Integration of Workflow and Agent Technology for Business Process Management Yuhong Yan. Maamar, Z. Weiming Shen Enterprise Integration Lab.Toronto Univ.Canada.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Modeling the ODP Computational Viewpoint with UML 2.0: The Templeman Library Example José Raúl Romero, Antonio Vallecillo Universidad de Málaga, Spain.
CSCI1600: Embedded and Real Time Software Lecture 11: Modeling IV: Concurrency Steven Reiss, Fall 2015.
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
Petri Net based semantic engine Vivek Singh, SEECS, UCF Feb 7, 2002.
Université Toulouse I 1 CADUI' June FUNDP Namur Implementation Techniques for Petri Net Based Specifications of Human-Computer Dialogues.
Basic Characteristics of Object-Oriented Systems
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini VII. System Specification (I)
Principles of Programming & Software Engineering
Introduction to Agents
Logical architecture refinement
Chapter 20 Object-Oriented Analysis and Design
Dept. of Computation, UMIST
Presentation transcript:

10/18/01Computer Science Dept., UIC1 Formal Methods in Agent- Oriented Software Engineering Haiping Xu and Sol M. Shatz Computer Science Department The University of Illinois at Chicago

10/18/01Computer Science Dept., UIC2 Outline Part 1: Background. Part 2: Design of agent-based G-net model. Part 3: Modeling agent-oriented software. Part 4: Analysis of agent-oriented model. Part 5: Our current research work. Part 6: Conclusions and future work.

10/18/01Computer Science Dept., UIC3 Part 1: Background Formal methods in Software Engineering. Introduction to Petri net. G-net: A high level Petri net. Introduction to software agent. Agent-oriented software engineering. Our approach to agent-oriented design.

10/18/01Computer Science Dept., UIC4 Purpose of Formal Methods “The term “formal methods” denotes software development and analysis activities that entail a degree of mathematical rigor. (…) A formal method manipulates a precise mathematical description of a software system for the purpose of establishing that the system does or does not exhibit some property, which is itself-precisely defined.” (Dillon and Sankar, 1997) Dillon, L. K. and S. Sankar (1997), Introduction to the Special Issue, IEEE Transactions on Software Engineering, Special Issue on Formal Methods in Software Practice, 23(5):

10/18/01Computer Science Dept., UIC5 Formal Methods in Software Engineering To write formal requirements specification, which serves as a contract between the user and the designer. To be used in software design. Design errors may be caught in an early design stage. To support system analysis and verification. –model checking –theorem proving

10/18/01Computer Science Dept., UIC6 Introduction to Petri Net “Three-in-one” capability of a Petri net model. –Graphical representation –Mathematical description –Simulation tool Definition: A Petri net is a 4-tuple, PN = (P, T, F, M 0 ) where P = {P1, P2, …, Pm} is a finite set of places; T = {t1, t2, …, tn} is a finite set of transitions; F  (P x T)  (T x P) is a set of arcs (flow relation); M 0 : P --> {0, 1, 2, 3, …} is the initial marking.

10/18/01Computer Science Dept., UIC7 An Example t1 t5 t3 t4 t2 P1 P5 P3 P4 P2 Figure 1. A simple Petri net model example

10/18/01Computer Science Dept., UIC8 G-net: A High Level Petri Net Defined to support modeling of systems as a set of independent and loosely-coupled modules. Provides support for incremental design and successive modification. Is not fully object-oriented due to a lack of support for inheritance.

10/18/01Computer Science Dept., UIC9 An Example Figure 2. G-net models of buyer and seller objects

10/18/01Computer Science Dept., UIC10 Introduction to Software Agent The term “agent” comes from greek “agein”, which means to drive or to lead. Today the term “agent” denotes something that producing an effect, e.g., drying agent, a shipping agent. It is suitable to describe current trends in computer science: active instruments (to which work can be delegated) vs. passive tools. The term “agent” in computer science refers to software agent.

10/18/01Computer Science Dept., UIC11 Space of Software Agents Service interactivity Application interactivity Data interactivity Representation of users Asynchrony Message passing Remote procedure call Remote execution Weak migration Strong migration Preferences Reasoning Planning Learning Agency Mobility Intelligence Figure 3. Space of software agents defined by IBM

10/18/01Computer Science Dept., UIC12 Current Researches on Agents Do not exploit all the capabilities classified by these three dimensions. Multi-agent systems (MAS) –Execute a given task. –Use distributed but static agents. –Collaborate and cooperate in an intelligent manner. Mobile agents (MA) –Model agent mobility and agent coordination. –Assume very limited or even no intelligence.

10/18/01Computer Science Dept., UIC13 Agent-Oriented Software Engineering The agents can be considered as active objects, i.e., objects with a mental state. However, object-oriented methodologies do not address the following aspects: –asynchronous message-passing mechanism –mental state: plan, goal and knowledge –autonomous behavior Agent-oriented approaches: provide guidelines for agent specification and design. –AAII methodologies: based on BDI model. –Gaia methodologies: based on role modeling.

10/18/01Computer Science Dept., UIC14 Formal Methods in Agent-Oriented Software Engineering Very little work on how to formally specify and design agents. –DESIRE (DEsign and Specification of Interacting REasoning components) provides a compositional framework for modeling agents. –dMARS (distributed MultiAgent Reasoning System) is based on Procedure Reasoning System (PRS) and supports formal reasoning. –Agent models based on Petri nets, such as [Moldt and Wienberg 1997] [Merseguer et al. 2000] [Xu and Deng 2000] However, they do not explicitly model agent interactions, and they do not address the issue of inheritance. Unlike the previous work, our proposed agent models: –support protocol-based agent interaction/communication. –support reuse of functional units of our agent class models.

10/18/01Computer Science Dept., UIC15 Our Incremental Approach Object-based G-nets (the original G-nets) Standard G-nets (support class modeling) Object-Oriented G-nets (support inheritance) Agent-based G-nets (support agent modeling) Agent-Oriented G-nets (support inheritance)

10/18/01Computer Science Dept., UIC16 Advantages of Our Approach Based on the Petri net formalism, which is a mature formal model in terms of both existing theory and tool support. Support reuse of object or agent designs. Provide a nature way for object-oriented software designers to design agent systems. Support net-based modeling and analysis. –provide a clean interface among objects or agents. –do not use text-based formalism in our formal models. –may unify the object-oriented G-nets and agent-oriented G- nets to model complex software systems.

10/18/01Computer Science Dept., UIC17 Part 2: An Agent-based G-net Model Becomes one of the most important topics in distributed and autonomous decentralized systems. Multi-agent systems (MAS): autonomous, reactive and internally-motivated agents. However, the G-net model is not sufficient for agent modeling because: –Do not support a common communication language and common protocols among agents. –Do not support asynchronous message passing directly. –Be awkward to model agent’s mental state, such as goals, plans and knowledge.

10/18/01Computer Science Dept., UIC18 An Agent-based G-net Model

10/18/01Computer Science Dept., UIC19 A Template of Planner Module

10/18/01Computer Science Dept., UIC20 Definitions of the Message Token: mTkn struct Message{ int sender; // the identifier of the message sender int receiver; // the identifier of the message receiver string protocol_type; // the type of contract net protocol string name; // the name of incoming/outgoing messages string content; // the content of this message }; enum Tag {internal, external}; struct MtdInvocation { Triple (seq, sc, mtd); // as defined in Section 2.1 } if (mTkn.tag  {internal, external}) then mTkn.body = struct { Message msg; // message body } else mTkn.body = struct { Message msg; // message body Tag old_tag; // to record the old tag: internal/external MtdInvocation miv; // to trace method invocations }

10/18/01Computer Science Dept., UIC21 Formal Definitions of Agent-based G-net Model Definition 3.1 Agent-based G-net An agent-based G-net is a 7-tuple AG = (GSP, GL, PL, KB, EN, PN, IS), where GSP is a Generic Switch Place providing an abstract for the agent- based G-net, GL is a Goal module, PL is a Plan module, KB is a Knowledge-base module, EN is an Environment module, PN is a Planner module, and IS is an internal structure of AG. Definition 3.2 Planner Module A Planner module of an agent-based G-net AG is a colored sub-net defined as a 7-tuple (IGS, IGO, IPL, IKB, IEN, IIS, DMU), where IGS, IGO, IPL, IKB, IEN and IIS are interfaces with GSP, Goal module, Plan module, Knowledge-base module, Environment module and internal structure of AG, respectively. DMU is a set of decision-making unit, and it contains three abstract transitions: make_decision, sensor and update. Definition 3.3 Internal Structure (IS) An internal structure (IS) of an agent-based G-net AG is a triple (IM, OM, PU), where IM/OM is the incoming/outgoing message section, which defines a set of message processing units (MPU); and PU is the private utility section, which defines a set of methods. Definition 3.4 Message Processing Unit (MPU) A message processing unit (MPU) is a triple (P, T, A), where P is a set of places consisting of three special places: entry place, ISP and MSP. Each MPU has only one entry place and one MSP, but it may contain multiple ISPs. T is a set of transitions, and each transition can be associated with a set of guards. A is a set of arcs defined as: ((P-{MSP}) x T)  ((T x (P-{entry}). Definition 3.5 Method A method is a triple (P, T, A), where P is a set of places with three special places: entry place, ISP and return place. Each method has only one entry place and one return place, but it may contain multiple ISPs. T is a set of transitions, and each transition can be associated with a set of guards. A is a set of arcs defined as: ((P-{return}) x T)  ((T x (P-{entry}).

10/18/01Computer Science Dept., UIC22 Selling and Buying Agent Design

10/18/01Computer Science Dept., UIC23 Selling and Buying Agent Design (continue)

10/18/01Computer Science Dept., UIC24 Verifying Agent-based G-net Model  L3-live: any communicative act can be performed as many times as needed.  Concurrent: a number of conversations among agents can happen at the same time.  Effective: an agent communication protocol can be correctly traced in the agent models.

10/18/01Computer Science Dept., UIC25 Verifying Agent-based G-net Model (continue)

10/18/01Computer Science Dept., UIC26 Part 3: A Framework for Modeling Agent-Oriented Software Extend existing methodologies: –object-oriented (OO) methodologies –knowledge engineering (KE) methodologies Follow the first approach, and separate traditional object- oriented features and reasoning mechanism to enhance reuse. Show the useful role of inheritance in agent-oriented software design.

10/18/01Computer Science Dept., UIC27 Reuse of the Agent-based Model

10/18/01Computer Science Dept., UIC28 Redesign of the Planner Module Abstract transitions: represents abstract units of decision-making or mental-state-updating. Autonomous units: makes an agent autonomous and internally-motivated. Asynchronous Superclass switch Place (ASP): is used to forward a method call to a subagent of the agent itself.

10/18/01Computer Science Dept., UIC29 A Template for the Planner Module (initial design)

10/18/01Computer Science Dept., UIC30 Examples of Agent-Oriented Design (class hierarchy)

10/18/01Computer Science Dept., UIC31 Examples of Agent-Oriented Design (contract net protocol)

10/18/01Computer Science Dept., UIC32 Examples of Agent-Oriented Design (shopping agent class)

10/18/01Computer Science Dept., UIC33 Examples of Agent-Oriented Design (buying agent class)

10/18/01Computer Science Dept., UIC34 Part 4: Analysis of Agent-Oriented Models To help ensure a correct design that meets certain specifications. To meet certain requirements such as liveness, deadlock freeness and concurrency. Use Petri net tool: INA (Integrated Net Analyzer) –verifying structural properties –verifying behavioral properties –modeling checking (CTL formulas)

10/18/01Computer Science Dept., UIC35 A Transformed Model of One Buying Agent and Two Selling Agents

10/18/01Computer Science Dept., UIC36 Experiment Result -1 Computation of the reachability graph States generated: 8193 Arcs generated: Dead states: 484, 485,8189 Number of dead states found: 3 The net has dead reachable states. The net is not live. The net is not live and safe. The net is not reversible (resetable). The net is bounded. The net is safe. The following transitions are dead at the initial marking: 7, 9, 14, 15, 16, 17, 20, 27, 28, 32, 33 The net has dead transitions at the initial marking.

10/18/01Computer Science Dept., UIC37 Redesign of the Planner Module

10/18/01Computer Science Dept., UIC38 Experiment Result - 2 Computation of the reachability graph States generated: Arcs generated: The net has no dead reachable states. The net is bounded. The net is safe. The following transitions are dead at the initial marking: 7, 9, 14, 15, 16, 17, 20, 28 The net has dead transitions at the initial marking. Liveness test: Warning: Liveness analysis refers to the net where all dead transitions are ignored. The net is live, if dead transitions are ignored. The computed graph is strongly connected. The net is reversible (resetable).

10/18/01Computer Science Dept., UIC39 Property Verification by Using Modeling Checking  Concurrency EF(P5 &(P13 &(P22 &P28))) Result: The formula is TRUE  Mutual Exclusion EF(P27 &P30) V (P29 &P30)) Result: The formula is FALSE  Inheritance Mechanism (decision-making in subagent) AG(-P12 &(-P14 &-P15)) Result: The formula is TRUE  Inheritance Mechanism (ASP message forwarding I) A[(P26 VP34)B(P5 VP6)] Result: The formula is TRUE  Inheritance Mechanism (ASP message forwarding II) A[P26 BP5]VA[P34 BP6] Result: The formula is FALSE

10/18/01Computer Science Dept., UIC40 Part 5: Our Current Research Work Model intelligent mobile agents (IMA). –Introduce mobility into agent-oriented software model. –Provide a framework for intelligent mobile agent. Implement a model-based agent development prototype (Mad-Pro). –Use Jini middleware for agent communication. –Use the agent-oriented G-net model as guidelines for agent detailed design and implementation.

10/18/01Computer Science Dept., UIC41 Overview of Agent Design Architecture

10/18/01Computer Science Dept., UIC42 The Jini Community

10/18/01Computer Science Dept., UIC43 The Class Hierarchy of Agents in an Electronic Marketplace

10/18/01Computer Science Dept., UIC44 Agent Interface Design Figure 20. The agent interface for a buyer agent

10/18/01Computer Science Dept., UIC45 Part 6: Concluding Comments There is an increasing need to ensure that complex software systems being developed are robust, reliable and fit for purpose. Petri nets are an excellent formalism for formal specification because they tend to provide a visual, and thus easy to understand, model. Extending G-nets to support inheritance in agent- oriented design provides an effective way for modeling complex software systems.

10/18/01Computer Science Dept., UIC46 Future Work Provide a class library for agent design. Define the agent communication language (ACL) in electronic commerce. Design and implement a compiler to automatically translate agent communication protocols into MPUs and decision-making units. Develop a model-based agent development environment (MADE) for rapid agent design and implementation.

10/18/01Computer Science Dept., UIC47 References A. Perkusich and J. de Figueiredo, “G-nets: A Petri Net Based Approach for Logical and Timing Analysis of Complex Software Systems,” Journal of Systems and Software, 39(1): 39–59, N. R. Jennings, K. Sycara and M. Wooldridge, “A Roadmap of Agent Research and Development,” International Journal of Autonomous Agents and Multi-Agent Systems, 1(1): 7-38, H. Xu and S. M. Shatz, “An Agent-based Petri Net Model with Application to Seller/Buyer Design in Electronic Commerce,” Proceedings of the Fifth International Symposium on Autonomous Decentralized Systems (ISADS 2001), March 26-28, 2001, Dallas, Texas, USA, pp H. Xu and S. M. Shatz, “A Framework for Modeling Agent-Oriented Software,” Proceedings of the 21st International Conference on Distributed Computing Systems (ICDCS-21), April 16-19, 2001, Phoenix, Arizona, USA, pp D. Kinny, M. Georgeff, and A. Rao, “A Methodology and Modeling Technique for Systems of BDI Agents,” In W. Van de Velde and J. W. Perram, editors, Agents Breaking Away: Proceedings of the Seventh European Workshop on Modeling Autonomous Agents in a Multi-Agent World, (LNAI Volume 1038), pp , Springer- Verlag: Berlin, Germany, C. A. Iglesias, M. Garrijo, J. Centeno-González, “A Survey of Agent-Oriented Methodologies,” Proceedings of the Fifth International Workshop on Agent Theories, Architectures, and Language (ATAL-98), 1998, pp

10/18/01Computer Science Dept., UIC48 The End The copy of the slides for this lecture may be downloaded from