IDK5151 kohtumine kaugõppijatega

Slides:



Advertisements
Similar presentations
Message Passing Vs Distributed Objects
Advertisements

Threads, SMP, and Microkernels
13/04/2015Client-server Programming1 Block 6: Threads 1 Jin Sa.
Barry Wilkinson and Mark Holliday, 2004A1.1 Assignments Preliminaries Several computers are configured at WCU for the assignments. Here, terra.cs.wcu.edu.
A1.1 Assignment 1 “Deploying a Simple Web Service”
SELBO Agent Ivan Minov University of Plovdiv “Paisii Hilendarski“
Classes and Objects: Recap A typical Java program creates many objects which interact with one another by sending messages. Through the objects interactions,
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.
CS220 Software Development Lecture: Multi-threading A. O’Riordan, 2009.
Principles of Object-Oriented Software Development The language Java.
Introduction to JADE presenter: Syuan-Hao Li
Jade (3 h) Dott. Daniela Briola. Jade Agent JADE Agents are defined as subclasses of the predefined class Agent Their initial code (if any) must be placed.
Java Overview February 4, /4/2004 Assignments Due – Homework 1 Due – Reading and Warmup questions Project 1 – Basic Networking.
Classes and Objects  A typical Java program creates many objects which interact with one another by sending messages. Through the objects interactions,
JADE Java Agent Development Framework An Overview.
Programming Agents with JADE for Multi-Agent Systems
Multi-Agent System for Online Auctions Jose Manuel Valladares Pernas CIS Master Project - Fall 2004 Advisor: Dr. Haiping Xu.
2° cycle degree programme (lm) in Telecommunications Engineering Principles Models and Applications for Distributed Systems Prof. Maurelio Boari
JADE: installation and “Hello World” application Fabiano Dalpiaz Agent-Oriented Software Engineering (AOSE)
Java Agent Development Environment (JADE) Jade is a platform for running agents; it supports: –An asynchronous agent programming model –Communication between.
Gayle J Yaverbaum, PhD Professor of Information Systems Penn State Harrisburg.
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved Concurrency in Android with.
Workshop 9 in AOM & MAS Prof Kuldar Taveter, Tallinn University of Technology.
1 Introduction of Java Agent Development Environment (JADE) Presented by Po-Cheng Huang.
Austin Java Users Group developerWorks article – µActor Library BARRY FEIGENBAUM, PH. D. 02/26/13.
SALSA: Language and Architecture for Widely Distributed Actor Systems. Carlos Varela, Abe Stephens, Department of.
Prof Kuldar Taveter, Tallinna Tehnikaülikool
1 Module Objective & Outline Module Objective: After completing this Module, you will be able to, appreciate java as a programming language, write java.
The Java Programming Language
CS 11 java track: lecture 1 Administrivia need a CS cluster account cgi-bin/sysadmin/account_request.cgi need to know UNIX
Jaeki Song ISQS6337 JAVA Lecture 03 Introduction to Java -The First Java Application-
POS 406 Java Technology And Beginning Java Code
LAB 1CSIS04021 Briefing on Assignment One & RMI Programming February 13, 2007.
1 Introduction to JADE presenter: Ji-Yu Li. 2 Outline Introduction Foundation for Intelligent Physical Agents (FIPA) Java Agent Development Environment.
IBM TSpaces Lab 1 Introduction. Summary TSpaces Overview Basic Definitions Basic primitive operations Reading/writing tuples in tuplespace HelloWorld.
Tutorial 1 Running JADE Under Eclipse Dr. Fuhua Lin School of Computing and Information Systems Athabasca University, Alberta, Canada Oct. 27, 2009.
Chapter 4: A Paradigm Program structure Connecting to the Java world Types Access modifiers Lifetime modifiers.
An Introduction to Programming and Object Oriented Design using Java 3 rd Edition. Dec 2007 Jaime Niño Frederick Hosch Chapter 18 Integrating user interface.
Concurrent Programming and Threads Threads Blocking a User Interface.
JADE: agents insights Fabiano Dalpiaz Agent-Oriented Software Engineering (AOSE)
Why a FIPA platform? (I) We inherit the benefits of FIPA standardization. We ensure a high degree of compatibility with other FIPA compliant agents build.
Sensor Web – TITAN Research 4/24/2017
Object Oriented Programming Examples: C++, Java Advantages: 1. reusibility of code 2. ability to adapt (extend) previously written code.
Core Java Introduction Byju Veedu Ness Technologies httpdownload.oracle.com/javase/tutorial/getStarted/intro/definition.html.
Introduction to Java Chapter 7 - Classes & Object-oriented Programming1 Chapter 7 Classes and Object-Oriented Programming.
Overview of Java CSCI 392 Day One. Running C code vs Java code C Source Code C Compiler Object File (machine code) Library Files Linker Executable File.
Concurrent Computing CSCI 201L Jeffrey Miller, Ph.D. HTTP :// WWW - SCF. USC. EDU /~ CSCI 201 USC CSCI 201L.
CSI 3125, Preliminaries, page 1 Compiling the Program.
Tutorial 2 Agent Actions Specification --- Behavior Dr. Fuhua Lin School of Computing and Information Systems Athabasca University, Alberta, Canada Oct.
Getting Started with the Open Services Gateway Initiative (OSGi) CNT 5517 Dr. Sumi Helal, Ph.D. Professor Computer & Information Science & Engineering.
EEL 5937 The Bond Agent System (3) EEL 5937 Multi Agent Systems Lecture 17, March. 4, 2003 Lotzi Bölöni.
JADE: installation and “Hello World” application
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
IDK kohtumine kaugõppijatega Prof Kuldar Taveter, Tallinna Tehnikaülikool.
Creating Java Applications (Software Development Life Cycle) 1. specify the problem requirements - clarify 2. analyze the problem - Input? Processes? Output.
JADE Java Agent Development Environment Yunus Emre ÇAKMAZ Ahmet Cahit YAŞA 1.
Real-Time Systems Laboratory Seolyoung, Jeong JADE (Java Agent DEvelopment framework )
Java 5 Class Anatomy. User Defined Classes To this point we’ve been using classes that have been defined in the Java standard class library. Creating.
M OBILE A GENTS & JADE Shaquille Wilkins Zak Lowman.
Multi-Agent System for Online Auctions Jose Manuel Valladares Pernas CIS Master Project - Fall 2004 Advisor: Dr. Haiping Xu.
Electronic Commerce Java (1)
Servlets.
Developing Mobile Agent Systems
Android Runtime – Dalvik VM
Remote Method Invocation
Msury Mahunnah, Tallinn University of Technology
Programming Language Concepts (CIS 635)
JADE - Java Agent DEvelopment framework -
Android Topics UI Thread and Limited processing resources
Constructors, GUI’s(Using Swing) and ActionListner
Presentation transcript:

