Design of Multi-Agent Systems Teacher Bart Verheij Student assistants Albert Hankel Elske van der Vaart Web site

Slides:



Advertisements
Similar presentations
ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
Advertisements

Ch 3 System Development Environment
UML Diagrams Jung Woo. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, business.
Internet of Things with Intel Edison Presentation Paul Guermonprez Intel Software
Pitfalls of Agent Projects Borrowed from Nick Jennings University of Southampton, UK.
Reseach in DistriNet (department of computer science, K.U.Leuven) General overview and focus on embedded systems task-force.
Adding Organizations and Roles as Primitives to the JADE Framework NORMAS’08 Normative Multi Agent Systems, Matteo Baldoni 1, Valerio Genovese 1, Roberto.
Introduction To System Analysis and Design
Developing MAS The GAIA Methodology A Brief Summary by António Castro and Prof. Eugénio Oliveira.
Agent Mediated Grid Services in e-Learning Chun Yan, Miao School of Computer Engineering Nanyang Technological University (NTU) Singapore April,
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
SIF8072 Distributed Artificial Intelligence and Intelligent Agents
Intelligent Agent Systems. Artificial Intelligence Systems that think like humans Systems that think rationally Systems that act like humans Systems that.
Design of Multi-Agent Systems Teacher Bart Verheij Student assistants Albert Hankel Elske van der Vaart Web site
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
© Copyright Eliyahu Brutman Programming Techniques Course.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Course Instructor: Aisha Azeem
Biointelligence Laboratory School of Computer Science and Engineering Seoul National University Cognitive Robots © 2014, SNU CSE Biointelligence Lab.,
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Introduction To System Analysis and design
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM]
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
1/19 Component Design On-demand Learning Series Software Engineering of Web Application - Principles of Good Component Design Hunan University, Software.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
Multi-Agent Systems University “Politehnica” of Bucarest Spring 2003 Adina Magda Florea
INTELLIGENT AUTOMATION INC. Extending Rational Rose to support MAS design in UML Intelligent Automation Inc. 2 Research Place, Suite 202 Rockville, MD.
TC Methodology Massimo Cossentino (Italian National Research Council) Radovan Cervenka (Whitestein Technologies)
An Introduction to Software Architecture
ArchiMate Authors : eSchoolink Group - ITNLU. Contents 1. What’s ArchiMate ? 2. Why ArchiMate ? 3. Main Benefits of ArchiMate 4. Layers of ArchiMate 5.
Agent-Oriented Software Engineering CSC532 Xiaomei Huang.
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
Software Agents: An Overview by Hyacinth S. Nwana and Designing Behaviors for Information Agents by Keith Decker, Anandeep Pannu, Katia Sycara and Mike.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Travis Steel. Objectives What is the Agent Paradigm? What is Agent-Oriented Design and how is it different than OO? When to apply AOD techniques? When.
Introduction To System Analysis and Design
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
NAVEEN AGENT BASED SOFTWARE DEVELOPMENT. WHAT IS AN AGENT? A computer system capable of flexible, autonomous (problem-solving) action, situated in dynamic,
The roots of innovation Future and Emerging Technologies (FET) Future and Emerging Technologies (FET) The roots of innovation Proactive initiative on:
1 Introduction to Software Engineering Lecture 1.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
Major Disciplines in Computer Science Ken Nguyen Department of Information Technology Clayton State University.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
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.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
A Quantitative Trust Model for Negotiating Agents A Quantitative Trust Model for Negotiating Agents Jamal Bentahar, John Jules Ch. Meyer Concordia University.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Chapter 2 Object-Oriented Paradigm Overview. Getting Acquainted with the Class Project Read the requirements specification carefully Make note of any.
Multiagent System Katia P. Sycara 일반대학원 GE 랩 성연식.
© 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.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
Software Agents & Agent-Based Systems Sverker Janson Intelligent Systems Laboratory Swedish Institute of Computer Science
The article collection PRIS F7 Fredrik Kilander. Content “On agent-based software engineering” Nick Jennings, 1999 “An agent-based approach for building.
EEL 5937 Mobile agents EEL 5937 Multi Agent Systems Lotzi Bölöni.
WELCOME TO OUR PRESENTATION UNIFIED MODELING LANGUAGE (UML)
UML Diagrams By Daniel Damaris Novarianto S..
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Introduction to Unified Modeling Language (UML)
UML Diagrams Jung Woo.
Textbook Engineering Web Applications by Sven Casteleyn et. al. Springer Note: (Electronic version is available online) These slides are designed.
Informatics 121 Software Design I
An Introduction to Software Architecture
Presentation transcript:

