Software Agent Computing. Agent Mobility

Size: px
Start display at page:

Download "Software Agent Computing. Agent Mobility"

Transcription

1 Software Agent Computing Agent Mobility

2 Planning mobility roadmap Agent mobility = to migrate or to make a copy (clone) itself across one or multiple network hosts Support for mobility in JADE: a set of API classes and methods, a mobility specific ontology, MobilityOntology, contained in the package jade.domain.mobility. Moving Agent class in the package jade.core contains methods: domove(), beforemove(), domove is called either by the Agent Platform or aftermove(), by the agent itself to start a migration process doclone(), beforeclone() Cloning afterclone(). To move an agent, you just need to call the method domove(location) public void domove(location destination) domove() just changes the agent state to AP_TRANSIT. The actual migration take place asynchronously.

3 Mobility in JADE: intra and inter Intra-platform mobility is that, mobile agent can navigate across different agent containers but it is confined to a single JADE platform Inter-platform mobility provides agent with navigating among Agent Platforms FIPA defines extensions that are necessary to the AMS to support mobility. JADE containers are not FIPA compliant (FIPA does not specify them) It should be noted that the concept of an AP does not mean that all agents resident on an AP have to be co-located on the same host computer. * Therefore FIPA does not specify intra-platform migration JADE supports intra-platform migration by adaptation of interplatform migration specification JADE does not support inter-platform mobility, but Migration Add- On does:

4 Mobility in JADE weak or strong? not-so-weak mobility Status: an agent have to wait before currently scheduled behaviour finishes its cycle JADE agents can migrate in the middle of a conversation and a programmer can exploit the behaviour composition capability in order to define an arbitrarily fine-grained sequence of states in which an agent is allowed to migrate move to a remote container (possibly on a different host) restart its execution there from the exact point where it was interrupted Code: If the code of the moving agent is not available on the destination container it is automatically retrieved on demand An agent must be Serializable in order to be able to move Mobility can be self-initiated through domove() of the Agent class forced by the AMS (following a request from another agent) Agent cloning is also available - method doclone()

5 Tricky point Location (1) You cannot create a Location object by yourself AMS the Boss: All platform management actions (creating/killing agents, killing containers...) are under the control of the AMS Other agents can request the AMS to perform these actions by using The Fipa-Request Interaction Protocol The SL language The JADE-Agent-Management ontology and related actions The AID of the AMS can be retrieved through the getams() method of the Agent class

6 The tricky point - Location(2) Ask AMS by sending it a REQUEST with content or WhereIsAgentAction allows to obtain the location of a given agent; parameter - the identifier of the agent that your are querying the location via method setagentidentifier(aid) QueryPlatformLocationsAction - allows to obtain all available locations within a given platform. It takes no parameter) package jade.domain.jadeagentmanagement

7 AMS as White Pages Services Scenario 1 Agent A asks AMS about all possible containers in the AP Agent A receives set of locations from AMS Agent A migrate to the randomly chosen location Scenario 2 Agent A asks AMS about location of the agent B Agent A receives the response from AMS about location Agent A migrate to the location of agent B Let s talk about ontology

8 Semantic of communication in JADE Documentation: JADE Tutorial Application-defined Content Languages and Ontologies, API documentation (javadoc): jade.content package and subpackage Sample code: examples.content package in the examples included in the JADE distribution

9 Agent Communication Info A B Inside the ACL message, Info is represented as a content expression consistent with a proper content language (e.g. SL) and encoded in a proper format (e.g. string). Both A and B have their own (possibly different) way of internally representing Info. Example: there is a person whose name is John and who is 35 years old (Person :name John :age 35) class Person { String name; int age; public String getname() {return name; } public void setname(string n) {name = n; } public int getage() {return age; } public void setage(int a) {age = a; }. }

10 Handling Content Expression A B A needs to convert his internal representation of Into the corresponding ACL content expression representation and B needs to perform the opposite conversion. B should also perform a number of semantic checks to verify that Info is a meaningful piece of information, i.e. that it complies with the rules (for instance that the age of John Is actually an integer value) of the ontology by means of which both A and B ascribe a proper meaning to Info

11 Main Elements of Communication content manager object of the ContentManager class included in the jade.content package received through the getcontentmanager() method content manager delegates the conversion and check operations to an ontology (i.e. an instance of the Ontology class included in the jade.content.onto package) and a content language codec (i.e. an instance of the Codec interface included in the jade.content.lang package)

12

13 Types of elements an ontology In detail, the types of elements an ontology deals with are defined as follows: Concepts are expressions that indicate entities that "exist" and that agents talk and reason about. Predicates are expressions that say something about the status of the world and usually evaluate to true or false. AgentActions are expressions that indicate something that can be executed by some agent.