IDK5151 kohtumine kaugõppijatega 26.04.2013 Prof Kuldar Taveter, Tallinna Tehnikaülikool

Hindamine Analüüsimudelite kaitsmine: 10% Disainimudelite kaitsmine: 10% Kirjalik aruanne, umbes 2000 sõna koos lisadega, joonistega, tabelitega ja lähtekoodi näidetega: 20% Töö lõpukaitsmine: 10% Kahetunnine kirjalik eksam: 50%

Ajakava Esimene kohtumine 01.02.2013: Sissejuhatus 15.02.2013: Tähtaeg tiimide moodustamiseks ja teemade valikuks Teine kohtumine 12.04.2013: Analüüsimudelite kaitsmine Kolmas kohtumine 26.04.2013: Disainimudelite kaitsmine 08.05.2013: Tähtaeg miniprojekti esitamiseks Neljas kohtumine 10.05.2010: miniprojekti lõpukaitsmine

Miniprojektid Nõudmised: Kaitsmine 10. mail kell 19.30-21.00: Mudelid korralikult vormistatud seletuskirjaga (k.a. sissejuhatus) Esitamise tähtaeg: 8. mai Kaitsmine 10. mail kell 19.30-21.00: Ettekanne igalt tiimilt umbes 10 minutit 2-4 slaidiga Realisatsiooni demo Küsimused tiimi liikmetele Hindamine: Lahenduse hajutatud iseloom AOM-i vaatepunktide raamistiku 6 ülemise lahtri kaetus mudelitega Mudelite põhjendused (miks on vaja üht või teist liiki mudeleid?) Mudelite seostatus Mudelite korrektsus Realisatsioon 1

Kirjandus Sterling, L. & Taveter, K. (2009). The art of agent-oriented modeling. MIT Press. Wooldridge, M. (2009). Introduction to multi-agent systems, 2nd Edition. Addison-Wesley. d'Inverno, M. & Luck, M. (2001). Understanding agent systems. Springer-Verlag. Padgham, L. & Winikoff, M. (2004). Developing intelligent agent systems: A practical guide. John Wiley and Sons. Bellifemine, F., Caire, G, & Greenwood, D. (2005). Developing multi-agent systems with JADE. John Wiley & Sons. Bordini, R. H., Hübner, J. F., & Wooldridge, M. (2007). Programming multi-agent systems in AgentSpeak using Jason. John Wiley & Sons.

