Twenty Years of Engineering MAS. The shaping of the agent-oriented mindset

Similar documents
Methodology for Agent-Oriented Software

Computational Logic and Agents Miniscuola WOA 2009

A future for agent programming?

Meta-models, Environment and Layers: Agent-Oriented Engineering of Complex Systems

AOSE Agent-Oriented Software Engineering: A Review and Application Example TNE 2009/2010. António Castro

AGENTS AND AGREEMENT TECHNOLOGIES: THE NEXT GENERATION OF DISTRIBUTED SYSTEMS

A review of Reasoning About Rational Agents by Michael Wooldridge, MIT Press Gordon Beavers and Henry Hexmoor

School of Computing, National University of Singapore 3 Science Drive 2, Singapore ABSTRACT

SOFTWARE AGENTS IN HANDLING ABNORMAL SITUATIONS IN INDUSTRIAL PLANTS

BDI: Applications and Architectures

SENG609.22: Agent-Based Software Engineering Assignment. Agent-Oriented Engineering Survey

Multi-Agent Systems in Distributed Communication Environments

AOSE Technical Forum Group

Catholijn M. Jonker and Jan Treur Vrije Universiteit Amsterdam, Department of Artificial Intelligence, Amsterdam, The Netherlands

Agent-Based Systems. Agent-Based Systems. Agent-Based Systems. Five pervasive trends in computing history. Agent-Based Systems. Agent-Based Systems

An introduction to Agent-Oriented Software Engineering

COMP310 Multi-Agent Systems Chapter 3 - Deductive Reasoning Agents. Dr Terry R. Payne Department of Computer Science

A Concise Overview of Software Agent Research, Modeling, and Development

IBM Rational Software

Co-evolution of agent-oriented conceptual models and CASO agent programs

On the use of the Goal-Oriented Paradigm for System Design and Law Compliance Reasoning

MYWORLD: AN AGENT-ORIENTED TESTBED FOR DISTRIBUTED ARTIFICIAL INTELLIGENCE

Where are we? Knowledge Engineering Semester 2, Speech Act Theory. Categories of Agent Interaction

ENHANCED HUMAN-AGENT INTERACTION: AUGMENTING INTERACTION MODELS WITH EMBODIED AGENTS BY SERAFIN BENTO. MASTER OF SCIENCE in INFORMATION SYSTEMS

Agent-based Computing and Programming of Agent Systems

Agents in the Real World Agents and Knowledge Representation and Reasoning

CHAPTER 1: INTRODUCTION. Multiagent Systems mjw/pubs/imas/

An Introduction to Agent-based

Structural Analysis of Agent Oriented Methodologies

Introduction: What are the agents?

Software-Intensive Systems Producibility

Pervasive Services Engineering for SOAs

Agreement Technologies Action IC0801

Software Agent Reusability Mechanism at Application Level

Analysis of Agent-Oriented Software Engineering

MULTI-AGENT BASED SOFTWARE ENGINEERING MODELS: A REVIEW

Agent Oriented Software Engineering

CPE/CSC 580: Intelligent Agents

Component Based Mechatronics Modelling Methodology

SOFTWARE ARCHITECTURE

We are IntechOpen, the world s leading publisher of Open Access books Built by scientists, for scientists. International authors and editors

Agent-Oriented Software Engineering

ACTIVE, A PLATFORM FOR BUILDING INTELLIGENT OPERATING ROOMS

Using Agent-Based Methodologies in Healthcare Information Systems

Introduction to Autonomous Agents and Multi-Agent Systems Lecture 1

A Model-Theoretic Approach to the Verification of Situated Reasoning Systems

in the New Zealand Curriculum

Creating Artificial Societies Francisco Grimaldo Moreno Department of Computer Science University of Valencia (Spain)

Assessment of Smart Machines and Manufacturing Competence Centre (SMACC) Scientific Advisory Board Site Visit April 2018.

Mobile Tourist Guide Services with Software Agents

The Nature of Informatics

FORMAL MODELING AND VERIFICATION OF MULTI-AGENTS SYSTEM USING WELL- FORMED NETS

We are IntechOpen, the world s leading publisher of Open Access books Built by scientists, for scientists. International authors and editors