14 Define semantical structure of message content. Content represents the domain dependent component of the communication. REQUEST :sender (agent-identifier :name :receiver (set (agent-identifier :name :content (( action (agent-identifier :name (where-is-agent (agent-identifier :name )) :language FIPA-SL0 :ontology JADE-Agent-Management :protocol fipa-request ) Denotes the encoding scheme of the content of the action. Brings representation of message, e.g FIPA SL or it subsets (SLO, SL1). Denotes the ontology which is used to give a meaning to the symbols in the content expression. An ontology gives meanings to symbols and expressions within a given domain language.

15

16 (REQUEST... :content (( action (ActorOfAction) (ActionName (ActionParameters)) ))... ) (REQUEST :sender (agent-identifier :name da1@zadig:1099/jade) :receiver (set (agent-identifier :name ams@zadig:1099/jade)) :content (( action (agent-identifier :name ams@zadig:1099/jade) (where-is-agent (agent-identifier :name Peter@Zadig:1099/JADE)) )) :language FIPA-SL0 :ontology JADE-Agent-Management :protocol fipa-request Summary: The sender requests the receiver to perform some action Message content: An action description Description: The action can be any action the receiver is capable of performing: pick up a box, book a plane flight, change a password etc. An important use of the request act is to build composite conversations between agents, where the actions that are the object of the request act are themselves communicative acts such as inform

17 (INFORM.. :content (( result ( action (ActorOfAction) (ActionName (ActionParameters)) ) (ResultOfAction) ))... ) (INFORM :sender (agent-identifier :name ams@zadig:1099/jade) :receiver (set (agent-identifier :name da1@zadig:1099/jade)) :content ((result (action (agent-identifier :name ams@zadig:1099/jade) (where-is-agent (agent-identifier :name Peter@Zadig:1099/JADE)) ) (set (location :name Container-1 :protocol JADE-IPMT :address Zadig:1099/JADE.Container-1 )) )) :reply-with da1@zadig:1099/jade :language FIPA-SL0 :ontology JADE-Agent-Management :protocol fipa-request

18 Handling content expression Creating the Ontology (vocabulary and semantic) Defining the schemas (ontology elements) Defining the corresponding Java Classes Handling content expressions as Java objects Using the ContentManager to fill and parse message contents Ontologies can be created with Protégé (with the beangenerator plugin)

19 Registering language and ontology instance Registering the defined ontology and the selected content language to the agent // register the SL0 content language getcontentmanager().registerlanguage(new SLCodec(), FIPANames.ContentLanguage.FIPA_SL0); Creating and handling content expression as Java objects that are instances of the classes developed in step 2 and let JADE translate these Java objects to/from strings or sequences of bytes that fit the content slot of ACLMessages // register the mobility ontology getcontentmanager().registerontology(mobilityontology.getinstance());

20 Creating request to AMS private ACLMessage preparerequesttoams(aid agent) { ACLMessage request = new ACLMessage(ACLMessage.REQUEST); request.addreceiver(getams()); request.setlanguage(fipanames.contentlanguage.fipa_sl0); request.setontology(mobilityontology.name); request.setprotocol(fipanames.interactionprotocol.fipa_request); // creates the content of the ACLMessage Action act = new Action(); act.setactor(getams()); WhereIsAgentAction action = new WhereIsAgentAction(); action.setagentidentifier(agent); act.setaction(action); public class WhereIsAgentAction implements AgentAction { private AID agentname; public WhereIsAgentAction() {} public void setagentidentifier(aid id) { agentname = id; } public AID getagentidentifier() { return agentname; } try { getcontentmanager().fillcontent(request, (REQUEST act); } catch (CodecException ignore) { :sender (agent-identifier :name da1@zadig:1099/jade) } catch (OntologyException ignore) {} :receiver (set (agent-identifier :name ams@zadig:1099/jade)) :content (( action return request; (agent-identifier :name ams@zadig:1099/jade) } (where-is-agent (agent-identifier :name Peter@Zadig:1099/JADE)) )) :language FIPA-SL0 :ontology JADE-Agent-Management :protocol fipa-request)

21 Parsing answer from AMS (INFORM :sender (agent-identifier :name :receiver (set (agent-identifier :name :content ((result (action (agent-identifier :name (where-is-agent (agent-identifier :name ) (set (location :name Container-1 :protocol JADE-IPMT :address Zadig:1099/JADE.Container-1 )) )) :reply-with :language FIPA-SL0 :ontology JADE-Agent-Management :protocol fipa-request ) private Location parseamsresponse(aclmessage response) { Result results = null; try { results = (Result)getContentManager().extractContent(response); } catch (UngroundedException e) { } catch (CodecException e) { } catch (OntologyException e) {} Iterator it = results.getitems().iterator(); Location loc = null; if (it.hasnext()) loc = (Location) it.next(); return loc; }

22 Lectures and others... MyHomepage/www/Lectures Login: agents Password: sawz2016

23 Interaction protocol FIPA defined IPs are: FIPARequest FIPAQuery FIPARequestWhen FIPAContractNet FIPAIteratedContractNet FIPAAuctionEnglish FIPAAuctionDutch FIPABrokering FIPARecruiting FIPASubscribe FIPAPropose

24 JADE-PROTO package The jade.proto package contains behaviours for both the Initiator and Responder role in the most common interaction protocols: FIPA-Request (AchieveREInitiator/Responder) FIPA-Contract-Net (ContractNetInitiator/Responder) FIPA-Subscribe (SubscriptionInitiator/Responder) FIPA-Propose (ProposeInitiator/Responder) All these classes automatically handle the flow of messages checking that it is compliant to the protocol the timeouts (if any) They provide callback methods that should be redefined to take the necessary actions when e.g. a message is received or a timeout expires

25 FIPA CFP

26 CFP communication schema

27 Initiation of CFP ACLMessage initiation = new ACLMessage(ACLMessage.PROPOSE); AID woman = new AID((String) getarguments()[0], AID.ISLOCALNAME); initiation.addreceiver(woman); initiation.setcontent("may I buy you a car?"); addbehaviour(new ProposeInitiator(this, initiation) { }

28 Step by step

29 Handle messages in protected void handleacceptproposal(aclmessage accept_proposal) { //your code protected void handlenotunderstood(aclmessage notunderstood) { //your code protected void handlerejectproposal(aclmessage reject_proposal) { //your code }

30 throw new NotUnderstoodException("I don't understand you");... } Other side (Participant(s)) addbehaviour(new ProposeResponder(this, mt) protected ACLMessage prepareresponse(aclmessage propose) throws NotUnderstoodException, RefuseException {... ACLMessage accept = propose.createreply(); accept.setperformative(aclmessage.accept_proposal); accept.setcontent(...);... ACLMessage reject = propose.createreply(); reject.setperformative(aclmessage.reject_proposal); reject.setcontent(...);... throw new RefuseException(...);...

Yellow pages and Interaction Protocols

Yellow pages and Interaction Protocols Yellow pages and Interaction Protocols Fabiano Dalpiaz Agent-Oriented Software Engineering (AOSE) 2009-10 Yellow pages How do you look for someone providing a service? Either you know a service provider......or

More information

Programming Agents with JADE for Multi-Agent Systems

Programming Agents with JADE for Multi-Agent Systems Programming Agents with JADE for Multi-Agent Systems Ass.Lecturer Noor Thamer Based on Jade, Java and Eclipse documentation Ass.Lecturer Noor Thamer 1 Content Briefly about components JADE overview Setting

More information

FIPA specification and JADE. Tomáš Poch

FIPA specification and JADE. Tomáš Poch FIPA specification and JADE Tomáš Poch Agents System that is situated in some environment, and that is capable of autonomous action in this environment in order to meet its design objectives [Wooldridge

More information

Introduction to Multi-Agent Programming

Introduction to Multi-Agent Programming Introduction to Multi-Agent Programming 1. Agent Communication Speech Acts, KIF, KQML, FIPA, JADE, IPC Alexander Kleiner, Bernhard Nebel Contents Introduction Speech Acts Agent Communication Languages

More information

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Multi-Agent Systems

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Multi-Agent Systems Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Multi-Agent Systems JADE Prof. Agostino Poggi What is FIPA? Foundation for Intelligent Physical

More information

The protocols are governed by the FIPA organization and their precise definitions are available at

The protocols are governed by the FIPA organization and their precise definitions are available at 2. Communication Protocols Communication protocols were created to allow the agents to communicate regardless of their implementation, including the environment and the programming language. The protocols

More information

Introduction to Multi-Agent Programming

Introduction to Multi-Agent Programming Introduction to Multi-Agent Programming 5. Agent Communication Speech Acts, KIF, KQML, FIPA, JADE, IPC Alexander Kleiner, Bernhard Nebel Contents Introduction Speech Acts Agent Communication Languages

More information

Jade: Java Agent DEvelopment Framework Overview

Jade: Java Agent DEvelopment Framework Overview Jade: Java Agent DEvelopment Framework Overview Stefano Mariani s.mariani@unibo.it Dipartimento di Informatica Scienza e Ingegneria (DISI) Alma Mater Studiorum Università di Bologna a Cesena Academic Year

More information

Sprite (contd) Code and Process Migration

Sprite (contd) Code and Process Migration Sprite (contd) Sprite process migration Facilitated by the Sprite file system State transfer Swap everything out Send page tables and file descriptors to receiver Demand page process in Only dependencies

More information

Jade: Java Agent DEvelopment Framework Overview

Jade: Java Agent DEvelopment Framework Overview Jade: Java Agent DEvelopment Framework Overview Multiagent Systems LM Sistemi Multiagente LM Stefano Mariani revised by Andrea Omicini s.mariani@unibo.it, andrea.omicini@unibo.it Dipartimento di Informatica:

More information

Workshop on Mechatronic Multiagent Systems

Workshop on Mechatronic Multiagent Systems Workshop on Mechatronic Multiagent Systems UNINOVA, Caparica 15th Feb 2011 Luis Ribeiro (ldr@uninova.pt) José Barata (jab@uninova.pt) André Cavalcante Rogério Rosa Agenda for today Morning - Theoretical

More information

Integrating Web Services into Agentcities Recommendation

Integrating Web Services into Agentcities Recommendation 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 AGENTCITIES TECHNICAL RECOMMENDATION Recommendation Agentcities Technical Recommendation

More information

JADE: the new kernel and last developments. Giovanni Caire JADE Board Technical Leader

JADE: the new kernel and last developments. Giovanni Caire JADE Board Technical Leader JADE: the new kernel and last developments Giovanni Caire JADE Board Technical Leader giovanni.caire@tilab.com Pisa 2004 Summary JADE The JADE Board The new Kernel Ideas and motivations Main elements An

More information

FIPA-OS Feature Overview. Agent Technology Group Nortel Networks February 2000

FIPA-OS Feature Overview. Agent Technology Group Nortel Networks February 2000 FIPA-OS Feature Overview Agent Technology Group Nortel Networks February 2000 FIPA-OS - Aims FIPA-OS is a Open Source implementation of FIPA and is available for free. http://www.nort elnetworks.com/ fipa-os

More information

Agents & Multi-Agent Systems with Jade

Agents & Multi-Agent Systems with Jade Agents & Multi-Agent Systems with Jade Distributed Systems / Technologies Sistemi Distribuiti / Tecnologie Stefano Mariani Andrea Omicini s.mariani@unibo.it andrea.omicini@unibo.it Dipartimento di Informatica

More information

Basics of Java: Expressions & Statements. Nathaniel Osgood CMPT 858 February 15, 2011

Basics of Java: Expressions & Statements. Nathaniel Osgood CMPT 858 February 15, 2011 Basics of Java: Expressions & Statements Nathaniel Osgood CMPT 858 February 15, 2011 Java as a Formal Language Java supports many constructs that serve different functions Class & Interface declarations

More information

Multi-Agent Systems. An Introduction

Multi-Agent Systems. An Introduction Multi-Agent Systems An Introduction 1 ASSIGNMENTS (due October 21 at class) Give an example of negotiation protocol Write in words the interpretation of KQML example on slide 25 Take a simple example from

More information

AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS

AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS PAUL L. BAILEY Abstract. This documents amalgamates various descriptions found on the internet, mostly from Oracle or Wikipedia. Very little of this

More information

Advanced Robotics Multi-Agent Systems/Communication

Advanced Robotics Multi-Agent Systems/Communication Advanced Robotics Multi-Agent Systems/Communication 1 Motivation Example Domain Agenda Definitions and Properties of Multi-Agent Systems (MAS) Task Allocation Communication in MAS 2 Motivation many can

More information

Caching. Caching Overview

Caching. Caching Overview Overview Responses to specific URLs cached in intermediate stores: Motivation: improve performance by reducing response time and network bandwidth. Ideally, subsequent request for the same URL should be

More information

Information Collection and Survey Infrastructure, APIs, and Software Tools for Agent-based Systems (An Overview of JADE)

Information Collection and Survey Infrastructure, APIs, and Software Tools for Agent-based Systems (An Overview of JADE) Course Number: SENG 609.22 Session: Fall, 2003 Document Name: Infrastructure, APIs, and Software tools for agent-based system (An Overview of JADE) Course Name: Agent-based Software Engineering Department:

More information

Readings for This Lecture

Readings for This Lecture Lecture 4 Classes Readings for This Lecture Section 1.4, 1.5 in text Section 3.1 in text Plive activities referenced in the text Please look at lecture summaries online Handouts are short version Presentation

More information

1. The jessinjade Package

1. The jessinjade Package 1. The jessinjade Package We call "Jess agents" those agents that are JADE agents, since they extend the JADE "Agent" class, but whose initial beliefs and behaviour are defined in the Jess language. The

More information

CS 160: Interactive Programming

CS 160: Interactive Programming CS 160: Interactive Programming Professor John Canny 3/8/2006 1 Outline Callbacks and Delegates Multi-threaded programming Model-view controller 3/8/2006 2 Callbacks Your code Myclass data method1 method2

More information

FIPA Agent Management Support for Mobility Specification

FIPA Agent Management Support for Mobility Specification 1 2 3 4 5 6 FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS FIPA Management Support for Mobility Specification 7 8 Document title FIPA Management Support for Mobility Specification Document number PC000087B

More information

Contributions to the Study of Semantic Interoperability in Multi-Agent Environments - An Ontology Based Approach

Contributions to the Study of Semantic Interoperability in Multi-Agent Environments - An Ontology Based Approach Int. J. of Computers, Communications & Control, ISSN 1841-9836, E-ISSN 1841-9844 Vol. V (2010), No. 5, pp. 946-952 Contributions to the Study of Semantic Interoperability in Multi-Agent Environments -

More information

CloudI Integration Framework. Chicago Erlang User Group May 27, 2015

CloudI Integration Framework. Chicago Erlang User Group May 27, 2015 CloudI Integration Framework Chicago Erlang User Group May 27, 2015 Speaker Bio Bruce Kissinger is an Architect with Impact Software LLC. Linkedin: https://www.linkedin.com/pub/bruce-kissinger/1/6b1/38

More information

MaSMT: A Multi-agent System Development Framework for English-Sinhala Machine Translation

MaSMT: A Multi-agent System Development Framework for English-Sinhala Machine Translation MaSMT: A Multi-agent System Development Framework for English-Sinhala Machine Translation B. Hettige #1, A. S. Karunananda *2, G. Rzevski *3 # Department of Statistics and Computer Science, University

More information

J A D E Te s t S u i t e

J A D E Te s t S u i t e J A D E Te s t S u i t e USER GUIDE Last update: 12-January-2005 JADE3.4 Authors: Elisabetta Cortese (TILAB) Giovanni Caire (TILAB) Rosalba Bochicchio (TILAB) JADE - Java Agent DEvelopment Framework is

More information

FIPA Agent Software Integration Specification

FIPA Agent Software Integration Specification FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS FIPA Agent Software Integration Specification Document title FIPA Agent Software Integration Specification Document number XC00079A Document source FIPA Architecture

More information

FIPA and FIPA-OS. Stefan Poslad. Multimedia, Intelligent Systems & Applications Group Dept. Electronic Engineering

FIPA and FIPA-OS. Stefan Poslad. Multimedia, Intelligent Systems & Applications Group Dept. Electronic Engineering FIPA and FIPA-OS Stefan Poslad Multimedia, Intelligent Systems & Applications Group Dept. Electronic Engineering email: stefan.poslad@elec.qmul.ac.uk web: http://www2.elec.qmul.ac.uk/~stefan MATA'01 FIPA

More information

CSE Lecture 24 Review and Recap. High-Level Overview of the Course!! L1-7: I. Programming Basics!

CSE Lecture 24 Review and Recap. High-Level Overview of the Course!! L1-7: I. Programming Basics! CSE 1710 Lecture 24 Review and Recap High-Level Overview of the Course L1-7: I. Programming Basics Ch1, 2, 5, sec 3.2.4 (JBA) L8, L9: II. Working with Images APIs + Classes L10: Midterm L11-14: III. Object

More information

1.1 Jadex - Engineering Goal-Oriented Agents

1.1 Jadex - Engineering Goal-Oriented Agents 1.1 Jadex - Engineering Goal-Oriented Agents In previous sections of the book agents have been considered as software artifacts that differ from objects mainly in their capability to autonomously execute

More information

JADE ADMINISTRATOR S GUIDE

JADE ADMINISTRATOR S GUIDE JADE ADMINISTRATOR S GUIDE USAGE RESTRICTED ACCORDING TO LICENSE AGREEMENT. last update: 10-July-2001. JADE 2.3 Authors: Fabio Bellifemine, Giovanni Caire, Tiziana Trucco (CSELT S.p.A.) Giovanni Rimassa

More information

CHAPTER 7 JAVA AGENT DEVELOPMENT ENVIRONMENT

CHAPTER 7 JAVA AGENT DEVELOPMENT ENVIRONMENT CHAPTER 7 JAVA AGENT DEVELOPMENT ENVIRONMENT 159 Chapter 7 Java Agent Development Environment For more enhanced information resources it requires that the information system is distributed in a network

More information

Getting Started with Web Services

Getting Started with Web Services Getting Started with Web Services Getting Started with Web Services A web service is a set of functions packaged into a single entity that is available to other systems on a network. The network can be

More information

The American University at Cairo. The Computer Science Department. Csci485-Intelligent Agents. Spring 2006 Dr Rafea. JADE Tutorial

The American University at Cairo. The Computer Science Department. Csci485-Intelligent Agents. Spring 2006 Dr Rafea. JADE Tutorial The American University at Cairo The Computer Science Department Csci485-Intelligent Agents Spring 2006 Dr Rafea JADE Tutorial 1. Introduction Intelligent Agents have been extensively used in different

More information

You can also launch the instances on different machines by supplying IPv4 addresses and port numbers in the format :3410

You can also launch the instances on different machines by supplying IPv4 addresses and port numbers in the format :3410 CS 3410: Paxos Introduction In this assignment, you will implement a simple in-memory database that is replicated across multiple hosts using the Paxos distributed consensis protocol. You can download

More information

Towards developing multi-agent systems in Ada G. Aranda, J. Palanca, A. Espinosa, A. Terrasa, and A. García-Fornes {garanda,jpalanca,aespinos,aterrasa,agarcia}@dsic.upv.es Information Systems and Computation

More information

Visual Construction of Multi-Agent-Systems according to the AgentComponent Approach and the Run-Design-Time Concept

Visual Construction of Multi-Agent-Systems according to the AgentComponent Approach and the Run-Design-Time Concept Visual Construction of Multi-Agent-Systems according to the AgentComponent Approach and the Run-Design-Time Concept Philipp Meier Institute of Computer Science, Ludwig-Maximilians-Universität meierp@pst.informatik.uni-muenchen.de

More information

Antonella Di Stefano, Corrado Santoro. (presenting)

Antonella Di Stefano, Corrado Santoro. (presenting) Antonella Di Stefano, Corrado Santoro (presenting) Motivations Erlang Language exat: Tool & Case-Studies Conclusions Agent Programming Two Main Aspects Agent Behaviour FSM-Based (State, Event) (State,

More information

Title: PERSONAL TRAVEL MARKET: A REAL-LIFE APPLICATION OF THE FIPA STANDARDS

Title: PERSONAL TRAVEL MARKET: A REAL-LIFE APPLICATION OF THE FIPA STANDARDS Title: PERSONAL TRAVEL MARKET: A REAL-LIFE APPLICATION OF THE FIPA STANDARDS Authors: Jorge Núñez Suárez British Telecommunications jorge.nunez-suarez@bt.com Donie O'Sullivan Broadcom Eireann dos@broadcom.ie

More information

Java Persistence API (JPA) Entities

Java Persistence API (JPA) Entities Java Persistence API (JPA) Entities JPA Entities JPA Entity is simple (POJO) Java class satisfying requirements of JavaBeans specification Setters and getters must conform to strict form Every entity must

More information

P2: Exercise 2 Discussion. Pooja Rani

P2: Exercise 2 Discussion. Pooja Rani P2: Exercise 2 Discussion Pooja Rani March 9, 2018 1 Exercise 2 SkipPlayer: Skip the next player s turn? Main problem: Find the next player Approaches Use boolean flag Use an ArrayList to get random index

More information

Getting Started with Web Services

Getting Started with Web Services Getting Started with Web Services Getting Started with Web Services A web service is a set of functions packaged into a single entity that is available to other systems on a network. The network can be

More information

CS 251 Intermediate Programming Java Basics

CS 251 Intermediate Programming Java Basics CS 251 Intermediate Programming Java Basics Brooke Chenoweth University of New Mexico Spring 2018 Prerequisites These are the topics that I assume that you have already seen: Variables Boolean expressions

More information

The tupinjade package

The tupinjade package The tupinjade package The tupinjade package defines the following classes: ErrorMsg: this class is used by the tuprolog agents running in a JADE platform with the aim of displaying a pop-up window with

More information

Chapter 5 INTRODUCTION TO MOBILE AGENT

Chapter 5 INTRODUCTION TO MOBILE AGENT Chapter 5 INTRODUCTION TO MOBILE AGENT 135 Chapter 5 Introductions to Mobile Agent 5.1 Mobile agents What is an agent? In fact a software program is containing an intelligence to help users and take action

More information

DESIGN PATTERN - INTERVIEW QUESTIONS

DESIGN PATTERN - INTERVIEW QUESTIONS DESIGN PATTERN - INTERVIEW QUESTIONS http://www.tutorialspoint.com/design_pattern/design_pattern_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Design Pattern Interview Questions

More information

Programming with the Service Control Engine Subscriber Application Programming Interface

Programming with the Service Control Engine Subscriber Application Programming Interface CHAPTER 5 Programming with the Service Control Engine Subscriber Application Programming Interface Revised: July 28, 2009, Introduction This chapter provides a detailed description of the Application Programming

More information

Goals for Today. CSE1030 Introduction to Computer Science II. CSE1030 Lecture #4. Review: Methods / Code

Goals for Today. CSE1030 Introduction to Computer Science II. CSE1030 Lecture #4. Review: Methods / Code CSE1030 Introduction to Computer Science II Lecture #4 Non-Static Features of Java Classes II Goals for Today Goals: Theory: Introduction to Class Extension More (Non-Static) Parts of a Typical Class Practical:

More information

Triadic Formal Concept Analysis within Multi Agent Systems

Triadic Formal Concept Analysis within Multi Agent Systems Triadic Formal Concept Analysis within Multi Agent Systems Petr Gajdoš, Pavel Děrgel Department of Computer Science, VŠB - Technical University of Ostrava, tř. 17. listopadu 15, 708 33 Ostrava-Poruba Czech

More information

The Overlay Socket API

The Overlay Socket API 1/10/2002 Overlay Socket API 1 The Overlay Socket API 1. OVERVIEW The HyperCast software provides an Application Programming Interface (API) for building applications that use overlay sockets. The overlay

More information

Scala. Introduction. Scala

Scala. Introduction. Scala Scala Introduction 1 Scala Scala was proposed by Professor Martin Odersky and his group at EPFL in 2003 to provide a highperformance, concurrent-ready environment for functional programming and object-oriented

More information

JADE PROGRAMMER S GUIDE

JADE PROGRAMMER S GUIDE JADE PROGRAMMER S GUIDE USAGE RESTRICTED ACCORDING TO LICENSE AGREEMENT. last update: 4-September-2001. JADE 2.4 Authors: Fabio Bellifemine, Giovanni Caire, Tiziana Trucco (ex CSELT Giovanni Rimassa (University

More information

Programming in C++ 4. The lexical basis of C++

Programming in C++ 4. The lexical basis of C++ Programming in C++ 4. The lexical basis of C++! Characters and tokens! Permissible characters! Comments & white spaces! Identifiers! Keywords! Constants! Operators! Summary 1 Characters and tokens A C++

More information

ObjectStore and Objectivity/DB. Application Development Model of Persistence Advanced Features

ObjectStore and Objectivity/DB. Application Development Model of Persistence Advanced Features Object-Oriented Oi t ddatabases ObjectStore and Objectivity/DB Application Development Model of Persistence Advanced Features Persistence Strategies Persistence by inheritance persistence capabilities

More information

Introduction to the Semantic Web

Introduction to the Semantic Web ITTALKS Introduction to the Web example applications ITTALKS is a database driven web site of IT related talks at UMC and other institutions. The database contains information on Seminar events http://ittalks.org/

More information

Introduction to Programming Using Java (98-388)

Introduction to Programming Using Java (98-388) Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;

More information

SE 4DB3 TUTORIAL 2: REDUCTION TO RELATIONAL SCHEMAS

SE 4DB3 TUTORIAL 2: REDUCTION TO RELATIONAL SCHEMAS SE 4DB3 TUTORIAL 2: REDUCTION TO RELATIONAL SCHEMAS Jan 29, 2016 Sample ER diagram date Representing of Strong Entity Sets Let E be a strong entity set with descriptive attributes a 1, a 2,, a n. We represent

More information

REALM.IO NOSQL FOR MOBILE

REALM.IO NOSQL FOR MOBILE REALM.IO NOSQL FOR MOBILE Mitchell Tilbrook Twitter: @sir_tilbrook Mobile Engineer @ Seatfrog Android, ios, Xamarin Recording & Editing for 7+ meet-ups ANZCoders: https://www.youtube.com/c/ ANZCoders Android

More information

FIPA ACL Message Structure Specification

FIPA ACL Message Structure Specification 1 2 3 4 5 FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS FIPA ACL Message Structure Specification 6 7 Document title FIPA ACL Message Structure Specification Document number XC00061E Document source FIPA TC

More information

Relational model continued. Understanding how to use the relational model. Summary of board example: with Copies as weak entity

Relational model continued. Understanding how to use the relational model. Summary of board example: with Copies as weak entity COS 597A: Principles of Database and Information Systems Relational model continued Understanding how to use the relational model 1 with as weak entity folded into folded into branches: (br_, librarian,

More information

IG-JADE-PKSlib. An Agent Based Framework for Advanced Web Service Composition and Provisioning. Erick Martínez & Yves Lespérance

IG-JADE-PKSlib. An Agent Based Framework for Advanced Web Service Composition and Provisioning. Erick Martínez & Yves Lespérance IG-JADE-PKSlib An Agent Based Framework for Advanced Web Service Composition and Provisioning Erick Martínez & Yves Lespérance Department of Computer Science York University Toronto, Canada 1 Motivation

More information

Announcements. 1. Forms to return today after class:

Announcements. 1. Forms to return today after class: Announcements Handouts (3) to pick up 1. Forms to return today after class: Pretest (take during class later) Laptop information form (fill out during class later) Academic honesty form (must sign) 2.

More information

Designing Robust Classes

Designing Robust Classes Designing Robust Classes Learning Goals You must be able to:! specify a robust data abstraction! implement a robust class! design robust software! use Java exceptions Specifications and Implementations

More information

Digital Home. Information & FAQs

Digital Home. Information & FAQs Digital Phone @ Home Information & FAQs @ For a complete tutorial on the Customer Portal, Digital Phone @ Home Features & Voicemail, and FAQs, please click on the link Digital Phone @ Home Tutorial on

More information

FAULT LOCALIZATION AND RESTORATION OF DISTRIBUTION NETWORK USING A MULTI AGENT BASED SYSTEM

FAULT LOCALIZATION AND RESTORATION OF DISTRIBUTION NETWORK USING A MULTI AGENT BASED SYSTEM FAULT LOCALIZATION AND RESTORATION OF DISTRIBUTION NETWORK USING A MULTI AGENT BASED SYSTEM Aruna Ireshan Panagoda (108860A) Thesis submitted in partial fulfilment of the requirement for the Degree of

More information

Com S/Geron 415X Gerontechnology in Smart Home Environments Lecture 9 Intro to Service Computing. Dr. Hen-I Yang ComS Dept., ISU

Com S/Geron 415X Gerontechnology in Smart Home Environments Lecture 9 Intro to Service Computing. Dr. Hen-I Yang ComS Dept., ISU Com S/Geron 415X Gerontechnology in Smart Home Environments Lecture 9 Intro to Service Computing Dr. Hen-I Yang ComS Dept., ISU Feb. 22, 2011 Reflection Peeking Ahead Today (2/22) Introduction to Service

More information

ForeScout CounterACT. Configuration Guide. Version 3.4

ForeScout CounterACT. Configuration Guide. Version 3.4 ForeScout CounterACT Open Integration Module: Data Exchange Version 3.4 Table of Contents About the Data Exchange Module... 4 About Support for Dual Stack Environments... 4 Requirements... 4 CounterACT

More information

FIPA Messaging Interoperability Service Specification

FIPA Messaging Interoperability Service Specification 1 2 3 4 5 6 FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS FIPA Messaging Interoperability Service Specification 7 8 9 Document title FIPA Messaging Interoperability Service Specification Document number XC00093A

More information

InformationTechnology

InformationTechnology dvanced Calling Features One of the benefits of running University voice service to Skype for Business is the opportunity to manage calls through a PC or laptop using the Skype application with a compatible

More information

Assignment3 CS206 Intro to Data Structures Fall Part 1 (50 pts) due: October 13, :59pm Part 2 (150 pts) due: October 20, :59pm

Assignment3 CS206 Intro to Data Structures Fall Part 1 (50 pts) due: October 13, :59pm Part 2 (150 pts) due: October 20, :59pm Part 1 (50 pts) due: October 13, 2013 11:59pm Part 2 (150 pts) due: October 20, 2013 11:59pm Important Notes This assignment is to be done on your own. If you need help, see the instructor or TA. Please

More information

Web Services for Relational Data Access

Web Services for Relational Data Access Web Services for Relational Data Access Sal Valente CS 6750 Fall 2010 Abstract I describe services which make it easy for users of a grid system to share data from an RDBMS. The producer runs a web services

More information

Security Administrator guide

Security Administrator guide JADE TUTORIAL Security Administrator guide USAGE RESTRICTED ACCORDING TO LICENSE AGREEMENT. last update: 19-September-2002. JADE 2.61 Author: Giosuè Vitaglione (TILAB, formerly CSELT) Copyright (C) 2002

More information

CSC Java Programming, Fall Java Data Types and Control Constructs

CSC Java Programming, Fall Java Data Types and Control Constructs CSC 243 - Java Programming, Fall 2016 Java Data Types and Control Constructs Java Types In general, a type is collection of possible values Main categories of Java types: Primitive/built-in Object/Reference

More information

Objects First with Java A Practical Introduction using BlueJ

Objects First with Java A Practical Introduction using BlueJ Objects First with Java A Practical Introduction using BlueJ David J. Barnes Michael Kölling Extensions by H.-J. Bungartz and T. Neckel 2.1 Course Contents Introduction to object-oriented programming with

More information

Abstract Classes and Interfaces

Abstract Classes and Interfaces Abstract Classes and Interfaces Reading: Reges and Stepp: 9.5 9.6 CSC216: Programming Concepts Sarah Heckman 1 Abstract Classes A Java class that cannot be instantiated, but instead serves as a superclass

More information

JADE PROGRAMMER S GUIDE

JADE PROGRAMMER S GUIDE JADE PROGRAMMER S GUIDE USAGE RESTRICTED ACCORDING TO LICENSE AGREEMENT. last update:22-november-2005. JADE 3.3 Authors: Fabio Bellifemine, Giovanni Caire, Tiziana Trucco (TILAB, formerly CSELT) Giovanni

More information

JADE Web Service Integration Gateway (WSIG)

JADE Web Service Integration Gateway (WSIG) W HITESTEIN Technologies JADE Web Service Integration Gateway (WSIG) Dominic Greenwood JADE Tutorial, AAMAS 2005 Introduction Web Services WWW has increasing movement towards machine-to-machine models

More information

Announcements for the Class

Announcements for the Class Lecture 2 Classes Announcements for the Class Readings Section 1.4, 1.5 in text Section 3.1 in text Optional: PLive CD that comes with text References in text Assignment Assignment 1 due next week Due

More information

db4o: Part 2 Configuration and Tuning, Distribution and Replication Schema Evolution: Refactoring, Inheritance Evolution Callbacks and Translators

db4o: Part 2 Configuration and Tuning, Distribution and Replication Schema Evolution: Refactoring, Inheritance Evolution Callbacks and Translators Object-Oriented Oi t ddatabases db4o: Part 2 Configuration and Tuning, Distribution and Replication Schema Evolution: Refactoring, Inheritance Evolution Callbacks and Translators Summary: db4o Part 1 Managing

More information

Configuring the Oracle Network Environment. Copyright 2009, Oracle. All rights reserved.

Configuring the Oracle Network Environment. Copyright 2009, Oracle. All rights reserved. Configuring the Oracle Network Environment Objectives After completing this lesson, you should be able to: Use Enterprise Manager to: Create additional listeners Create Oracle Net Service aliases Configure

More information

FIPA ACL Message Representation in String Specification

FIPA ACL Message Representation in String Specification 1 2 3 4 5 6 FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS FIPA ACL Message Representation in String Specification 7 8 Document title FIPA ACL Message Representation in String Specification Document number

More information

Exceptions vs. Errors Exceptions vs. RuntimeExceptions try...catch...finally throw and throws

Exceptions vs. Errors Exceptions vs. RuntimeExceptions try...catch...finally throw and throws Lecture 14 Summary Exceptions vs. Errors Exceptions vs. RuntimeExceptions try...catch...finally throw and throws 1 By the end of this lecture, you will be able to differentiate between errors, exceptions,

More information

Exceptions Programming 1 C# Programming. Rob Miles

Exceptions Programming 1 C# Programming. Rob Miles Exceptions 08101 Programming 1 C# Programming Rob Miles Exceptions There are two kinds of programming error Compilation error Compiler complains that our source is not valid C# Run time error Program crashes

More information

InsECTJ: A Generic Instrumentation Framework for Collecting Dynamic Information within Eclipse

InsECTJ: A Generic Instrumentation Framework for Collecting Dynamic Information within Eclipse InsECTJ: A Generic Instrumentation Framework for Collecting Dynamic Information within Eclipse Arjan Seesing and Alessandro Orso College of Computing Georgia Institute of Technology a.c.seesing@ewi.tudelft.nl,

More information

Exceptions. Exceptions. Exceptional Circumstances 11/25/2013

Exceptions. Exceptions. Exceptional Circumstances 11/25/2013 08101 Programming 1 C# Programming Rob Miles There are two kinds of programming error Compilation error Compiler complains that our source is not valid C# Run time error Program crashes when it runs Most

More information

Mobile Code Paradigms

Mobile Code Paradigms Mobile Code Paradigms Sebastian Fischmeister Fischmeister@SoftwareResearch.net Key Aspect & Elements Mobile code is about do you move the data or do you move the code. Elements Data (stored result sets)

More information

Introduction - GAMA. Gis & Agent-based Modeling Architecture. Agent-based, spatially explicit, modeling and simulation platform.

Introduction - GAMA. Gis & Agent-based Modeling Architecture. Agent-based, spatially explicit, modeling and simulation platform. Econofisica / Econophysics, Prof. Terna Anno accademico 2016/2017 GAMA Gis & Agent-based Modeling Architecture JADE JAVA Agent DEvelopment Framework Dr. Jacopo Pellegrino - http://personalpages.to.infn.it/~japelleg/

More information

Info 408 Distributed Applications Programming Exercise sheet nb. 4

Info 408 Distributed Applications Programming Exercise sheet nb. 4 Lebanese University Info 408 Faculty of Science 2017-2018 Section I 1 Custom Connections Info 408 Distributed Applications Programming Exercise sheet nb. 4 When accessing a server represented by an RMI

More information

UWAgents User s Manual (version 1.01)

UWAgents User s Manual (version 1.01) UWAgents User s Manual (version 1.01) Munehiro Fukuda 1 Koichi Kashiwagi 2 Eric Nelson 1,2 Duncan Smith 1 1 Computing & Software Systems, University of Washington, Bothell, 2 Computer Science, Ehime University,

More information

COP 3330 Final Exam Review

COP 3330 Final Exam Review COP 3330 Final Exam Review I. The Basics (Chapters 2, 5, 6) a. comments b. identifiers, reserved words c. white space d. compilers vs. interpreters e. syntax, semantics f. errors i. syntax ii. run-time

More information

Lessons learned so far... Wednesday, January 26, :16 PM

Lessons learned so far... Wednesday, January 26, :16 PM Consistency_and_Concurrency Page 1 Lessons learned so far... Wednesday, January 26, 2011 4:16 PM Last lecture: syntax: A cloud application is a java serial program that interacts with persistent instances

More information

Chapter 3 (part 3) Describing Syntax and Semantics

Chapter 3 (part 3) Describing Syntax and Semantics Chapter 3 (part 3) Describing Syntax and Semantics Chapter 3 Topics Introduction The General Problem of Describing Syntax Formal Methods of Describing Syntax Attribute Grammars Describing the Meanings

More information

CSCE 314 Programming Languages. Type System

CSCE 314 Programming Languages. Type System CSCE 314 Programming Languages Type System Dr. Hyunyoung Lee 1 Names Names refer to different kinds of entities in programs, such as variables, functions, classes, templates, modules,.... Names can be

More information

Advanced BPEL. Variable initialization. Scope. BPEL - Java Mapping. Variable Properties

Advanced BPEL. Variable initialization. Scope. BPEL - Java Mapping. Variable Properties Advanced BPEL Variable initialization When a variable is declared in a BPEL process, it has no value until one is assigned to it. From within a Java Snippet, extra care must be taken as the variable will

More information

Mobile Computing Professor Pushpedra Singh Indraprasth Institute of Information Technology Delhi Activity Logging Lecture 16

Mobile Computing Professor Pushpedra Singh Indraprasth Institute of Information Technology Delhi Activity Logging Lecture 16 Mobile Computing Professor Pushpedra Singh Indraprasth Institute of Information Technology Delhi Activity Logging Lecture 16 Hello, last two classes we learned about activity life cycles and the call back

More information

Basic DOF Security. Programmer s Guide. Version 7.0

Basic DOF Security. Programmer s Guide. Version 7.0 Basic DOF Security Programmer s Guide Version 7.0 Table of Contents Chapter 1: Introduction 1 How to Read This Guide 1 Security Concepts Overview 1 Roles 2 Chapter 2: Authentication Server Access 3 Installing

More information

AP Computer Science A Magpie Chatbot Lab Student Guide

AP Computer Science A Magpie Chatbot Lab Student Guide AP Computer Science A Magpie Chatbot Lab Student Guide The AP Program wishes to acknowledge and thank Laurie White of Mercer University, who developed this lab and the accompanying documentation. Activity

More information