Multiagent systems a practical approach to MAS construction in Java (using Boris) Simon Lynch

Slides:



Advertisements
Similar presentations
What is a Computer Program? For a computer to be able to do anything (multiply, play a song, run a word processor), it must be given the instructions.
Advertisements

DISTRIBUTED COMPUTING PARADIGMS
REST Introduction 吴海生 博克软件(杭州)有限公司.
Mobile Agents Mouse House Creative Technologies Mike OBrien.
C++ Language Fundamentals. 2 Contents 1. Introduction to C++ 2. Basic syntax rules 3. Declaring and using variables.
Distributed Systems Topics What is a Distributed System?
Android architecture overview
Distributed Systems 1 Topics  What is a Distributed System?  Why Distributed Systems?  Examples of Distributed Systems  Distributed System Requirements.
Adding Organizations and Roles as Primitives to the JADE Framework NORMAS’08 Normative Multi Agent Systems, Matteo Baldoni 1, Valerio Genovese 1, Roberto.
Technical Architectures
1 Frameworks. 2 Framework Set of cooperating classes/interfaces –Structure essential mechanisms of a problem domain –Programmer can extend framework classes,
Remote Method Invocation Chin-Chih Chang. Java Remote Object Invocation In Java, the object is serialized before being passed as a parameter to an RMI.
Boris - additional timers, scope & brokering Simon Lynch
Multiagent systems a practical approach to MAS construction in Java (using Boris) Simon Lynch
Programming Languages Structure
Multiagent systems (MAS) Simon Lynch
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
James Tam An introduction into HCI: Task-Centered System Design An Introduction To Graphical User Interfaces The event-driven model Building a simple.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
By Mihir Joshi Nikhil Dixit Limaye Pallavi Bhide Payal Godse.
1/19 Component Design On-demand Learning Series Software Engineering of Web Application - Principles of Good Component Design Hunan University, Software.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Introduction to distributed systems Dr. S. Indran 23 January 2004.
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Bộ môn Mạng và Truyền Thông Máy Tính.
An program As a simple example of socket programming we can implement a program that sends to a remote site As a simple example of socket.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Other Topics RPC & Middleware.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
DEVS Namespace for Interoperable DEVS/SOA
12-CRS-0106 REVISED 8 FEB 2013 CSG2H3 Object Oriented Programming.
Learning objectives By the end of this lecture you should be able to:  have a well-earned rest! Ch 24 Beyond the second semester.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Java Event Handling CSIS 3701: Advanced Object Oriented Programming.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
SE-02 COMPONENTS – WHY? Object-oriented source-level re-use of code requires same source code language. Object-oriented source-level re-use may require.
Self-assembling Agent System Presentation 1 Donald Lee.
We will talking about story of JAVA language. By Kristsada Songpartom.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Presented By:- Sudipta Dhara Roll Table of Content Table of Content 1.Introduction 2.How it evolved 3.Need of Middleware 4.Middleware Basic 5.Categories.
J ava P rogramming: From Problem Analysis to Program Design, From Problem Analysis to Program Design, Second Edition Second Edition D.S. Malik D.S. Malik.
ICMC 2004 – Nov. 5 1 Andante: Composition and Performance with Mobile Musical Agents Leo Kazuhiro Ueda Fabio Kon
Copyright © Mohamed Nuzrath Java Programming :: Syllabus & Chapters :: Prepared & Presented By :: Mohamed Nuzrath [ Major In Programming ] NCC Programme.
An Architecture to Support Context-Aware Applications
JAVA Programming “When you are willing to make sacrifices for a great cause, you will never be alone.” Instructor: รัฐภูมิ เถื่อนถนอม
Core Java Introduction Byju Veedu Ness Technologies httpdownload.oracle.com/javase/tutorial/getStarted/intro/definition.html.
1 Object Oriented Logic Programming as an Agent Building Infrastructure Oct 12, 2002 Copyright © 2002, Paul Tarau Paul Tarau University of North Texas.
1 Java Servlets l Servlets : programs that run within the context of a server, analogous to applets that run within the context of a browser. l Used to.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Aglets Based on Mobile Agents with Java: The Aglet API by Danny B. Lange and Mitsuru Oshima.
What is Java? Object Oriented Programming Language Sun Microsystems “Write Once, Run Everywhere” Bytecode and Virtual Machine Java Platform (Java VM and.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
CS 178: Programming with Multimedia Objects Aditya P. Mathur Professor of Computer Sciences Purdue University, West Lafayette August 27, 2004 Last update:
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
Problem On a regular basis we use: –Java applets –JavaScript –ActiveX –Shockwave Notion of ubiquitous computing.
Microsoft Virtual Academy Module 12 Managing Services with VMM and App Controller.
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft.
Applications Active Web Documents Active Web Documents.
Common Object Request Broker Architecture (CORBA)
middleware a guide to middleware construction (roughly) based on Boris
Java programming lecture one
CMPE419 Mobile Application Development
Mobile Agents.
Object Oriented Programming
Chapter 7 –Implementation Issues
Constructors, GUI’s(Using Swing) and ActionListner
(Computer fundamental Lab)
COMPONENTS – WHY? Object-oriented source-level re-use of code requires same source code language. Object-oriented source-level re-use may require understanding.
CMPE419 Mobile Application Development
Inner Classes.
Presentation transcript:

multiagent systems a practical approach to MAS construction in Java (using Boris) Simon Lynch

software architecture distributed mixed language concurrent

Boris agents – why? MultiAgent Systems... advanced s/w architectures dynamic, distributed decentralised control social, goal-based mobility, platform independence design-time autonomy reuse

Boris agents – what? independent software(?) entities –send & receive messages like objects but... –distributed –autonomous at design & execution –have their own process thread –tighter encapsulation & interfaces –task oriented

Boris agents – types? various types... web based, brokered small & mobile larger scale / intelligent...etc...

Boris agents - how? in Java with Boris (because you can also use C#, Lisp...) analogy... agents & GUI components GUI events & message events

Boris example Portal p = new Portal( portal-name ); Agent a = new Agent( agent-name ); a.addMessageListener(new MessageListener() { public void messageReceived(String from, String to, String msg, MsgId id) {...code body... } }); p.addAgent( a ); Panel p = new Panel(); Button b = new Button( text ); b.addActionListener( new ActionListener() { public void actionPerformed( ActionEvent event ) {...code body... } }); p.add( b );

Sending messages Portal p = new Portal( portal-name ); Agent sue = new Agent( "sue" ); sue.addMessageListener(new MessageListener() { public void messageReceived(String from, String to, String msg, MsgId id) {...code body... } }); p.addAgent( sue ); Agent sam = new Agent( "sam" ); p.addAgent( sam );... sam.sendMessage( "sue", "hello sue" );...

Virtual Networks normally, agents are distributed across multiple VMs multi-language VMs multiple machines Boris uses network concept based on... Portals Routers

agents, portals, routers & VMs MAS design... a collection of communicating agents

agents, portals & routers agents communicate via portals portals communicate via router(s)

agents, portals & routers agents who share a portal communicate directly routers not necessary for single-portal MASs

agents, portals & routers cross-portal communication requires a router even if portals share a VM

connecting portals to routers portal methods void connectToGrid( InetAddress host, int portNo ) void connectToGrid( int portNo ) void connectToGrid( InetAddress host ) void connectToGrid( ) NB: connection in separate thread may take few seconds over internet

using the console

loading agents import boris.kernel.*;..... public class MyClass {public MyClass( Portal portal, String cmdLine ) {//--- set up agent ---- final Agent agent = new Agent( name ); portal.addAgent( agent );..... }..... }

tracking activity