Towards an MDA-based development methodology 1

Autonomous Robotic (Cyber) Weapons?

An Ontology for Modelling Security: The Tropos Approach

CHAPTER 1: INTRODUCTION TO SOFTWARE ENGINEERING DESIGN

Development of an Intelligent Agent based Manufacturing System

A Roadmap of Agent Research and Development

Map of Human Computer Interaction. Overview: Map of Human Computer Interaction

An Unreal Based Platform for Developing Intelligent Virtual Agents

Negotiation Process Modelling in Virtual Environment for Enterprise Management

Knowledge Brokerage for Sustainable Development

Two Perspectives on Logic

Framework Programme 7

Master Artificial Intelligence

value in developing technologies that work with it. In Guerra s work (Guerra,

CSC384 Intro to Artificial Intelligence* *The following slides are based on Fahiem Bacchus course lecture notes.

Context Sensitive Interactive Systems Design: A Framework for Representation of contexts

Multi-Agent Negotiation: Logical Foundations and Computational Complexity

Artificial Intelligence

A Unified Model for Physical and Social Environments

William Milam Ford Motor Co

Dr. Gerhard Weiss, SCCH GmbH, Austria Dr. Lars Braubach, University of Hamburg, Germany Dr. Paolo Giorgini, University of Trento, Italy. Abstract...

Agents for Serious gaming: Challenges and Opportunities

Outline. What is AI? A brief history of AI State of the art

ENGINEERING SERVICE-ORIENTED ROBOTIC SYSTEMS

MSc(CompSc) List of courses offered in

Software Agent Technology. Introduction to Technology. Introduction to Technology. Introduction to Technology. What is an Agent?

Towards a multi-view point safety contract Alejandra Ruiz 1, Tim Kelly 2, Huascar Espinoza 1

Introduction to the Course

Designing 3D Virtual Worlds as a Society of Agents

BI TRENDS FOR Data De-silofication: The Secret to Success in the Analytics Economy

Dynamic Designs of 3D Virtual Worlds Using Generative Design Agents

A Modeling Method to Develop Goal Oriented Adaptive Agents in Modeling and Simulation for Smart Grids

Overview Agents, environments, typical components

FP7 ICT Call 6: Cognitive Systems and Robotics

Agent Oriented Software Engineering

Interacting Agent Based Systems

Autonomous and Autonomic Systems: With Applications to NASA Intelligent Spacecraft Operations and Exploration Systems

AI for Autonomous Ships Challenges in Design and Validation

Principles of Compositional Multi-Agent System Development

ARTEMIS The Embedded Systems European Technology Platform

Cognitive Robotics. Behavior Control. Hans-Dieter Burkhard June 2014

STEPMAN Newsletter. Introduction

TOWARDS AN ARCHITECTURE FOR ENERGY MANAGEMENT INFORMATION SYSTEMS AND SUSTAINABLE AIRPORTS

SDN Architecture 1.0 Overview. November, 2014

Introduction to Multi-Agent Systems. Michal Pechoucek & Branislav Bošanský AE4M36MAS Autumn Lect. 1

Using Dynamic Capability Evaluation to Organize a Team of Cooperative, Autonomous Robots

Globalizing Modeling Languages

Transcription:

The shaping of the agent-oriented mindset Delft University of Technology, The Netherlands 6-5-2014

Overview From Rational BDI Agents to From Gaia to From AGENT-0 to From jedit to Eclipse Some application areas Vision and Research Agenda

AOSE CfP 2000 What is the agent-oriented mindset? In your view, what are the key concepts in the agent-oriented mindset? If you had to identify just one, then what would it be and why? The audience at EMAS mentioned: autonomy environment rational robustness goal-directedness decentralization interaction Intentional stance social reactive/events

ATAL and DALT From Rational BDI Agents to

BDI Agents Arguably, most research on BDI agents is influenced by Rao and Georgeff s 1991 paper about BDI Logic: Modeling Rational Agents within a BDI-Architecture 2007 Winner of IFAAMAS Influential Paper Award

BDI Logic Key notions introduced in BDI logic: Events, beliefs, goals, and intentions Goals must be compatible with beliefs Intention must be compatible with goals Agents do not procrastinate wrt their intentions Blind, single- & open-minded commitment strategies

BDI Agent Architecture (PRS) Another influential paper of Rao from 1996: AgentSpeak(L): BDI Agents Speak Out in a Logical Computable Language

ATAL 1994-2001 Agents are autonomous computer programs, capable of independent action in environments that are typically dynamic and unpredictable. ATAL = Agents, Theories, Architectures, and Languages

ATAL: The Foundational Era Mental states and mental attributes are one ("the"?) essential of AOP Stan Franklin, Art Graesser, 1997, Is It an agent, or just a program?: A taxonomy for autonomous agents, in: Intelligent Agents III

ATAL CfP Topics Theories of intelligent agents: How do the various components of an agent's cognitive makeup conspire to produce rational behaviour? Architectures for intelligent agents: What structure should an artificial intelligent agent have? intentions time, desires, beliefs, goals situated automata logical models of agents executing agent specs (bounded) rationality deliberative architectures reactive architectures hybrid architectures Languages for intelligent agents: What are the right primitives for programming an intelligent agent? agent spec languages agent-oriented paradigm non-logical agent languages agent-based computing

Key ATAL Results: Architectures Layered architectures, e.g., InteRRaP agent model: dmars architecture (MAS extension of PRS) Early work on coordination & organizations

Key ATAL Results: Languages The landscape of agent frameworks presented and introduced @ATAL. Includes operational agent languages and logical models. Space of Agents Operational dmars PRS AgentSpeak InteRRap JADE TEAMCORE 3APL GOAL BRP ConGolog Logical BDI Logic Intention Logic KARO CASL In a sense this landscape defines a space of agents that can be created (and thus a corresponding mindset).

Key ATAL Results Methodologies: MaSE, first version agenttool Early work with main focus on the analysis and design phase. Concepts introduced: Role & Conversation

DALT 2003-2012 Agent metaphors and technologies are increasingly adopted to harness and govern the complexity of today s systems. The growing complexity of agent systems calls for models and technologies that promote system predictability and enable feature discovery and verification. DALT = Declarative Agent Languages and Technologies

DALT CfP Topics Declarative agent communication & coordination languages Knowledge-based and knowledge-intensive MAS Modeling of agent rationality Declarative approaches to the engineering of MAS High level agent specification languages Formal methods for the specification and verification of MAS Computational logics in MAS Argumentation and dialectical systems in MAS Declarative paradigms for combining heterogeneous agents Declarative representation of policies and security in MAS Models of social interaction,trust,commitments & reputation Game theory and mechanism design for multi-agent systems

Key DALT Results: Languages Languages Go! Ordered Choice Logic Programming Dynamic Logic Programming (goal modelling) Answer Set Programming JASDL: Combining Agent and Semantic Web Technologies (Jason extension) Logics and Logical Models Logic for ignorance; for expectation & observation

Key DALT Results: BDI Extensions Cooperative BDI models, e.g., Coo-BDI. Beliefs: Resource-Bounded Belief Revision & Contraction Declarative goals: Dynamics of goals, Maintenance goals, Preferences, goal generation, goal change, goal interactions Norms, Organizations, Electronic Institutions: Norm-aware architecture Specifying and Enforcing Norms in Artificial Institutions Social Norm Emergence in Virtual Agent Societies

Goal Life Cycle: Three Models 1 This work differentiates: query, achieve, maintain, and perform goals.

Goal Life Cycle: Three Models 2 This work differentiates Perform, Achievement, Maintain goals; T = drop/abort/succeed/fail

Goal Life Cycle: Three Models 3 This work differentiates: query, achieve, maintain, and perform goals.

Key DALT Results: Interaction Models for verification of agent dialogues Compliance of agent interactions Social commitments Commitment-Based Protocols

AOSE From Gaia to

The Gaia Methodology

AOSE 2000-2012 An agent is an autonomous system, capable of interacting with other agents in order to satisfy its design objectives. AOSE = Agent-Oriented Software Engineering

AOSE CfP Topics Methodologies for agent-oriented analysis and design Formal methods for agent-oriented systems specification, verification and validation Computer-Aided SE (CASE) tools for AOSE Standardization efforts for multi-agent systems Engineering large-scale agent systems Practical coordination and cooperation frameworks for agent systems and engineering MAS organizations How can legacy software architectures be integrated with agent- or multi-agent-oriented applications? Autonomy vs. dependability and robustness Goal-oriented design Qualities and trade-offs of agent-based architectures

Key AOSE Results Methodologies INGENIAS, MASDK, O-MaSE, PASSI, Prometheus, SODA, Tropos Agent-Based Design patterns Interaction Protocols

Key AOSE Results: Methodologies Graphical notation and diagrams for specifying design Many variations and extensions of UML notation (AUML) Tropos Prometheus agent acquaintance diagram Check out covers of AOSE Proceedings.

Key AOSE Results: Methodologies Design processes (phases in development life cycle): Requirements Analysis Design (Architectural & Detailed) Implementation Testing Conceptual (meta-)models: capabilities, (soft) goals, plans, roles, interaction protocols, mission,

Key AOSE Results: Design Organization Centred Design (or OC-MAS) AGR (Agent/Group/Role): Organizations provide normative specifications on behavior Make no assumptions about cognitive capabilities of agents Group is organizational unit in which members interact freely Other organizational meta-models: MOISE+, TEAMS, ISLANDER, OperA

Support for Testing Phase SUNIT: A Unit Testing Framework for Test Driven Development of Multi-Agent Systems Tropos testing framework including a testing process model for goal-oriented testing Unit testing of plan based agent systems, with a focus on automated generation and execution of test cases

ProMAS From AGENT-0 to

Shoham s AOP Research Agenda In order to differentiate AOP from OOP it is perhaps useful, to go back to the roots of the AOP paradigm to identify its main components. An agent is an entity whose state is viewed as consisting of mental components such as beliefs, capabilities, choices, and commitments. These components are defined in a precise fashion, and stand in rough correspondence to their common sense counterparts. a precise theory regarding the particular mental category: the theory must have clear semantics ("No Notation without Denotation"), and should correspond to the commonsense use of the term; a demonstration that the component of the machine obeys the theory; a demonstration that the formal theory plays a nontrivial role in analyzing or designing the machine (or, to coin a new phrase, "No Notation without Exploitation"). From: Shoham, 1993, Agent-Oriented Programming, Artificial Intelligence Main Components of AOP Defining Component: AOP is derived from and/or based on common sense & mental states Semantic Component: AOP should be welldefined by means of a precise semantics Pragmatic Component: AOP should be useful for programming (particular) systems

ProMAS 2003-2012 The success of agent oriented system design can only be guaranteed if we can bridge the gap between analysis and design and implementation. This, in turn, requires the development of fully fledged and general purpose programming technology so that the concepts and techniques of MAS can be easily and directly implemented.

ProMAS 2009 The ProMAS workshop series aims at promoting and contributing to the establishment of multi-agent systems as a mainstream approach to the development of industrial-strength software.

ProMAS CfP Topics Agent programming languages Extensions of traditional languages for MAS programming Programming mobile agents Algorithms, techniques, or protocols relevant to multi-agent programming (e.g., coordination, cooperation, negotiation) Agent communication issues in multi-agent programming Programming social, organizational & normative aspects Interoperability and standards for MAS Formal methods and tools for specification & verification Applications of multi-agent programming languages (incl. legacy) Benchmarks and testbeds for comparing MAS programming languages and tools Generic tools and infrastructures for multi-agent programming

Key ProMAS Results: Languages Programming Languages JACK (BDI extension of Java) CLAIM (Support for Mobile agents) AF-APL (Agent Factory) Jadex (BDI agents on top of JADE) METATEM (Executing Temporal Logic) JIAC (Java Intelligent Agent Componentware) Jazzyk (Support for heterogeneous KR) JaCaMo (Jason + CArtAgO + Moise)

How are these APLs related? A comparison from a high-level, conceptual point, not taking into account any practical aspects (IDE, available docs, speed, applications, etc) Basic concepts: beliefs, action, plans, goals-to-do AGENT-0 1 (PLACA ) AgentSpeak(L), Jason 2 Golog = 3APL 3 Families of Languages Main addition: Declarative goals 2APL 3APL + GOAL Java-based Cognitive Agent Languages AF-APL, JACK (commercial), Jadex, Jazzyk Logic Programming METATEM Mobile Agents CLAIM 1 mainly interesting from a historical point of view 2 from a conceptual point of view, we identify AgentSpeak(L) and Jason 3 without practical reasoning rules

Key ProMAS Results: Extensions Programming Constructs: Goals & Modules Capability for Agent Modularization (Jadex) Declarative goals (goal-directed 3APL) Modules (GOAL) Modularity and Compositionality (Jason) Capabilities: Planning, Learning, Organizing Planning (Jadex) Organisations (2OPL) Reinforcement Learning (GOAL)

An Agent is a Set of Modules Built-in modules: init module: Define global knowledge Define initial beliefs & goals Process send once percepts Specify environment actions main module Action selection strategy event module Process percepts Process messages Goal management User-defined modules. init module{ knowledge{ } beliefs{ %%% INITIAL BELIEFS ONLY IN INIT MODULE %%% } goals{ } program{ %%% PROCESS SEND ONCE PERCEPTS HERE %%% } actionspec{ %%% SPECIFY ENVIRONMENT ACTIONS HERE %%% } } main module{ % OPTIONAL knowledge section % NO beliefs section HERE! % OPTIONAL goal section (not advised in main ) program{ %%% ENVIRONMENT ACTION SELECTION HERE %%% } } event module{ program{ %%% PROCESS PERCEPTS HERE %%% %%% PROCESS MESSAGES HERE %%% %%% PERFORM GOAL MANAGEMENT HERE %%% } }

Key ProMAS Results: Environment Environment Modelling Artifacts: building blocks for environment modelling - Environment Interface Standard - PRESAGE: Simulation of Agent Societies MAPC Agent Contest Competition 2005-2007: Gold Miners (??, Jason, JIAC) - 2008-2010: Cow Herders (JIAC, JIAC, JIAC) - 2011-2013: Mars Explorers (GOAL, Jason, Jason)

Design of a Generic Environment Interface

From jedit to Eclipse

Key ProMAS Results: Tooling Development Tools & Techniques DECAF, an MAS development toolkit Tracer Tool for debugging agents Debugging in AFAPL AIL Agent Infrastructure Layer Toolipse: JIAC development tool in Eclipse MDL: Debugging using LTL (3APL) Model Checking Agent Programs (GOAL)

A Tooling Perspective on Agents Infrastructurally, developing and running an agent requires of a set of components Editor/ Parser Reasoner (KRT) Interpreter Agent (MAS) Verifier (e.g., MC) Environment Debugger Middleware

Cognitive Agent Debugging Tool Should provide support for three key stages 1 Which events happened? How were they processed? 2 Which decision made? Why action/plan selected? 3 Which action performed? What changed as result?

Toolipse 2 (JIAC; editor) Navigator Outline Agent World Editor JADLEdit Editor JADLEdit Browser SeMA 2 Semantic Service Matching

Jadex Control Center (Debug) Navigator Breakpoints Views: BDI Viewer Agent Inspector Rule Engine

Agent Architecture and Cycle percept Agent Process percepts percept rules Action selection action specification Cycle Process percepts & messages (= apply percept rules) knowledge beliefs goals action rules / program Select action (= apply action rules) action Perform action (= send to environment) Environment Update mental state (= apply action specs + commitment strategy)

Jason Eclipse Plugin Editor Outline Navigator MAS Console (running, debugging)

2APL Debug Perspective Navigator Many views on agent components and state

GOAL S Eclipse Debug Perspective Agent processes overview (threads) & breakpoints tab Mental state introspector Code stepping Rule evaluator Output console Interactive console

Empirical Work Some empirical work (controlled studies with subjects) reported, e.g.: Evaluation of a Conversation Management Toolkit for Multi Agent Programming

Engineering MAS (EMAS) AOSE DALT Design Models EMAS Engineering MAS Reasoning Testing Languages Programming ProMAS

Vision

Increasing Demand for AI McKinsey: by 2025, machines will be able to learn, adjust, exercise judgment, and reprogram themselves Users expect a more personalized interaction with their devices and machines

The Next Generation AI Engineers will need to develop complex intelligent and autonomous decision-making systems apply complex AI techniques: automated reasoning machine learning automated planning

The Next Generation AI Engineers AI is going to make life easier for us. only if we make life easier for AI engineers.

Dagstuhl 2012 Roadmap Challenge Areas BDI+ Agents Coordination & Organization Tooling & Benchmarks Agent technology & legacy Component-based agents Key Issues How can we quantify benefits of agent technology? What is added value of agent technology? What are needs and issues faced by agent developers.

Rational BDI Cognitive Agent Let s stop talking about BDI agents and let s start talking only about Cognitive Agents Why? To increase adoption of our technology: No need anymore to explain what BDI stands for BDI agents carry too much an association of complex logic and rationality.

Engineering Intelligent Agents Make it easy for programmers to unleash the power of AI techniques. Why? We need more sophisticated agents to delegate decision-making and control to. Cf. also intro of Nick Jennings, AOSE 1999: Agents are also being used as an overarching framework for bringing together the component AI sub-disciplines that are necessary to design and build intelligent entities. Already proposals for planning, learning, and emotions.

Combining AOP and Planning GOAL Knowledge Beliefs Goals Program Section Action Specification Planning Axioms (Initial) state Goal description x Plan operators

Engineering Distributed MAS Demonstrate that agent-orientation can solve key concurrency and distributed computing issues Why? Show relevance of our computing paradigm to mainstream computing science. Intro Nick Jennings AOSE 1999: Agents are being advocated as the next generation model for engineering complex, distributed systems.

Methodologies & Languages More effort needed to connect methodologies to agent programming languages. Why? To stimulate adoption of our technology, we need to provide the complete package. Complete evaluation of methodologies cannot be done without considering target platform. Integration of the (slightly different) conceptual models of methodologies and APLs.

Software Engineering Issues Address Concrete Agent-Oriented Software Engineering Issues Why? Still many open issues: Little has been done so far into transforming autonomy into a practical software property Re-use agents, MAS,? Open Agent Systems???

Mature Tooling Support Mature tooling for agent development Why? Tools should comply with current standards and provide ease of use to increase adoption. Complexity of the basic cycle of many agents is issue: not clear how to best present to user. Sophisticated debugging & testing tools!

Standardising EMAS Standard interfaces for cognitive agents Why? Facilitates easy exchange between platforms. Facilitates component-based approach to engineering MAS. Towards plugin Architecture? Objectives of AOSE, ProMAS, and DALT

Performance & Scalability Need high-performing cognitive agents Why? Performance issues are barrier to adoption Develop efficient agent tools and interpreters that scale in practice. We need scalable systems (within reason) for, e.g., agent-based simulation.

Java- or Logic-Based Agents Logic-based agents are simpler Why? Prefer simplicity and elegance. Cycles and components of logic-based agent languages are fewer and simpler and therefore easier to understand by programmer. Java-based frameworks do not clearly demonstrate the power of the AOP paradigm: was it Java or the cognitive agent that made the difference?

Education is the first step Teach the agent-oriented mind-set Why? We need to train people to know how to apply our technology to ensure adoption. Facilitate use of agent-oriented paradigm: Created and make available assignments and teaching materials Make tutorial materials widely available.

Multi-Agent Systems Project Course Multi-Agent Systems: Learn to program a multi-agent system Project Multi-Agent Systems: CTF Competition in UT2004 Develop logic-based agents programs: Apply reasoning technology (Prolog) Write agent programs (GOAL) Hands-on experience by various programming assignments. Control a team of bots by means of a multi-agent system. Compete at the end of the project. Create fun assignments and projects! (UT3, competition)

Concluding Summary Let s talk about Cognitive Agents from now on Easy access to powerful AI techniques Demonstrate AOP solves concurrency issues Integrate methodologies and APLs Address Concrete AOSE Issues Standard interfaces for cognitive agents Mature tooling for agent development Need high-performing cognitive agents Logic-based agents are simpler Teach the agent-oriented mindset