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.

Slides:



Advertisements
Similar presentations
MIDP Mobile Information Device Profile Johnny Yau CIS 642 Prof. Insup Lee.
Advertisements

Agents & Mobile Agents.
Multimedia Network Communications Subject:T0934 / Multimedia Programming Foundation Session:13 Tahun:2009 Versi:1/0.
Agent-Oriented InfoStation Architecture Ivan Minov University of Plovdiv “Paisii Hilendarski“
Dr Rem Collier Department of Computer Science University College Dublin Agent Factory A Software Engineering Framework for Intelligent.
Chapter 10 THINKING IN OBJECTS 1 Object Oriented programming Instructor: Dr. Essam H. Houssein.
J2ME 25 July Overview  What is J2ME?  The CLDC and CDC configurations  MIDP and MIDlets  Development Tools  Demonstrations.
UNDERSTANDING JAVA APIS FOR MOBILE DEVICES v0.01.
Bluetooth and java – a perfect match? Sean O Sullivan ceo Nordic Bluetooth, October 5th, 2001.
This material is based upon work supported by Science Foundation Ireland under Grant No. 03/IN3/1361 UNIVERSITY COLLEGE DUBLIN DUBLIN CITY UNIVERSITY The.
ACCESS: An Agent Architecture for Ubiquitous Service Delivery Agents Channelling ContExt Sensitive Services C. Muldoon, G.M.P. O’Hare, D. Phelan, R. Strahan,
Architecture of Mobile eLearning Services Ivan Minov, Stanimir Stoyanov.
Quality Assurance and Testing of J2ME Programs for Mobiles Phones.
Technical Architectures
Beyond Prototyping in the Factory of Agents Rem Collier, Gregory O’Hare, Terry Lowen, Colm Rooney PRISM Laboratory, Department of Computer Science, University.
J2ME Web Services Specification.  With the promise to ease interoperability and allow for large scale software collaboration over the Internet by offering.
Developing an Application with J2ME Technology Scott Palmer, Nat Panchee, Judy Sullivan, Karen Thabet, Sten Westgard.
JAVA Technology. Java Technology Java technology is a portfolio of products that are based on the power of networks and the idea that the same software.
Interactive Visual System By Arthur Evans, John Sikorski, and Patricia Thomas.
The Multi-Agent System IDE : What it Should and Should not Support Gregory O’Hare, Department of Computer Science, University College Dublin.
Using Architecture Frameworks
V0.01 © 2009 Research In Motion Limited Understanding Java APIs for Mobile Devices Trainer name Date.
Managing Agent Platforms with the Simple Network Management Protocol Brian Remick Thesis Defense June 26, 2015.
For more Lectures and Notes Visit
Java 2 Platform, Micro Edition (J2ME) By Xiaorong Wang.
SM3121 Software Technology Mark Green School of Creative Media.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
L EC. 01: J AVA FUNDAMENTALS Fall Java Programming.
01 Introduction to Java Technology. 2 Contents History of Java What is Java? Java Platforms Java Virtual Machine (JVM) Java Development Kit (JDK) Benefits.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Topics on KVM Presented By Xiaozhou David Zhu. Topics covered Introduction Java2 Platform Micro Edition CLDC KVM.
EclipseME Java Micro Edition The Eclipse Way Craig Setera April 19, 2006.
Agent Factory : A Prototyping Environment for Agents Gregory O’Hare CS 4019 Multi-Agent Systems Lecture Material, University College Dublin.
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
Introduction to the Atlas Platform Mobile & Pervasive Computing Laboratory Department of Computer and Information Sciences and Engineering University of.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 12 Object-Oriented.
Programming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 11 J2ME and MIDlets Rob Pooley
Small Devices on DBGlobe System George Samaras Chara Skouteli.
Framework and application bytecode size CLDC MIDP kXML parser Utility classes Graphics Logic (MIDlet) Application Data (XML file)
Computer Science Wi-Fi App using J2ME and MVC Architecture Advisor : Dr. Chung-E Wang Department of Computer Science Sacramento State University Date:
J2ME Presented by May Sayed & Menna Hawash. Outline Introduction “Java Technology” Introduction “What is J2ME?” J2ME Architecture J2ME Core Concepts 
Java 2 Micro Edition (J2ME) and the world of java
Unified Modeling Language, Version 2.0
Master Thesis Defense Jan Fiedler 04/17/98
1Basics of J2ME. 2 Objectives –Understand the different java API’s and how the mobile edition API’s fit in –Understand what a mobile configuration and.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 1 Introduction to.
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 12-5 Software Engineering Design Goals.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
© 2005 Prentice Hall9-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
ICT Strategy Intelligent Highways: Endpoint Adapters.
14 June 2004System-wide Services: User InterfaceRich Moeser 1 EVLA Overall Software Design Final Internal Review System-wide Services: User Interface.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
A Frame Work For Developing Wireless Mobile Online Applications.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Richard Tynan, G.M.P. O’Hare, Michael O’Grady & Conor Muldoon School of Computer Science & Informatics University College Dublin Ireland.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Agent Overview. Topics Agent and its characteristics Architectures Agent Management.
Mobile Programming Mobile Programming - Ordibehesht Ordibehesht 1390.
Basic Characteristics of Object-Oriented Systems
Enhanced mobile services in Java enabled phones Björn Hjelt Sonera zed ltd Supervisor: Professor Jorma Jormakka.
6/28/ A global mesh of interconnected networks (internetworks) meets these human communication needs. Some of these interconnected networks are.
Real-Time Systems Laboratory Seolyoung, Jeong JADE (Java Agent DEvelopment framework )
1 Multimedia services over networks Service provider Service client Service registry Publish Discovery Bind Multimedia system Review/background Framework/
Advance Computer Programming Market for Java ME The Java ME Platform – Java 2 Micro Edition (J2ME) combines a resource- constrained JVM and a set of Java.
The Java Platform Micro Edition Java ME
Part II Software When developing software there are several particularities to be aware of: Java is widespread used because of the platform independence.
Chapter 1 Introduction to Computers, Programs, and Java
Wireless Instant Messaging Using J2ME
Presentation transcript:

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 Computer Science and Informatics, University College Dublin

