Pitfalls of Agent Projects Borrowed from Nick Jennings University of Southampton, UK.

Slides:



Advertisements
Similar presentations
2 Introduction A central issue in supporting interoperability is achieving type compatibility. Type compatibility allows (a) entities developed by various.
Advertisements

Software Tools Lecture 10: Software Tools Dr Valentina Plekhanova University of Sunderland, UK.
ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
Seyedehmehrnaz Mireslami, Mohammad Moshirpour, Behrouz H. Far Department of Electrical and Computer Engineering University of Calgary, Canada {smiresla,
Some questions o What are the appropriate control philosophies for Complex Manufacturing systems? Why????Holonic Manufacturing system o Is Object -Oriented.
SECOND MIDTERM REVIEW CS 580 Human Computer Interaction.
Supporting Business Decisions Expert Systems. Expert system definition Possible working definition of an expert system: –“A computer system with a knowledge.
Software Engineering Techniques for the Development of System of Systems Seminar of “Component Base Software Engineering” course By : Marzieh Khalouzadeh.
SIF8072 Distributed Artificial Intelligence and Intelligent Agents
April 15, 2005Department of Computer Science, BYU Agent-Oriented Software Engineering Muhammed Al-Muhammed Brigham Young University Supported in part by.
1 New Architectures Need New Languages A triumph of optimism over experience! Ian Watson 3 rd July 2009.
10-1 LECTURE 10: Methodologies An Introduction to MultiAgent Systems
Design of Multi-Agent Systems Teacher Bart Verheij Student assistants Albert Hankel Elske van der Vaart Web site
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 3: Basing Software Development on Reusable Technology.
Incorporating Computer Visualizations and Simulations into Your Teaching Marsha C. Lovett, Ph.D.
Semantic Web Technologies Lecture # 2 Faculty of Computer Science, IBA.
 1. Introduction  2. Development Life-Cycle  3. Current Component Technologies  4. Component Quality Assurance  5. Advantages and Disadvantages.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Lecture 18 Page 1 CS 111 Online Design Principles for Secure Systems Economy Complete mediation Open design Separation of privileges Least privilege Least.
Principles of User Centred Design Howell Istance.
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
1 Validation & Verification Chapter VALIDATION & VERIFICATION Very Difficult Very Important Conceptually distinct, but performed simultaneously.
Web Policy Zeitgeist Panel SWPW 2005 – Galway, Ireland Piero Bonatti, November 7th, 2005.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
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
Knowledge representation
Agent architectures Smarter software for astronomers Alasdair Allan University of Exeter, Exeter, U.K.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 1 Chapter 2 Computer-Based System Engineering As modified by Randy Smith.
Agent-Oriented Software Engineering CSC532 Xiaomei Huang.
Techniques for Analysis and Calibration of Multi- Agent Simulations Manuel Fehler Franziska Klügl Frank Puppe Universität Würzburg Lehrstuhl für Künstliche.
Artificial Intelligence: Prospects for the 21 st Century Henry Kautz Department of Computer Science University of Rochester.
February 20, AgentCities - Agents and Grids Prof Mark Baker ACET, University of Reading Tel:
Event Management & ITIL V3
Cohesive Design of Personalized Web Applications Presented by Yinghua Hu Schwabe, D. Mattos Guimaraes, R. Rossi, G. Pontificia Univ. Catolica do Rio de.
Chapter 1: Introduction Omar Meqdadi SE 2730 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
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:
Agent-Based Hybrid Intelligent Systems and Their Dynamic Reconfiguration Zili Zhang Faculty of Computer and Information Science Southwest University
The Systems Development Life Cycle
1 The Modular Structure of Complex Systems Presented by: SeyedMasoud Sadjadi and Wei Zhu David L. Parnas, Paul C. Clement, and David M. Weiss ICSE 1984.
2.1 DEFINE THE PROJECT STRATEGY The project is a vehicle for the execution of strategy both organization and individual. This implies that a high level.
44220: Database Design & Implementation Modelling the ‘Real’ World Ian Perry Room: C41C Ext.: 7287
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.
Multi-agent Systems in Medicine Štěpán Urban. Content  Introduction to Multi-agent Systems (MAS) What is an Agent? Architecture of Agent MAS Platforms.
Riga Technical University Department of System Theory and Design Usage of Multi-Agent Paradigm in Multi-Robot Systems Integration Assistant professor Egons.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Algorithmic, Game-theoretic and Logical Foundations
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Interoperable Information System of Systems for HTAP.
Course Overview  What is AI?  What are the Major Challenges?  What are the Main Techniques?  Where are we failing, and why?  Step back and look at.
SOFTWARE ENGINEERING. Objectives Have a basic understanding of the origins of Software development, in particular the problems faced in the Software Crisis.
Smart Home Technologies
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.
Of An Expert System.  Introduction  What is AI?  Intelligent in Human & Machine? What is Expert System? How are Expert System used? Elements of ES.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
Secure Software Development Security Operations Chapter 9 Rasool Jalili & M.S. Dousti Dept. of Computer Engineering Fall 2010.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
+ Informatics 122 Software Design II Lecture 13 Emily Navarro Duplication of course material for any commercial purpose without the explicit written permission.
Big Data Quality Panel Norman Paton University of Manchester.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Done by Fazlun Satya Saradhi. INTRODUCTION The main concept is to use different types of agent models which would help create a better dynamic and adaptive.
LECTURE 10: Methodologies
Software Engineering and Best Practices
Introduction Artificial Intelligent.
Coventry University, UK
Paul Scerri and Nancy Reed
Presentation transcript:

Pitfalls of Agent Projects Borrowed from Nick Jennings University of Southampton, UK

Pragmatics of Agent-Oriented Developments  Lots of (single and multi-) agent projects But pragmatics of agent-oriented development received little attention.  Here identify number of key pitfalls. political; management; conceptual; analysis and design; micro (agent) level; macro (society) level; Jennings and Wooldridge

You Oversell Agents  Agents are not magic If you can’t do it with ordinary software, probably can’t do it with agents. No evidence that any system developed using agent technology could not have been built using non-agent techniques.  Agents may make it easier to solve certain classes of problem but they do not make the impossible possible.  Agents are not AI by a back door. Agents have not solved all the problems that have dogged AI since its inception Political Pitfalls

Get Dogmatic about Agents  Agents used in wide range of applications, but they are not a universal solution. For many applications, conventional software paradigms (e.g., OO) are more appropriate. Given a problem for which an agent and a non-agent approach appear equally good, prefer non-agent solution!  Other form of dogma believing in your agent definition and shoe-horning solution to fit this

Management Pitfalls Don’t Know Why You Want Agents  Agents = new technology = lots of hype! “Agents will generate US$2.6 billion in revenue by the year 2000”  Managerial reaction: “we can get 10% of that”  Managers propose agent projects without having clear idea idea about what “having agents” will buy them.  No business plan for the project: pure research? technology vendor? solutions vendor?  Often, projects appear to be going well. (“We have agents!”) But no vision about where to go with them. understand your reasons for attempting agent development project, and what you expect to gain from it

Management Pitfalls Want Generic Solutions to 1-Off Problems  Devising a “generic” architecture/testbed, when really need a bespoke system. Re-use is difficult to attain unless development is undertaken for a close knit range of problems with similar characteristics.  General solutions are more difficult and more costly to develop often need extensive tailoring to target application

Conceptual Pitfalls Believe Agents = Silver Bullet  Holy grail of software engineering is a “silver bullet”: order of magnitude improvement in software development.  Many technologies promoted as silver bullet: COBOL automatic programming expert systems graphical programming  Agent technology is not a silver bullet. Good reasons to believe that agents are a useful way of tackling some problems. But these arguments largely untested in practice.

Conceptual Pitfalls Forget Agents are Software  Agent system development is essentially experimentation No tried and trusted techniques (at present)  Encourages developers to forget developing software Project plans focus on the agenty bits. Mundane software engineering (requirements analysis, specification, design, verification, testing) is forgotten.  Result a foregone conclusion: project flounders, not because agent problems, but because basic software engineering ignored. any principled software development technique is better than none.

Conceptual Pitfalls Forget Agents are Multi-Threaded Software  Multi-threaded software: one of most complex classes of computer system to design and implement. Significant background experience in distributed and concurrent computing areas  Multi-agent system tend to be multi-threaded both within and between agents need to recognise and plan for things such as:  synchronisation  mutual exclusion for shared resources  deadlock

Analysis and Design Pitfalls Don’t Ignore Related Technology  Percentage of system that is agent-specific is comparatively small. “intelligent agents are 99% computer science and 1% AI” (Etzioni,96)  Important conventional technologies and techniques are exploited wherever possible. Don’t reinvent the wheel.  CORBA  Database technology  Expert system shells

Analysis and Design Pitfalls Don’t Exploit Concurrency  One of most obvious features of a poor multi-agent design is that amount of concurrent problem solving is small. Serial processing in distributed system Only ever a single thread of control:  concurrency, one of the most important potential advantages of multi-agent solutions not exploited.

Analysis and Design Pitfalls You ignore legacy  When building systems using new technology, often an assumption that it is necessary to start from a “blank slate”. However in many cases, most important components of a software system will be legacy:  functionally essential, but technologically obsolete software components, which cannot readily be rebuilt.  When proposing a new software solution, essential to work with such components. They need to be incorporated into an agent layer.

Agent Level Pitfalls Want Your Own Architecture  Architecture: design for building agents. Many have been proposed over the years.  Great temptation to imagine you need your own “not designed here” mindset; intellectual property.  Problems: architecture development takes years; no clear payback.  Recommendation: buy one, take one off the shelf, or do without.

Agent Level Pitfalls Use Too Much AI  Temptation to focus on “intelligent” aspects of the application. an agent framework too overburdened with experimental AI techniques to be usable. fuelled by “feature envy”  Resist temptation to believe such features are essential in your system: build agents with a minimum of AI; success is obtained with such systems, progressively evolve them into richer systems.

Micro (Agent) Level Pitfalls No AI  Don’t call your on-off switch an agent!  Be realistic: find everyday distributed systems referred to as multi-agent systems. Web pages with any behind the scenes processing as “agents”.  Problems: lead to the term “agent” losing any meaning raises expectations of software recipients leads to cynicism on the part of software developers.

Macro (Society) Level Pitfalls See Agents Everywhere  “Pure” A-O system = everything is an agent! agents for addition, subtraction,…  Naively viewing everything as an agent is inappropriate. choose the right grain size. more than 10 agents = big system.

Macro (Society) Level Pitfalls Too Few Agents  While some designers imagine a separate agent for every possible task. Others don’t recognise value of a multi-agent approach at all. Create system with very small number of agents doing all the work  fails software engineering test of coherence.  result is like OO program with 1 class.

Macro (Society) Level Pitfalls Implementing Infrastructure  Presently, no widely-used software platforms for developing agents Such platforms provide basic infrastructure required to create a multi-agent system. The result: everyone builds their own.  By the time this is developed, project resources gone!  No effort devoted to agent-specifics.

Macro (Society) Level Pitfalls Agents Interact too Freely  Numerous systems interacting with one another can generate behaviour more complex than sum of parts good: exploit this emergent functionality to provide simple, robust cooperative behaviour bad: emergent behaviour akin to chaos  restrict way agents interact  simplest possible protocol for achieving set objective

Macro (Society) Level Pitfalls System Lacks Structure  Common misconception is that agent systems require no real structuring throw together agents and see what happens!  While this may be true in some cases, in majority of situations, considerable amount of system-level engineering takes place especially for large scale systems or where need some commonality of purpose structure helps:  reduce system’s complexity  increase efficiency  more accurately model problem at hand

Conclusions  Agent technology is immature and largely untested. Agent system developers often fall into the same traps. Described what we perceive to be most common and most serious of these pitfalls. Thereby shift attention to pragmatics of agent system engineering.

Further Reading  N. R. Jennings, P. Faratin, A. R. Lomuscio, S. Parsons, C. Sierra and M. Wooldridge (2001) “Automated negotiation: prospects, methods and challenges” Int. J. of Group Decision and Negotiation 10 (2).  F. Zambonelli, N. R. Jennings, and M. Wooldridge (2001) "Organisational rules as an abstraction for the analysis and design of multi-agent systems" Int J. of Software Engineering and Knowledge Engineering.  N. R. Jennings, P. Faratin, T. J. Norman, P. O'Brien and B. Odgers (2000) “Autonomous agents for business process management” Int. Journal of Applied Artificial Intelligence 14 (2)  N. R. Jennings, P. Faratin, T. J. Norman, P. O'Brien, B. Odgers and J. L. Alty (2000) “Implementing a business process management system using ADEPT: A Real-World Case Study” Int. Journal of Applied AI 14 (5)  N. Vulkan and N. R. Jennings (2000) “Efficient mechanisms for the supply of services in multi-agent environments” Int Journal of Decision Support Systems 28(1-2)  M. Wooldridge, N. R. Jennings, and D. Kinny (2000) “The Gaia methodology for agent-oriented analysis and design” Journal of Autonomous Agents and Multi-Agent Systems 3 (3)  M. J. Wooldridge and N. R. Jennings, (1999) “Software engineering with agents: pitfalls and pratfalls” IEEE Internet Computing 3 (3)