JADE (Java Agent Development Environment)  Distributed agent platform which can be split among several hosts  Java Application Programmer’s Interface.  Graphical User Interface to manage several agents from the same Remote Management Agent  Library of FIPA interaction protocols, such as Contract Net  Available at http://jade.tilab.com/

JADE Agent Platform

Agents, Containers and Platforms

AMS and DF AMS – Agent Management System Providing naming services DF – Directory Facilitator Provides Yellow Pages service

Creating JADE agent import jade.core.Agent; import jade.core.AID; public class PhysicianAgent extends Agent { protected void setup() { // Printout a welcome message System.out.println("Hello! Physician-agent "+getAID().getName()+" is ready."); }

Running JADE agent Classpath can/should be set beforehand. javac -classpath <JADE-classes> PhysicianAgent.java java -classpath <JADE-classes> jade.Boot -gui physician1:PhysicianAgent Classpath can/should be set beforehand.

Passing arguments to an agent import jade.core.Agent; import jade.core.AID; public class PhysicianAgent extends Agent { private String specialty; protected void setup() { // Printout a welcome message System.out.println("Hello! Physician-agent "+getAID().getName()+" is ready."); Object[] args = getArguments(); if (args != null && args.length > 0){ specialty = (String) args [0]; System.out.println("My area of specialisation is "+specialty); } else { System.out.println("No specialty has been assigned."); doDelete(); } } protected void takeDown(){ System.out.println("Physician-agent "+getAID().getName()+" terminated");

Running JADE agent with arguments javac PhysicianAgent.java java jade.Boot -gui physician1:PhysicianAgent(Cardiologist)

Terminating JADE agent import jade.core.Agent; import jade.core.AID; public class PhysicianAgent extends Agent { private String specialty; protected void setup() { // Printout a welcome message System.out.println("Hello! Physician-agent "+getAID().getName()+" is ready."); Object[] args = getArguments(); if (args != null && args.length > 0){ specialty = (String) args [0]; System.out.println("My area of specialisation is "+specialty); } else { System.out.println("No specialty has been assigned."); doDelete(); } } protected void takeDown(){ System.out.println("Physician-agent "+getAID().getName()+" terminated");

Agent life cycle

Concurrent tasks An agent must be able to carry out several concurrent tasks in response to different external events Every JADE agent is composed of a single execution thread Concurrent tasks are modelled and can be implemented as instances of jade.core.behaviours.Behaviour

Agent thread

Hierarchy of behaviours

Defining JADE agents package DigitalPet; import jade.core.*; public class Tamagotchi extends Agent { // Put agent initializations here protected void setup() { // Adding behaviours addBehaviour(new MessageHandler (this)); … } // If needed, put agent clean-up operations here protected void takeDown() { System.out.println(“Tamagotchi “+getAID().getName()+” terminating.”);

Defining behaviours package DigitalPet; import jade.core.*; import jade.core.behaviours.*; import jade.lang.acl.*; public class MyOneShotBehaviour extends OneShotBehaviour { public void action() { // perform operation X } public class MyCyclicBehaviour extends CyclicBehaviour { // perform operation Y

Sending messages ACLMessage msg = new ACLMessage(ACLMessage.INFORM); msg.addReceiver(new AID(“tama1”, false); msg.setLanguage(“English”); msg.setOntology(“Weather-forecast-ontology”); msg.setContent(“Today it’s raining”); myAgent.send(msg); // Message carrying a request for offer ACLMessage cfp = new ACLMessage(ACLMessage.CFP); for (int i = 0; i < sellerAgents.lenght; ++i) { cfp.addReceiver(sellerAgents[i]); } cfp.setContent(targetBookTitle); myAgent.send(cfp);

Receiving messages public void action() { ACLMessage msg = myAgent.receive(); if (msg != null) { // Message received. Process it ... } else { block();

Setting classpath Please include in the classpath the following library files: …\jade\lib\jade.jar …\jade\lib\jadeTools.jar …\jade\lib\http.jar …\jade\lib\iiop.jar Please include in the classpath the location(s) of your Java class files

Compiling and running JADE agents javac Tamagotchi.java Behaviours.java … java jade.Boot –gui -platform java jade.Boot –container tama1:DigitalPet.Tamagotchi

Please consult API! http://jade.tilab.com/doc/api/index.html