1 / 26

Software Agents

Software Agents. For Dynamic Java Enterprise Applications JavaZone 2005 – Jørn Ølmheim. About Me. Working for the Information Technology unit in Statoil ASA, the Norwegian state oil company, as senior developer/software architect. Worked with Java and J2EE for the last eight years

Download Presentation

Software Agents

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Agents For Dynamic Java Enterprise Applications JavaZone 2005 – Jørn Ølmheim

  2. About Me • Working for the Information Technology unit in Statoil ASA, the Norwegian state oil company, as senior developer/software architect. • Worked with Java and J2EE for the last eight years • Web applications with EJBs • Swing applications with EJBs • Framework development • Spring Framework, JDO, Eclipse, JGoodies, Struts++ • Current focus includes: • Event Oriented Architecture • Software agents • Domain-Driven Design • Agile methods

  3. Motivation and Goal ”Automating tasks and building dynamic process support is the key to modern enterprise applications” • Goals: • Demystify the concept of software agents • Show how software agents can be used to build more dynamic enterprise applications.

  4. Outline • Software agents overview • Software agents in enterprise applications • Demo of process support using software agents

  5. Key Properties of Software Agents1 • Autonomous • Reactive • Proactive • Flexible • Robust • Social 1 Adapted from “Developing Intelligent Agent Systems”, Padgham/Winikoff, 2004

  6. Goal oriented agents – The BDI model • Agent theory grew from the Artificial-Intelligence community • The Belief-Desire-Intent model1 is used to model agent intelligence by mimicking human reasoning. 1 Michael Bratman, 1987 and, Rao and Georgeff, 1991/1992

  7. Social Ability • Communication • Peer-to-peer model • Messages in the form of events • Some frameworks use JINI or JXTA for communication • Coordination of agents • Teams with roles

  8. Intelligent Software Agents An Intelligent Agent is a piece of software that is • Situated – exists in an environment • Autonomous – independent, not controlled externally • Reactive – responds (in a timely manner!) to changes in the environment • Proactive – persistently pursues goal • Flexible – has multiple ways of achieving goals • Robust – recovers from failure • Social – interacts with other agents Source: “Developing Intelligent Agent Systems”, Padgham/Winikoff, 2004

  9. Why are Software Agents useful? • No magic, but: • higher abstraction level than regular objects • reduced coupling • more dynamic system behavior

  10. Java Agent Frameworks • JADE (Open source) • http://jade.tilab.com/ • Living Systems (Whitestein) • http://www.living-systems.com/ • Agentis (Agentis) • http://www.agentissoftware.com/ • JACK Intelligent Agents (AOS) • http://www.agent-software.com/ • For a more comprehensive list, see http://www.agentlink.org

  11. Software Agents in Enterprise Applications • Application areas: • Information retrieval • Desktop assistants • Task Automation • Automated Control and Audit • Business Process support • Dynamic Planning and Optimization • Decision Support

  12. Task automation • Increase efficiency of users by automating menial tasks • Produce semi-finished products for user verification • Essential for increased process support

  13. Automated control and audit • New requirements for control and audit • Sarbanes Oxley act • Simplified implementation and maintenance of control points

  14. Dynamic Planning and Optimization • Planning is inherently hard in changing environments • Number and frequency of changes make plans obsolete quickly • Humans have to spend considerable time in keeping plans up to date • Agents can update the plans automatically as changes happen • Examples: • Offshore lifting schedules • Refinery supply planning • Optimization of jetty utilization at storage terminals • Depot planning • Outside Statoil: Store supply operations (Truck fleet optimization)

  15. Decision Support • Active way of providing timely information • Control information overflow • Alert of imminent crisis and suggest plan of action • Examples: • Oil Trading • Shipping Operations • Risk Management • Outside Statoil: Military Command and Control, Combat Radar Operators and London Underground Central Control

  16. Credit Check Invoice Customer Order Entry Order Approval Order From Supplier Prepare Shipment Business Process Support • Business processes run in parallel and communicate • Communication between processes defined by “contracts”. • Contract defines information flow between business processes • Contracts become business events • BPM tools have been tried, but are generally too rigid

  17. Event Oriented Architecture (EOA) • Mimics the event driven nature of business • Supports many-to-many connections • Has a flow of control that is determined by the recipient based on the message itself • Supports dynamic, parallel, asynchronous flows through a network of modules • Can react to new, external input that may arrive at unpredictable times Information System Architecture

  18. Process Controller agents • Goal of completing the process with a given result • Uses different flows depending on situation • Example: Contract Generation for Deals Business rule: “When a new deal is created, a contract must be generated and approved within 24 hours”

  19. Process Support Demo Scenario • Contract document generation for a new oil trade (Deal) • The trader has agreed on a sale or purchase of oil with a customer and entered it into the trading system • Business rule: A contract document must be generated, approved and sent to the customer within 24 hours • Steps: • Generate the contract document (Contract Responsible) • Acquire approval (Trader) • Send to the customer (not included in the demo)

  20. Design Overview

  21. Detailed Design

  22. Process Controller Agent • Watches the DealRepository and sees when a new deal is created • Goal: Contract sent to user within 24 hours of deal creation. • Options: • Automatic creation with user verification • Manual creation by user • Issues notice if task have not been handled within deadlines

  23. Broker Agents • TaskBroker: • Responsible for distributing the manual tasks to the relevant user(s). This could be one user or a group of users with the same role. • Makes sure that only one user performs the task • Makes sure tasks are handled within their given deadline • InfrastructureBroker: • Keeps track of all process controller and user agents in the system • Provides a list of applicable user agents for a given task

  24. User Agent • Maintains “Notification list” • Handles communication with Task Broker • When user starts to work on a task • On task completion • If Task Broker interrupts with a notice on incomplete tasks

  25. Demo

  26. Developing IntelligentAgent Systems: A Practical Guide, Lin Padgham and Michael Winikoff, John Wiley & Sons, 2004 Introduction to Multi-Agent Systems, Michael Wooldridge, John Wiley & Sons, 2001 AgentLink: http://www.agentlink.org Google – lots of great articles IEEE IExplore: http://ieeexplore.ieee.org/Xplore/guesthome.jsp (requires registration, some articles are members only) References and further reading

More Related