Overview of Presentation Motivations Related Work J2ME Agent Factory Design of AFME Agnostic Communication Message Transport and Migration Services Conclusions

Motivations According to the W3C, there are now more mobile phones than desktop machines. The rate of growth in the mobile phone market is increasing faster than the desktop market, particularly in developing countries. The potential for deploying Java based agent frameworks is greater for the mobile market because most phones come with a J2ME JVM. Traditional Agent Platforms were develop for desktop environments.

Motivations There is a need for small footprint agent systems that address the memory and performance constraints of mobile devices. The BDI model of agency was specifically designed to facilitate the development of resource constrained agents. –Agents cannot achieve all of their desires. –They fix upon a subset known as their intentions The BDI model is sometimes criticised for being inefficient but this is often due to the algorithms used rather than a problem with the model itself.

Related Work JADE-LEAP –Agent Middleware framework MicroFIPA-OS –Embedded FIPA infrastructure 3APL-M –Cognitive Agent Framework / Incorporates prolog engine

AFME Technologies CLDC 1.0 / MIDP 1.0 Personal Digital Assistants (PDAs) –IBM J9 JVM –HP iPAQ H5450 / Bluetooth Enabled 2.5G / 3G Smart Phones –Nokia 3660 / 6230 / 6630 –Sony Ericsson P800 / P900 / P910

J2ME Java Platform divided into three editions –Enterprise Edition, Standard Edition and Mobile Edition One size fits all created problems –Limited capabilities for high end servers –Extraneous requirements for mobile devices J2ME comprises two configurations and a number of profiles. –CLDC / MIDP –CDC / Personal Profile Developers can now target specific markets but the write once run anywhere objective is not really feasible anymore, particularly with CLDC.

J2ME Differences between CLDC 1.0 / MIDP 1.0 and J2SE –May not have file system API –Different GUI package –No support for dynamic class loading or introspection –Different API for networking –No floating point numbers –Severely limited standard libraries; only about 80 classes –Different JVM specifications and application life cycle model

Agent Factory Cohesive Framework for the development of Multi-Agent Systems Comprises four layers –Agent Programming language –Runtime environment –Integrated Development Environment –Development Methodology

Agent Oriented Development Facilitates the direct programming of agents in a language whose semantics capture a theory of rational agency The Agent Factory Agent Programming Language is loosely based on Shoham’s AGENT0 Agents use the intentional stance from an internal perspective to reason about their environment and goals Based on a formalism of Belief and Commitment

Why AFME? Agent Factory was developed in J2SE and is heavily dependent on classes and APIs not present in CLDC/MIDP Different Application lifecycle model. Applications must be packaged as MIDlets Different compiler required The footprint of the framework had to be reduced for embedded systems

Design of AFME Design strongly influenced by the Law of Demeter –Specifies the coding guideline “Only talk to your immediate friends” –Dictates the communication structure with the system Popularised by Grady Booch and James Rumbaugh Following the law leads to good style for object oriented development Reduces the footprint of the software by minimising code duplication Simplifies the message passing structure within the system

Design of AFME AFME does not blindly follow the law but uses consistently to remove accessor methods Rather than asking an object for data to perform an operation ask the object to perform the operation itself. This results in hiding implementation details and protect data encapsulation

Problems with Accessors They expose an objects state Violate the precepts of Object-Oriented development Reduce the maintainability of the software and increase the entropy or movement of information within the system The developer should think declaratively rather than procedurally when developing objects Objects should be created in terms of their capabilities. The focus of design should be on the messages passed between objects.

Agnostic Communication AFME comprises a number of system components –Perceptors, Actuators, Modules, Servies

Agnostic Communication In the Standard framework these components contain direct references to each other AFME decouples these units Communication faciltated through First Order Structures Provides symbolic representation of information content –Differs from the notion of an interface. No types specified

Message Transport Service GPRS / G3 firewall Intermittent polling / Tranparent from standard evironment Two modes: synchronous an asynchronous

Migration Support for weak migration Strong migration not possible due to limitations of the JVM specification. –Java prevents a developer gaining access to processor specific information to facilitate platform independent development. –Classes must be pre-verified therefore cannot use dynamic class loading

Uses of Migration Bandwidth –Sometimes it is better to send the computation to the data rather than the data to the computation –This will be the case if the result set of a query is greater than the size of the agent In mobile computing devices the user will not always be connected to a network. Mobile agents are more adaptive than static agents –If something is going wrong at one location, they can move to a different location and continue processing.

Migration Migration Server –Required because of service provider firewall Mutation –Different agent design for interacting with FIPA yellow and white page services –Agent maintains beliefs about where platform specific commitment rule may be obtained –Destination platform specifies its type. The migration process is transparent from the source perspective Agents not coupled to services or modules

AFME Mental State Debugger Enables the direct debugging of the agent’s mental state Provides functionality to step through the reasoning process Similar functionality to the desktop debugger but customised for MIDP

Conclusions Developed a framework for the construction of intentional agents for mobile devices Improved the efficiency of the control algorithm. Used the law of demeter to avoid accessor methods and to improve the coding style. Improved the maintainability of the software Reduced the footprint of the system With a Jar size of 85k probably the smallest FIPA compliant agent platform in the world

And Finally More Information can be obtained at AFME is an open source project Agent Factory / AFME may be downloaded from