Agents, Mobility, Ubiquity & Virtuality Gregory O’Hare Department of Computer Science, University College Dublin Belief & Commitment Management within.

Slides:



Advertisements
Similar presentations
Agent-Oriented & Distributed Software Systems Dr Rem Collier
Advertisements

The following 10 questions test your knowledge of desired configuration management in Configuration Manager Configuration Manager Desired Configuration.
Reliable Scripting Using Push Logic Push Logic David Greaves, Daniel Gordon University of Cambridge Computer Laboratory Reliable Scripting.
Configuration Management
Chapter 16: Multiagent Systems Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
1 Information Systems Development (ISD) Systems Development Life Cycle Overview of Analysis Phase Overview of Design Phase CP2236: Information Systems.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Dr Rem Collier Department of Computer Science University College Dublin Agent Factory A Software Engineering Framework for Intelligent.
ISBN Chapter 3 Describing Syntax and Semantics.
This material is based upon work supported by Science Foundation Ireland under Grant No. 03/IN3/1361 UNIVERSITY COLLEGE DUBLIN DUBLIN CITY UNIVERSITY The.
Lecture 5 Themes in this session Building and managing the data warehouse Data extraction and transformation Technical issues.
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering CSCE 330 Programming Language Structures Ch.2: Syntax and Semantics Fall 2005.
ACCESS: An Agent Architecture for Ubiquitous Service Delivery Agents Channelling ContExt Sensitive Services C. Muldoon, G.M.P. O’Hare, D. Phelan, R. Strahan,
Adding Organizations and Roles as Primitives to the JADE Framework NORMAS’08 Normative Multi Agent Systems, Matteo Baldoni 1, Valerio Genovese 1, Roberto.
Beyond Prototyping in the Factory of Agents Rem Collier, Gregory O’Hare, Terry Lowen, Colm Rooney PRISM Laboratory, Department of Computer Science, University.
Database Systems: A Practical Approach to Design, Implementation and Management International Computer Science S. Carolyn Begg, Thomas Connolly Lecture.
Proof System HY-566. Proof layer Next layer of SW is logic and proof layers. – allow the user to state any logical principles, – computer can to infer.
The Multi-Agent System IDE : What it Should and Should not Support Gregory O’Hare, Department of Computer Science, University College Dublin.
Karlstad University Computer Science Design Contracts and Error Management Design Contracts and Errors A Software Development Strategy (anpassad för PUMA)
Copyright © 2006 The McGraw-Hill Companies, Inc. Programming Languages 2nd edition Tucker and Noonan Chapter 18 Program Correctness To treat programming.
Agent Factory Micro Edition: A Framework for Ambient Applications C. Muldoon, G.M.P. O’ Hare, R.W. Collier, M.J. O’ Grady School of.
Describing Syntax and Semantics
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
DISTRIBUTED PROCESS IMPLEMENTAION BHAVIN KANSARA.
Installing software on personal computer
System Design/Implementation and Support for Build 2 PDS Management Council Face-to-Face Mountain View, CA Nov 30 - Dec 1, 2011 Sean Hardman.
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
Software Development Concepts ITEC Software Development Software Development refers to all that is involved between the conception of the desired.
Introduction to Jadex programming Reza Saeedi
Agent Factory : A Prototyping Environment for Agents Gregory O’Hare CS 4019 Multi-Agent Systems Lecture Material, University College Dublin.
Programming Languages and Paradigms Object-Oriented Programming.
Servlets Environment Setup. Agenda:  Setting up Java Development Kit  Setting up Web Server: Tomcat  Setting up CLASSPATH.
Comp 249 Programming Methodology Chapter 8 - Polymorphism Dr. Aiman Hanna Department of Computer Science & Software Engineering Concordia University, Montreal,
MT311 Java Application Development and Programming Languages Li Tak Sing( 李德成 )
2APL A Practical Agent Programming Language March 6, 2007 Cathy Yen.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
ITEC224 Database Programming
CSC3315 (Spring 2009)1 CSC 3315 Programming Languages Hamid Harroud School of Science and Engineering, Akhawayn University
Managing a Cloud For Multi Agent System By, Pruthvi Pydimarri, Jaya Chandra Kumar Batchu.
Database Management System Module 5 DeSiaMorewww.desiamore.com/ifm1.
Configuration Management (CM)
Chapter 5.4 DISTRIBUTED PROCESS IMPLEMENTAION Prepared by: Karthik V Puttaparthi
UML based expert system generation Using Enterprise Architect to model and generate a web-based expert system.
1cs Intersection of Concurrent Accesses A fundamental property of Web sites: Concurrent accesses by multiple users Concurrent accesses intersect.
Ayestarán SergioA Formal Model for CPS1 A Formal Model for Cooperative Problem Solving Based on: Formalizing the Cooperative Problem Solving Process [Michael.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
EEL 5937 Agent models. EEL 5937 Multi Agent Systems Lecture 4, Jan 16, 2003 Lotzi Bölöni.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Week 14 Introduction to Computer Science and Object-Oriented Programming COMP 111 George Basham.
12/9/20151 Programming Languages and Compilers (CS 421) Elsa L Gunter 2112 SC, UIUC Based in part on slides by Mattox.
Richard Tynan, G.M.P. O’Hare, Michael O’Grady & Conor Muldoon School of Computer Science & Informatics University College Dublin Ireland.
Surya Bahadur Kathayat Outline  Ramses  Installing Ramses  Ramses Perspective (Views and Editors)  Importing/Exporting Example.
 In the java programming language, a keyword is one of 50 reserved words which have a predefined meaning in the language; because of this,
1 Software Maintenance The process of changing the system after it has been delivered and in operation Software change is inevitable –New requirements.
LECTURE 5 Nangwonvuma M/ Byansi D. Components, interfaces and integration Infrastructure, Middleware and Platforms Techniques – Data warehouses, extending.
Chapter 29: Program Security Dr. Wayne Summers Department of Computer Science Columbus State University
Real-Time Systems Laboratory Seolyoung, Jeong JADE (Java Agent DEvelopment framework )
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
COGNITIVE APPROACH TO ROBOT SPATIAL MAPPING
Chapter 1: Introduction to Systems Analysis and Design
Distribution and components
Metadata Framework as the basis for Metadata-driven Architecture
Chapter 1: Introduction to Systems Analysis and Design
Chapter 29: Program Security
Chapter 5 Architectural Design.
Functional Programming and Haskell
Information Systems Development (ISD) Systems Development Life Cycle
Chapter 1: Introduction to Systems Analysis and Design
Functional Programming and Haskell
Presentation transcript:

Agents, Mobility, Ubiquity & Virtuality Gregory O’Hare Department of Computer Science, University College Dublin Belief & Commitment Management within Agent Factory COMP 4019 Multi-Agent Systems Lectures: Gregory O’Hare School of Computer Science & Informatics, University College Dublin (UCD)

A Necessary Synergy Agents Virtuality Mobility

Agent Factory Layers AF-APL A cohesive framework that supports a structured approach to the development and deployment of multi-agent systems.

What is Agent Factory?  Agent Factory is… “a cohesive framework that delivers structured support for the development and deployment of agent-oriented applications.”  Organised over four layers:  Programming Language  Run-Time Environment  Development Environment  Software Engineering Methodology

What is Agent Factory?  Agent Factory is… “a cohesive framework that delivers structured support for the development and deployment of agent-oriented applications.”  Organised over four layers:  Programming Language  Declarative  Formalised through a Multi-modal logic  Agent-specific Constructs  Run-Time Environment  Development Environment  Software Engineering Methodology

What is Agent Factory?  Agent Factory is… “a cohesive framework that delivers structured support for the development and deployment of agent-oriented applications.”  Organised over four layers:  Programming Language  Run-Time Environment  Distributed  FIPA Compliant  Agent Platforms + Infrastructure  System Agents: AMS + DF  Development Environment  Software Engineering Methodology

The Run-Time Environment Remote Management Interface Remote Command Shell Command Line Interface

What is Agent Factory?  Agent Factory is… “a cohesive framework that delivers structured support for the development and deployment of agent-oriented applications.”  Organised over four layers:  Programming Language  Run-Time Environment  Development Environment  AF-APL Compiler  Netbeans & Eclipse Plugins  VIPER – Protocol Editor  Software Engineering Methodology

AF NetBeans Plugin

VIPER – Visual Protocol Editor

What is Agent Factory?  Agent Factory is… “a cohesive framework that delivers structured support for the development and deployment of agent-oriented applications.”  Organised over four layers:  Programming Language  Run-Time Environment  Development Environment  Software Engineering Methodology

Development Methodology

What is Agent Factory?  Agent Factory is… “a cohesive framework that delivers structured support for the development and deployment of agent-oriented applications.”  Organised over four layers:  Programming Language  Run-Time Environment  Development Environment  Software Engineering Methodology  Implemented in Java  Personal Java, J2ME and J2SE-Compliant  Deployed on PDAs / PCs  Open Source:  Downloadable from

AF-APL  AF-APL Programs define:  Actuators  Perceptors  Modules  Commitment Rules  Initial Mental State

Executing AF-APL  AF-APL is executed on a purpose-built agent interpreter.  The agent class is loaded into the interpreter when the agent is created.  Control functions can be used to suspend, resume, and terminate the operation of the agent.  The interpreter processes the agent program by analysing the model of the environment (beliefs) and making decisions about how to act (commitments).  Two problems arise from this:  How to ensure that the model of the environment is up-to-date?  How to make the decision about how and when to act?  These problems are known as the belief management and commitment management problems respectively.

Belief Management  Belief Management = Belief Update + Belief Query Belief Update Perception Temporal Update Current Beliefs Temporal Beliefs Sensor Data Belief Update. Dynamic Environment -> Transitory beliefs Persistence can be supported through temporal operators (eg ALWAYS, NEXT) Belief update = gathering perceptions + updating the temporal beliefs.

Belief Management  Belief Management = Belief Update + Belief Query Belief Update Perception Temporal Update Current Beliefs Temporal Beliefs Belief Rules Belief Query Sensor Data Belief Queries Belief Query. Beliefs = Facts + Implications (Belief Rules). Resolution-based reasoning on current beliefs

Representing Beliefs in AF-APL  AF-APL supports three forms of belief:  Current Beliefs. Beliefs that are true at the current time point.  Temporal Beliefs. Beliefs that persist over more than one time point.  Belief Rules. Rules that define inferences that can be made on the current beliefs.  In AF-APL a belief is represented as a first-order structure enclosed within a BELIEF operator:  BELIEF(happy(rem)) – a belief that rem is happy  BELIEF(likes(?person, beer)) – a belief that some person likes beer  BELIEF(bid(fred, 50)) – a belief that fred has bid 50  These beliefs are current beliefs and apply only at the current time point. As a consequence, they are wiped at the start of each iteration of the AF-APL interpreter.

Temporal Beliefs  ALWAYS – the belief is a current belief and will persist until the temporal belief is dropped.  ALWAYS(BELIEF(happy(greg))) – always believe that greg is happy  UNTIL – the belief is a current belief and will persist until either the temporal belief is dropped or the associated condition is satisfied.  UNTIL(BELIEF(drinking(wine,greg)), !BELIEF(available(wine))) – believe that greg is drinking wine until do not believe that there is wine available.  NEXT – the belief will be a current belief at the next time point.  NEXT(BELIEF(finished(wine))) – at the next time point belief that the wine is finished.  These beliefs are maintained until they are explicity dropped.

Belief Rules  Belief Rules define inferences that can be made over the current beliefs of the agent.  They take the form of logical implications:  BELIEF(likes(?food)) & BELIEF(has(?food)) => BELIEF(want(?food))  BELIEF(has(rem, icecream)) => BELIEF(happy(rem))

Commitment Management  It is formed from a number of sub-processes which implement a set of strategies that specify how an agent:  Adopts new commitments.  Maintains its existing commitments  Refines commitments to plans into additional commitments.  Realises commitments to action.  Handles failed commitments.  A Commitment Management Strategy is a specific set of strategies that can be employed by an agent.  E.g. blind commitment, single-minded commitment, social-minded commitment.  The default strategy in Agent Factory is single-minded commitment.  An agent maintains a commitment so long as it believes it is still acheivable.

Commitment Maintenance  Commitments are maintained using a maintenance condition that is associated with each commitment.  E.g. BELIEF(has(?food)) => COMMIT(Self, Now, BELIEF(true), eat(?food))  This condition outlines what must remain true for the agent to keep the commitment (like terms and conditions and a contract).  In the above example, the maintenance condition will always be true. This is sometimes known as blind commitment.  The maintenance condition is evaluated at each time point.  If the condition becomes false at any time point, then the commitment is said to have “failed”.

Commitment States

Commitment Structure Example Rem, 2005/01/20-8:00:00, BELIEF(true), SEQ(doA, doB), INACTIVE

Commitment Structure Example Rem, 2005/01/20-8:00:00, BELIEF(true), SEQ(doA, doB), PLANNED Rem, 2005/01/20-8:00:00, BELIEF(true), doB, WAITING Rem, 2005/01/20-8:00:00, BELIEF(true), doA, INACTIVE

Commitment Structure Example Rem, 2005/01/20-8:00:00, BELIEF(true), SEQ(doA, doB), PLANNED Rem, 2005/01/20-8:00:00, BELIEF(true), doB, WAITING Rem, 2005/01/20-8:00:00, BELIEF(true), doA, ACTIVE

Commitment Structure Example Rem, 2005/01/20-8:00:00, BELIEF(true), SEQ(doA, doB), PLANNED Rem, 2005/01/20-8:00:00, BELIEF(true), doB, WAITING Rem, 2005/01/20-8:00:00, BELIEF(true), doA, SUCCEEDED

Commitment Structure Example Rem, 2005/01/20-8:00:00, BELIEF(true), SEQ(doA, doB), PLANNED Rem, 2005/01/20-8:00:00, BELIEF(true), doB, INACTIVE

Commitment Structure Example Rem, 2005/01/20-8:00:00, BELIEF(true), SEQ(doA, doB), PLANNED Rem, 2005/01/20-8:00:00, BELIEF(true), doB, ACTIVE

Commitment Structure Example Rem, 2005/01/20-8:00:00, BELIEF(true), SEQ(doA, doB), PLANNED Rem, 2005/01/20-8:00:00, BELIEF(true), doB, SUCCEEDED

Commitment Structure Example Rem, 2005/01/20-8:00:00, BELIEF(true), SEQ(doA, doB), SUCCEEDED

Failure Example Rem, 2005/01/20-8:00:00, BELIEF(true), SEQ(doA, doB), PLANNED Rem, 2005/01/20-8:00:00, BELIEF(true), doB, WAITING Rem, 2005/01/20-8:00:00, BELIEF(true), doA, ACTIVE

Failure Example Rem, 2005/01/20-8:00:00, BELIEF(true), SEQ(doA, doB), PLANNED Rem, 2005/01/20-8:00:00, BELIEF(true), doB, WAITING Rem, 2005/01/20-8:00:00, BELIEF(true), doA, FAILED

Failure Example Rem, 2005/01/20-8:00:00, BELIEF(true), SEQ(doA, doB), FAILED Rem, 2005/01/20-8:00:00, BELIEF(true), doB, FAILED

Key AF-APL Agent Concepts  Agent = Mental State + Commitment Rules + Embodiment Config.  Mental State:  Beliefs. Subjective knowledge about the current state of the environment.  Commitments. Mental contract describing which activity, at what time, for whom, and under what conditions.  Activities may be either primitive actions or plans (SEQ, OR, PAR).  Commitment Rules:  Map situations (possible environment states) to commitments that should be adopted should the situation arise.  Embodiment Configuration  Perceptors. Computational units that convert raw data into beliefs.  Actuators. Computational units that define how to realise primitive actions.

Commitment Failure Handling  If any commitment fails, the failure handling strategy defines how the agent should respond to the failure.  In AF-APL, the strategy is simple:  The failure of a secondary commitment is passed to the parent commitment. The impact of this failure is assessed with respect to the parent commitment.  The failure of a commitment that has children causes the children to fail. There is no assessment here!  During the failure handling process, this strategy is applied recursively through the commitment structure.  This recursive process, while potentially computationally expensive, is essential to ensure the agent does not continue to try and fulfil commitments that are now redundant.

Commitment Realisation & Refinement  At some point in time, the agent will try to fulfill its commitments.  Commitments to action are fulfilled through actuator activation.  The agent finds the corresponding actuator and activates it.  If not corresponding actuator exists, then the commitment fails.  Commitments to plans are fulfilled through commitment refinement.  The agent adopts a set of secondary commitments that correspond to the activities specified in the plan.  Plan operators may be used to place an order on the achievement of these commitments.  We label the set of commitments adopted when fulfilling a primary commitment to be a commitment structure.

Representing Activities  Activities describe what the agent can do:  Actions. Primitive abilities that are directly executable by the agent.  Plans. A recipe that consists of a partially ordered set of activities.  AF-APL supports the definition of actions and explicit plans.  Actions are defined in the constructor of the associated actuator unit. The definition consists of a unique identifier (e.g. eat(?food) ), a pre- condition (e.g. BELIEF(has(?food)) ) and a post-condition (not used).  Explicit plans are defined within the activity field of a commitment. They take the form of a plan operator (SEQ or PAR for AF-APL) together with a list of activities that may be either additional plan operators or actions.  E.g. SEQ(PAR(boilWater, addCoffee), pourWater, PAR(addSugar, addMilk))

Commitment Adoption  Commitments are adopted as a result of the triggering of Commitment Rules.  A commitment rule defines a situation in which the agent should adopt a commitment.  E.g. BELIEF(has(?food)) => COMMIT(Self, Now, BELIEF(true), eat(?food))  Each of the commitment rules is checked during each iteration of the AF-APL interpreter.  If the situation (left-hand side) of any rule is evaluated to true, then the rule is said to have been triggered.  Whenever a rule is triggered, there exists (at least one) set of variable bindings.  Each set of bindings is applied to the commitment construct on the right-hand side of the commitment rule, and the corresponding primary commitment is adopted by the agent.

Downloading Agent Factory  You can download the latest version (for you only) from:   The NetBeans plugin can be downloaded from:   To use Agent Factory, you will need to set the following environment variables:  AF_HOME = location of the base agentfactory folder  JAVA_HOME = location of a Java 2 SDK  PATH = add the location of %AF_HOME%\bin  An example BAT file can be found at  To run Agent Factory, type:  “agentfactory –config queue.cfg –script queue.aps”  Typing “afgui” will start up the remote management interface (you will have to configure a site).

AF-APL Interpreter Cycle Commitments Commitment Rules World Belief Update Query Perceptors Actuators Beliefs Commitment Management Migrate? Belief Management