Design of Multi-Agent Systems Teacher Bart Verheij Student assistants Albert Hankel Elske van der Vaart Web site (Nestor contains a link)

Overview When is an agent-based solution appropriate? Agent-oriented analysis and design techniques Pitfalls of agent development Mobile agents Open issues

When is an agent-based solution appropriate?  When the environment is open, dynamic, uncertain, complex  When agents are a natural metaphor  When data, control or expertise are distributed  In case of legacy systems Legacy: technologically obsolete, but functionally essential software

Overview When is an agent-based solution appropriate? Agent-oriented analysis and design techniques Pitfalls of agent development Mobile agents Open issues

Agent-oriented analysis and design techniques Goal: - To assist in understanding a system - To assist in designing a system Techniques consist of models and guidelines Kinds: - Inspired by object-oriented development methodologies - Adapted from knowledge engineering or other techniques

AAII Methodology Australian AI Institute (1990s) Based on object-oriented methodologies Aimed at the construction of a set of models which define an agent system specification

AAII Methodology Models Agent model External model Internal model Interaction model Agent instance model Beliefs Desires Agent class model Intentions

Identify roles in the application domain and from there develop an agent class hierarchy Identify the responsibilities, the services needed and provided by each role and determine the goals of each service Determine plans that can be used to achieve goals and context conditions for the plans Determine the belief structure of the system, i.e., the information requirements for each plan and goal AAII Methodology

Gaia Gaia’s goal is to allow a systematical route from system requirements to a detailed design that can be implemented directly A system is analyzed as an organization, which is viewed as a collection of interrelated roles. A role is defined by its responsibilities, permissions, activities, and protocols. Responsibilities determine system functionality and can be divided in liveness and safety properties. Something good happens vs. nothing bad happens

Agent UML Based on the Unified Modelling Language (UML) for object-oriented modelling. The associated methodology is called Rational Unified Process Agent modifications:  Expression of concurrent interaction threads  Roles To allow that agents can play several roles

Desire Framework for the design and formal specification of compositional systems Specifies a graphical notation Support tools, such as a graphical editor

Cassiopeia Bottom-up: start with required behaviors Steps: - Identify elementary behaviors - Identify relationships between elementary behaviors - Identify organizational behaviors of the system, e.g., group formation

Agents in Z An agent specification framework Entities with attributes Objects: entities with capabilities Agents: objects with goals Autonomous agents: agents with motivations Emphasizes agents acting for one another instead of agents as rational systems

Agent-oriented analysis and design techniques Dominant technique: adapt object-oriented approaches Disadvantages: - Decomposition in objects at odds with decomposition in agents - Many aspects of agent systems are not allowed in object-oriented methodologies (By the way: where is the environment?)

Overview When is an agent-based solution appropriate? Agent-oriented analysis and design techniques Pitfalls of agent development Mobile agents Open issues

Pitfalls of agent development You oversell agents – Agents are not magic! – If you can’t do it with ordinary software, you probably can’t do it with agents You get religious – Agents are not a universal solution You don’t know why you want agents – Agents = new technology = lots of hype!

