Intelligent Agent Framework1 From Chapter 7 of Constructing Intelligent Agents with Java.

Slides:



Advertisements
Similar presentations
TSpaces Services Suite: Automating the Development and Management of Web Services Presenter: Kevin McCurley IBM Almaden Research Center Contact: Marcus.
Advertisements

Copyright © 2001 Qusay H. Mahmoud JavaBeans An introduction to component-based development in general Introduction to JavaBeans – Java components – client-side.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Component Oriented Programming 1 Chapter 2 Theory of Components.
Software Frame Simulator (SFS) Technion CS Computer Communications Lab (236340) in cooperation with ECI telecom Uri Ferri & Ynon Cohen January 2007.
UNDERSTANDING JAVA APIS FOR MOBILE DEVICES v0.01.
1 Frameworks. 2 Framework Set of cooperating classes/interfaces –Structure essential mechanisms of a problem domain –Programmer can extend framework classes,
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
Lecture 23: Software Architectures
Chapter 13 Embedded Systems
Managing Agent Platforms with the Simple Network Management Protocol Brian Remick Thesis Defense June 26, 2015.
By Dr. Jiang B. Liu 12. The Java Beans. Java Beans n JavaBeans is a portable, platform-independent software component model written in Java. It enables.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
JavaBeans A component architecture. What is JavaBeans? NC World (New Computing) Dictionary: JavaBeans n. 1. JavaSoft technology. 2. Component object model.
Intelligent Agents revisited.
JAVA BEANS By Madhuri Kakumanu. What is a Java Bean? “ A Java Bean is a reusable software component that can be visually manipulated in builder tools.”
Building Knowledge-Driven DSS and Mining Data
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
INTRODUCTION TO JAVA PROGRAMMING Chapter 1. What is Computer Programming?
Matthew J Mattia CSC  Cumbersome Code  Consistent/Predictable design (GUEPs #5, CD’s #10)  Display “proper” amount of information  Including.
Introducing JavaBeans Lesson 2A / Slide 1 of 30 JDBC and JavaBeans Pre-assessment Questions 1.Which of the given symbols is used as a placeholder for PreparedStatement.
Introducing JavaBeans Identify the features of a JavaBean Create and add a bean to an application Manipulate bean properties using accessor and mutator.
Java Beans Component Technology Integrated, Visual Development Environments Reusable Platform-Independent Modular.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
The chapter will address the following questions:
Struts 2.0 an Overview ( )
UNIT-V The MVC architecture and Struts Framework.
Component-Based Software Engineering Introduction to Java Beans Paul Krause and Sotiris Moschoyiannis.
Starting Chapter 4 Starting. 1 Course Outline* Covered in first half until Dr. Li takes over. JAVA and OO: Review what is Object Oriented Programming.
Java Beans.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 19 Slide 1 Component-based software engineering 1.
Model View Controller (MVC) Rick Mercer with a wide variety of others 1.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
Software Construction Lecture 10 Frameworks
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
B.Ramamurthy9/19/20151 Operating Systems u Bina Ramamurthy CS421.
COMP 410 & Sky.NET May 2 nd, What is COMP 410? Forming an independent company The customer The planning Learning teamwork.
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 10: Service Component Architecture.
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
4/2/03I-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Software Architecture and Design Readings: Ambler, Chap. 7 (Sections to start.
JavaBeans Components. To understand JavaBeans…  Proficient experience with the Java language required  Knowledge of classes and interfaces  Object-Oriented.
Requirements To Design--Iteratively Chapter 12 Applying UML and Patterns Craig Larman.
CS 3131 Introduction to Programming in Java Rich Maclin Computer Science Department.
Introduction to Java Beans CIS 421 Web-based Java Programming.
Frameworks CompSci 230 S Software Construction.
Java Beans. Definitions A reusable software component that can be manipulated visually in a ‘builder tool’. (from JavaBean Specification) The JavaBeans.
BOĞAZİÇİ UNIVERSITY DEPARTMENT OF MANAGEMENT INFORMATION SYSTEMS MATLAB AS A DATA MINING ENVIRONMENT.
1 Object Oriented Logic Programming as an Agent Building Infrastructure Oct 12, 2002 Copyright © 2002, Paul Tarau Paul Tarau University of North Texas.
Ch- 8. Class Diagrams Class diagrams are the most common diagram found in modeling object- oriented systems. Class diagrams are important not only for.
Agent Based Transaction System CS790: Dr. Bruce Land Sanish Mondkar Sandeep Chakravarty.
Design Reuse Earlier we have covered the re-usable Architectural Styles as design patterns for High-Level Design. At mid-level and low-level, design patterns.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Dispatching Java agents to user for data extraction from third party web sites Alex Roque F.I.U. HPDRC.
Introduction to Software Components: the JavaBeans specs Babak Esfandiari.
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Java Beans THETOPPERSWAY.COM. Contents What is a Java Bean? Advantages Properties Bean Developers Kit (BDK) What makes Bean possible? Support for Java.
Slides prepared by Rose Williams, Binghamton University Chapter 20 Java Never Ends.
Some Thoughts to Consider 5 Take a look at some of the sophisticated toys being offered in stores, in catalogs, or in Sunday newspaper ads. Which ones.
EEL 5937 Multi Agent Systems -an introduction-. EEL 5937 Content What is an agent? Communication Ontologies Mobility Mutability Applications.
HIERARCHICAL TEMPORAL MEMORY WHY CANT COMPUTERS BE MORE LIKE THE BRAIN?
Design Patterns: MORE Examples
Self Healing and Dynamic Construction Framework:
Formalizing the Reusability of Software Agents
Java Beans Sagun Dhakhwa.
Activities and Intents
JavaServer Faces: The Fundamentals
Copyright 2007 Oxford Consulting, Ltd
DSS Concepts, Methodologies and Technologies
Presentation transcript:

Intelligent Agent Framework1 From Chapter 7 of Constructing Intelligent Agents with Java

Intelligent Agent Framework2 Prologue Developing an intelligent agent architecture using object- oriented techniques Starting with a generic set of requirements and then refining them into a set of specifications Explicitly stating design philosophy and goals Exploring –how intelligent agents can be used to expand the capabilities of traditional applications and –how they can serve as the controller for a group of applications With minor modifications, we reuse the AI functions we developed in Java previously.

Intelligent Agent Framework3 Requirements Developing intelligent agents using Java Providing the ability to add intelligence to application or applets written in Java Reusing the AI code developed previously Be practical –not product-level code, but applicable to solving real-world problems Maximizing the amount of code dealing with IAs, and minimizing the code not directly related to the topic Using the features and capabilities in Java Providing decent user interface “Keep it simple, stupid.” Flexible enough to support various applications

Intelligent Agent Framework4 Design Goals Fundamental issues driving our design –application-centric view of agents –agent-centric view of agents Easily understood and straightforward to use We will construct the agent framework so that interagent communication can be supported as well as the mobility of our agents across networks. Flexibility also includes the ability to easily add support for new applications, AI techniques and other features.

Intelligent Agent Framework5 Functional Specifications It must be easy to add an intelligent agent to an existing Java application A graphical construction tool must be available to compose agents out of other Java components and other agents. The agents must support a relatively sophisticated event-processing capability. –Our agents will need to handle events from the outside world, other agents, and signal events to outside applications.

Intelligent Agent Framework6 Functional Specifications We must be able to add domain knowledge to our agent using if-then rules, and support forward and backward rule-based processing with sensors and effectors. The agents must be able to learn to do classification, clustering, and prediction using learning algorithm. Multiagent applications must be supported using a KQML-like message protocol. The agent should be persistent. –That is, once an agent is constructed, there must be a way to save it i a file and reload its state at a later time.

Intelligent Agent Framework7 Intelligent Agent Architecture The basic idea is to take the function points in order and discuss the various issues and tradeoffs we must make 1.It must be easy to add an intelligent agent to an existing Java application. –The easiest way is to have the application instantiate and configure the agent and then call the agent’s methods as service routines. Embedded intelligence, no autonomy –Have the application instantiate and configure the agent and then start it up in a separate thread some autonomy, although in the application’s process space –Have the agent run in a separate thread, but use events to communicate between the application and agent. Observer/Observable framework in Java

Intelligent Agent Framework8 Intelligent Agent Architecture 2.A graphical construction tool must be available to compose agents out of other Java components and other agents. –Graphical development tools, such as Symantec Visual Café, IBM’s VisualAge for Java, Inprise JBuilder, etc. –JDK 1.1, java.bean package allowing software functions to be treated as “part” which can be put together to construct an application –Beans can be nested. Meet our requirement for the ability to compose agents out of other agents. High-level agents reuse other low-level agents The BeanBox, part of the Bean Development Kit (BDK) provides a rudimentary, but effective, default graphical environment for working with Beans.

Intelligent Agent Framework9 Intelligent Agent Architecture 3.The agents must support a relatively sophisticated event- processing capability. Our agent will need to handle events from the outside world, other agents, and signal events to autside applications. –Delegation Event Model of event-processing model of JDK 1.1Delegation Event Model

Intelligent Agent Framework10 Intelligent Agent Architecture 4.We must be able to add domain knowledge to our agent using if-then rules, and support forward and backward rule-based processing with sensors and effectors. –The RuleBase, Rule, and RuleVariable classes we developed in Ch. 4 can be used in our agents to provide forward and backward rule-based inferencing. –Will extend the functionality to support sensors and effectors. –The main reason for this functionality is to provide a nonprogramming way for users to specify conditions and actions.

Intelligent Agent Framework11 Intelligent Agent Architecture 5.The agent must be able to learn to do classification, clustering, and prediction using learning algorithms. –Use the DecisionTree, BackPropNet, and KMapNet classes developed in Ch. 5 for these purposes. 6.Multiagent applications must be supported using a KQML-like protocol. –Need a facilitator (or matchmaker) agents. Use the existing rule capabilities to help provide this function, if possible. –Use the JavaBean event model to provide the communication mechanism between agents and the facilitator and define our own event objects to hold the message content.

Intelligent Agent Framework12 Intelligent Agent Architecture 3.The agent should be persistent. That is once an agent is constructed, there must be a way to save it in a file and reload its state at a later time. –JDK 1.1, the serialization of Java objects

Intelligent Agent Framework13 The CIAgent Framework We are going to construct our intelligent agents so that they can interact with the JavaBeans component model. Meet most of our functional specification.

Intelligent Agent Framework14 The CIAgent Base Class CIAgent is the name of the base classes which defines –a common programming interface and –behavior for all agents in our framework. In terms of design pattern, CIAgent uses a composite design. –We can use a single CIAgent or –compose them into groups, and still treat the group as if it was a single logical CIAgent object. This design patter is very powerful because it allows us to build up a hierarchy of CIAgent using other specialized CIAgent classes in the process.

Intelligent Agent Framework15

Intelligent Agent Framework16

Intelligent Agent Framework17

Intelligent Agent Framework18

Intelligent Agent Framework19 CIAgent Base Class – Runnable interface The CIAgent class implements the Runnable interface, which requires that our CIAgent subclass provide a run() method which can serve as the body of a Thread. This is the mechanism to give our agent autonomy.

Intelligent Agent Framework20 CIAgent Base Class – CIAEventListner To communicate with other CIAgents abd other JavaBeans, we implement the CIAgentEventListner interface.CIAgentEventListner interface It extends the standard Java EventListner interface used by all AWT components and JavaBeans,

Intelligent Agent Framework21

Intelligent Agent Framework22