Pitfalls of agent development You want generic solutions to 1-off problems – Occurs in many software projects – Specific solution may be best You confuse prototypes with systems – Prototypes are easy, field tested production systems are hard You believe agents are a silver bullet – “Silver bullet”: an order of magnitude improvement in software development – Good reasons to believe that agents are useful way of tackling some problems, but these arguments are largely untested in practice

Pitfalls of agent development You forget it’s software – Developing any agent system is essentially experimentation. No tried and trusted techniques – Mundane software engineering (requirements analysis, specification, design, verification, testing) is forgotten You forget it’s distributed – Distributed systems = one of the most complex classes of computer system to design and implement – Typical multi-agent system will be more complex than a typical distributed system – Make use of DS expertise You don’t exploit concurrency – If you don’t exploit concurrency, why have an agent solution?

Pitfalls of agent development You want your own architecture – Great temptation to imagine you need your own – Driving forces behind this belief: ä “not designed here” mindset ä intellectual property – But architecture development takes years and has no clear payback You use too much AI – Temptation to focus on the AI aspects of the application – Fuelled by “feature envy”, where one reads about agents that have the ability to learn, plan, talk, sing, dance… You see agents everywhere – Don’t call your on-off switch an agent! – Agents for addition, subtraction,…

Pitfalls of agent development You use too many agents – More than 10 agents = big system – Large number of agents: ä emergent functionality ä chaotic behavior – Lessons: ä keep interactions to a minimum ä keep protocols simple You use too few agents – Fails software engineering test of cohesion: software modules have a single coherent function You want to implement your own infrastructure – By the time this is developed, project resources gone!

Pitfalls of agent development Your system is anarchic – Most agent systems require system-level engineering – For large systems, or for systems in which the society is supposed to act with some commonality of purpose, this is particularly true – Organization structure (even in the form of formal communication channels) is essential

Overview When is an agent-based solution appropriate? Agent-oriented analysis and design techniques Pitfalls of agent development Mobile agents Open issues

Mobile agents Mobile agents can transmit themselves

Mobile agents Why mobile agents? – Low-bandwidth networks (hand-held PDAs) – Efficient use of network resources Issues – Serialization (what is sent over the network? The agent program? Its data? Both? In what form?) – Hosting and remote execution – Security for hosts and agents – Heterogeneity of hosts

Telescript Commercial language-based environment for constructing multi-agent systems Aim: palm-tops Main concepts: places and agents

Telescript Tickets specify a journey: – The journey’s destination – The journey’s completion time Communication between agents: – Across a network – Meeting Agents have a permit and resources, such as ‘money’, lifetime, size

Telescript - Agents and places are executed by a Java-style virtual machine - Object-oriented language - Interpreted, not compiled - Two language levels: high (what programmers see)/low (for efficient execution) - Persistent: execution continues after switching a system off and on

Aglets Java-based mobile agents platform Some important methods of the Aglet class: - onCreation() - run() - dispatch() e.g., this.dispatch(new URL("atp://some.host.com/context1")); Agent Transfer Protocol Contexts are ‘hosts’ for agents

Overview When is an agent-based solution appropriate? Agent-oriented analysis and design techniques Pitfalls of agent development Mobile agents Open issues

 Relationship with other software paradigms  Specifically agent-oriented methodologies  Engineering for open systems  Engineering for scalability

Overview When is an agent-based solution appropriate? Agent-oriented analysis and design techniques Pitfalls of agent development Mobile agents Open issues

Student presentations Week 41 A. Glass and B.J. Grosz (2003). Socially Conscious Decision-Making. Mark Bastiaans P. Stone and M. Veloso (1998). Task decomposition and dynamic role assignment for real-time strategic teamwork. Eelke van Foeken C. Breazeal et al. (2004). Teaching and Working with Robots as a Collaboration. Anton Wijbenga J.M. Epstein and R. Axtell (1996). Growing Artificial Societies (Chapter 4 on trade). (Not available on the web.) Harmen Wassenaar