Agents in the EnterprAgents in the Enterprise

Embed Size (px)

Citation preview

  • 8/10/2019 Agents in the EnterprAgents in the Enterprise

    1/10

    Agents in the Enterprise

    Paul Taylor,

    Peter Evans-Greenwood,

    James Odell.

    Agentis International,

    1990 N. California Blvd, Suite 400,

    Walnut Creek, CA 94596, USA.

    2/33 Lincoln Square South, Carlton,

    Victoria, 3053, Australia.

    {pt ayl or | pevansg| j odel l }@agent i ss of t war e. com

    Abstract

    The discovery of useful applications of agent technology is currently generating considerable

    interest in both research and business domains. The term agent technology refers to a bag of

    software technologies and methods that realise systems comprised of multiple autonomous,

    goal-seeking agents that employ cooperation and collaboration to automate or systematise

    some problem space that existing technologies cannot. This paper cites analysis on the

    adoption of agent technologies and surveys the characteristics of todays enterprise computing

    environment to build a case for the use of agent technology. Relevant characteristics of the

    technology that appear useful in the enterprise context include anthropomorphism (as a basis

    for decomposing complex, loosely coupled business systems), adaptability and the ability tomanage change, and the concept of deploying multi-agent-based solution architectures one

    agent at a time, such that each individual agent enacts both a valuable point of automation in

    its own right and a node in a multi-agent solution. We report on Agentis experience in

    pursuing this approach by using three indicative agent-based solutions.

    1 Introduction

    A new generation of software tools and techniquescollectively known as agent technology

    promises to manage, in real time, the complexities of todays enterprise. Although there have been

    notable successes of enterprise-scale agent-based solutions to date, most have been in narrow industrial

    domains (such as robotics and flexible manufacturing) or applications involving simulation within

    equally constrained business domains. These are important classes of applications but they do not

    break from the technologys roots in research, nor do they significantly advance the more widespread

    adoption of agent technology.

    We are interested in the benefits that the technology can bring to enterprise computing rather than in

    the technology per se. This paper surveys the characteristics of todays enterprise (and its computing

    environment) and builds a case for the application of agent technology. Agent technology gives the

    solution architect a set of natural structures for designing enterprise solutions and applications. We

    believe that anthropomorphism is a useful basis for decomposing the next generation of complex,

    loosely coupled business systems. An anthropomorphic approach provides useful mappings between

    people (who perform situated acts in an essentially social context) and agents (which enact roles, pursue

    goals, have perception and beliefs, and follow plans toward intentions) that perform collaborative workon behalf of people.

    A g e n t i s I n t e r n a t i o n a l 2 0 0 5 T a y l o r , E v a n s - G r e e n w o o d , O d e l l 1

  • 8/10/2019 Agents in the EnterprAgents in the Enterprise

    2/10

    A G E N T S I N T H E E N T E R P R I S E A S W E C 2 0 0 5

    But structure is only one dimension of a successful enterprise solution. The enterprise imposes strict

    constraints on its systems, and some of these contradict the assumptions underlying established agent-

    oriented approaches and agent runtime platforms. Previous attempts at deploying agents in the

    enterprise have failed partially because they have not adequately considered the essential characteristics

    of enterprise systems, such as performance, scalability, reliability, business transparency, and

    adaptability. We offer some pragmatic solutions to each of these problemsan approach based on

    bringing agents to the enterprise, rather than the enterprise to agent technology.

    1.1 The Promise of Agent Technology in the Enterprise

    Software agents are autonomous problem-solving computational entities that can demonstrate more

    effective operation in dynamic and open environments than can traditional technologies. In the

    enterprise, individual agents can automate complex control and monitoring behaviours not possible

    with current technologies, or they can operate in collaboration with other agents (including both people

    and software) to achieve automation in highly dynamic and complex environments.

    Agents go beyond objects (for example, Java objects) in that they implement autonomy by exercising

    choice over their internal actions and external interactions. An agent may exercise autonomy by

    selecting what processing to perform (at runtime, based on prevailing conditions) to achieve a particular

    goal. Agents in a multi-agent system may collaborate to achieve individual or shared objectives.

    Unlike objects, agents may be assigned one or more goals or tasks by their owners and then set running

    to achieve those goals. Agent-based systems are implemented using a wide range of current

    technologies, including object-oriented languages and distributed object services, Web Services,

    directories, and many others.

    The development of agent technologies is surfacing a range of specific techniques and algorithms for

    dealing with interactions in dynamic, open environments. These include solutions, patterns, protocols

    and standards for balancing reaction and deliberation in individual agents, learning from and about

    other agents in the environment, eliciting and acting upon user preferences, finding ways to negotiate

    and cooperate with other agents, and developing means of forming and managing coalitions. Multi-

    agent solutions map naturally to problem spaces typified by complexity, loose coupling, dynamism and

    collaboration, where exiting agents (normally people) employ a high degree of autonomy,specialisation, interpretation and skill to plan, resolve deals, allocate resources or negotiate paths. For

    example, multi-agent systems are providing faster and more effective methods of resource allocation in

    complex environments, such as the management of utility networks, than human-centred approaches.

    In businesses where timely provisioning or customer servicing is important (such as

    telecommunications), agents are monitoring and managing provisioning processes and the overarching

    service level agreements. In healthcare, agents are automating patient monitoring and providing

    intelligent integration of monitoring devices. Other applications can be found anywhere where markets,

    economies or societies, or biological environments need to be monitored or managed (Agentlink III,

    2004).

    1.2 The Current State of Agent Technology Adoption

    Agent technologys broad and encompassing base makes assessments and predictions on its adoption

    in organisations difficult. Gartners July 2004 analysis places various agent technologies, application

    domains and drivers at different points in the adoption cycle (Gartner 2004a-f). In the infrastructure

    domain, business process execution languages (BPEL) are on the rise with between 1% and 5% market

    penetration. Basic Web Services for service definition and application integration (using SOAP and

    WSDL) are achieving mainstream adoption as evidenced by implementation by major software

    vendors, with 20% to 50% market penetration. Advanced Web Services offering higher quality of

    service (to enable advanced business-critical functions over standards-based networks using SOAP,

    WSDL, UDDI, WS-Security and WS-R) depend on the availability and maturity of standards, and

    implementations are not yet fully available from vendors.

    Gartner observes that narrow business domains for the technology have not yet emerged, but that thisdemand is currently expressed in the building momentum of the Semantic Web. The Semantic Web

    the adoption of metadata and protocols so that machines can automatically process, integrate and reason

    A g e n t i s I n t e r n a t i o n a l 2 0 0 5 T a y l o r , E v a n s - G r e e n w o o d , O d e l l 2

  • 8/10/2019 Agents in the EnterprAgents in the Enterprise

    3/10

    A G E N T S I N T H E E N T E R P R I S E A S W E C 2 0 0 5

    about data across different applicationshas less than 1% market penetration. Another current

    transformational concept, the Trading Grid (an interconnection of networks and marketplaces to

    support virtual organisations) is also at the very start of the adoption cycle. Electronic markets

    (eMarketplaces) now have up to 5% market penetration. Each of these domains and technology

    families are predicted by Gartner to take up to 10 years to plateau.

    Intelligent agents as a whole are perceived as having been over-hyped to date. However, self-service agents (a specific type of intelligent agent that acts on a customers or businesss behalf to

    automate transactions) are catching on and have reached up to 5% penetration. In all these cases,

    however, these are lightweight agents and applications of agents, with the mainstream of agent

    technologies still to engage the marketplace.

    2 Agent-based Systems in the Enterprise

    Todays enterprise computing environment is demanding of applications in terms of performance and

    scalability, adaptability, and verifiability. Because of this, many successful agent prototypes fail when

    moved into production environments. Enterprise-class workloads, for example, are typified by high

    volumes of relatively simple transactions, and relatively fixed interaction patterns. By contrast, most

    multi-agent runtime platforms support low volumes but complex interactions with each other and withtheir environment.

    The task of mapping agent concepts and the necessary runtime support services onto enterprise

    transaction platforms (such as J2EE) is not a trivial process. Important issues include dealing with

    threads, knowing when and how to use stateless and stateful objects in an agents implementation, agent

    identity, object and database locking, support for the EJB containers interface, efficient agent belief or

    data persistence, and support for loosely-coupled inter-agent communication. Other important

    characteristics of the enterprise that an agent-based system must address include reliability,

    extensibility, maintainability, and the need to coexist in todays highly secured and intensively managed

    operational environments. Each of these issues requires the application of a range of techniques and

    approaches to reach a workable solution. Agent platforms (and agent product vendors who claim

    enterprise-ready runtime and operational platforms) must have viable enterprise technology foundationsas well as solid answers to all of these concerns.

    2.1 Agents and Business Process Automation

    A critical concern in mapping agents onto enterprise application architectures is the positioning of

    agents in the landscape of services (specifically Web Services and WSDL), and business process

    automation. The current momentum of vendor support behind the emerging business process modelling

    (BPM) standards will ensure rapid and global adoption of web services, investment in BMP tools and

    creation of BPEL models, and the widespread deployment of BPEL engines in medium to large

    enterprises.

    Agents most naturally fit at the business process orchestration level of an enterprises technology

    stack, from where they can monitor the enterprise environment and take action to pursue goals. Figure1 illustrates agents as controllers in the enterprise technology stack. Adoption of enterprise

    orchestration agents will not happen quickly, however, for several reasons. Firstly, the enterprises

    existing software and business process controllers are deeply embedded inside monolithic applications

    such as ERP, MRP and call-centre solutions. Secondly, enterprises will (correctly) be cautious about

    delegating control of business-critical processes to a new class of software application and underlying

    technology, new products, and new vendors. As a consequence, the take-up of the technology in the

    enterprise will not be rapid (as Gartner predicts).

    However, much can be achieved by relatively simple but nonetheless useful point-solutions and

    simple multi-agent solutions. Initially, we expect to see agents as natural providers of complex services

    to the business process execution plane, or as non-invasive monitors operating off to one side of the

    enterprise technology stack. Agents will incrementally advise, and then over time, begin to replace

    human operators in an enterprises business process architecture. Figure 1 therefore represents the to

    be picture for agents as process controllers in the enterprise.

    A g e n t i s I n t e r n a t i o n a l 2 0 0 5 T a y l o r , E v a n s - G r e e n w o o d , O d e l l 3

  • 8/10/2019 Agents in the EnterprAgents in the Enterprise

    4/10

    A G E N T S I N T H E E N T E R P R I S E A S W E C 2 0 0 5

    System Application Resource

    Transport

    EAI

    BPM Workflow

    Agent System

    System Application Resource

    Transport

    EAI

    BPM Workflow

    Agent System

    Figure 1: Agents as control lers in the enterpr ise technology s tack.

    On the surface, BPM appears to present a mismatch between business process execution and an agent-

    orchestrated business processes, since BPEL provides a formal, executable notation for modelling

    business processes, without explicit regard for dynamic, in situ agent-based decision-making. Put

    another way, BPEL requires the modeller to have anticipated all possible paths at modelling time and

    does not support constructs that explicitly support agent-like decision-making. Further down the track,

    we consider that agents will populate the business process execution layer, adding value to BPML

    execution by adding heuristic, goal-directed behaviours in places where BPML exceptions become

    unwieldy or humans would otherwise need to be involved.

    Agent technology allows us to leverage ideas from economics and complex systems theory to create

    applications that exhibit the adaptability of systems observed in the natural world. The technologys

    non-linear, goal-based trial-and-error nature simplifies the capture of complex business decisions.

    Business processes that were previously too exception-rich to be automated (for example, real-time

    logistics management and optimization, or mortgage approval) will become reachable with agent tools.

    Where agents are embedded in enterprise business process flows, they will facilitate new levels of

    adaptability by allowing continuous and incremental process change (and process improvement)

    without downtime.

    2.2 Semantic Gap

    We see other benefits to the business from socially structured, agent-based business systems. The

    agent paradigm lifts the level of abstraction at which the enterprise system designer works. Increasing

    the solution design and programming abstraction levels also allows us to reduce the language barrierbetween a business stake-holders understanding of the business problem and its agent-based solution.

    The task of implementing business knowledge in an enterprise application normally falls to

    application designers and developers. Agent technology promises to eliminate this effort by allowing

    business analysts and stakeholders to work in the language of the problem (the agents, goals, and

    relationships). Agent-based solutions will achieve a higher level of transparency by allowing business

    stakeholders to directly validate implemented functionality, thereby improving business confidence and

    avoiding the constant friction between the businesss understanding of requirements and the developers

    implementation in a programming language that is opaque to business people. The business results are

    reduced time-to-market, increased quality, and responsiveness to change.

    A g e n t i s I n t e r n a t i o n a l 2 0 0 5 T a y l o r , E v a n s - G r e e n w o o d , O d e l l 4

  • 8/10/2019 Agents in the EnterprAgents in the Enterprise

    5/10

  • 8/10/2019 Agents in the EnterprAgents in the Enterprise

    6/10

  • 8/10/2019 Agents in the EnterprAgents in the Enterprise

    7/10

  • 8/10/2019 Agents in the EnterprAgents in the Enterprise

    8/10

    A G E N T S I N T H E E N T E R P R I S E A S W E C 2 0 0 5

    3 Agentis Agent Technology Offering

    The three agent-based solutions described have all been developed and deployed in enterprise

    environments by Agentis using the AdaptivEnterprise suite of products. Agentis International was

    founded in 2001 to commercialize the software assets of the Australian Artificial Intelligence Institute

    (AAII). Agentis product, the AdaptivEnterprise suite, employs the Belief-Desire-Intent model of

    agency at its core and has direct lineage back to the Procedural Reasoning System, a BDI agentplatform jointly developed between Stanford Research Institute and NASA to support real-time fault

    detection applications for the Space Shuttle program in the 1990s. Agentis has successfully deployed

    agent-based solutions using its AdaptivEnterprise product in the financial services, insurance, retail and

    distribution, logistics, and utility (energy) industries in the US, in Europe and Australia.

    J2EE Cluster

    Client

    Web Proxy

    or

    Hardware LoadBalancer

    Database Database

    App Server

    App Server

    App Server

    Web

    Container

    EJB

    Container

    Struts-based Servlet

    Servlet session

    Servlet session

    Servlet session

    Custom

    Struts

    Actions

    CustomJSPs

    Agent

    API

    Agent Server

    Agent Instance

    Agent Instance

    Agent Instance

    Session Bean

    Plans

    Services

    Facilities

    Entity Bean

    StateState

    Message BeansEvents

    Replication

    Requests

    Integration Facilities

    Responses

    JDBC JMS Web Srvc

    EJB API JavaBean

    Security

    Transaction

    Logging

    Monitoring &

    Management

    Connection

    Pooling

    CommonServices

    RMI

    JMS

    Web Service

    J2EE Cluster

    Client

    Web Proxy

    or

    Hardware LoadBalancer

    Database Database

    App Server

    J2EE Cluster

    Client

    Web Proxy

    or

    Hardware LoadBalancer

    Database Database

    App Server

    App Server

    App Server

    Web

    Container

    EJB

    Container

    Struts-based Servlet

    App Server

    App Server

    Web

    Container

    EJB

    Container

    Struts-based Servlet

    Servlet sessionServlet session

    Servlet session

    Servlet session

    Custom

    Struts

    Actions

    CustomJSPs

    AgentAPI

    Agent Server

    Agent InstanceAgent Instance

    Agent Instance

    Agent Instance

    Session Bean

    Plans

    Services

    Facilities

    Entity Bean

    StateState

    Message BeansEvents

    Replication

    Requests

    Integration Facilities

    Responses

    JDBC JMS Web Srvc

    EJB API JavaBean

    Security

    Transaction

    Logging

    Monitoring &

    Management

    Connection

    Pooling

    CommonServices

    RMI

    JMS

    Web Service

    Figure 5: Agent is Adapt ivEnterpr ise product runt ime archi tecture .

    Agentis AdaptivEnterprise achieves enterprise acceptability by supporting packaging and deployment

    of its agents to industry-standard J2EE application servers. Agentis has invested significant applied

    research and product development effort into producing and verifying the mapping between the kinds ofagent concepts outlined earlier and the standard J2EE mechanisms. Figure 5provides a sketch of the

    products runtime architecture.

    Individual agents are deployed as stateless or stateful session beans, with or without beliefs (agent

    data) that can be made to persist between invocations. Each agent bean includes a small runtime

    component that manages that agents plan library, its perceptors (using JMS), its public interface, and

    the runtime mechanism to select and schedule plans based on the selected goals, the state of the agents

    beliefs, and the evaluation of preconditions. Agents may request services from other agents using

    synchronous (RMI) or asynchronous (via JMS) requests. Agents may have explicit identity assigned to

    them by the AdaptivEnterprise runtime services, or they may be anonymous, which allows pooling of

    agents for high performance. Each individual agent may use an associated entity EJB for cached belief

    persistence, and all agents are deployed with their own MDB for messaging support. Autonomy issimulated using timers and schedulers, which may be used from an external source or from the

    A g e n t i s I n t e r n a t i o n a l 2 0 0 5 T a y l o r , E v a n s - G r e e n w o o d , O d e l l 8

  • 8/10/2019 Agents in the EnterprAgents in the Enterprise

    9/10

    A G E N T S I N T H E E N T E R P R I S E A S W E C 2 0 0 5

    application server. Each agent has access to the full range of application server services for

    transactions, security, logging, and connection pooling, as well as to the industry standard interfaces,

    including JMS, JDBC, JCA, JMX, the J2EE EJB API, and the JavaBean API.

    The AdaptivEnterprise Suite extends agent concepts into the web server by providing tools and

    templates to support the development of JSP-based user interfaces using the Struts MVC framework.

    This support includes reference and sample JSPs, the ability to simulate agents using intelligent stubs,and tools to automate and manage the JSP-to-agent interfaces during development.

    Deployed agents are fully replicable across a J2EE cluster allowing failover and fail-back for high

    availability operation. Warm or hot-deployment also allows operations staff to deploy a single agent, or

    an agent component of a multi-agent solution, into the operational environment without having to halt

    the application server or the entire application. Extensive performance profiling has been done across a

    wide range of agent-based enterprise applications to demonstrate that the AdaptivEnterprise agents

    perform similarly to hand-crafted Java EJB applications. The AdaptivEnterprise platform supports

    some optimisation options in the inbuilt code generator.

    At the time of writing, Agentis technology and product roadmap for AdaptivEnterprise includes IDE

    and integrated product support for standards-based agent communication languages, a blackboard for

    inter-agent communication and scheduling, flexible deployment of BDI agent models in a range ofruntime deployment containers, and many other enterprise integration and multi-agent features.

    4 Conclusion

    Agent technology promises much but is still considered to be some way from being mainstream. Its

    further adoption is somewhat dependent upon its maturing into enterprise development environments,

    standard interfaces, operational platforms, and high volume workloads and throughputs. None of these

    inhibitors are insurmountable. Solving them involves bridging between the promising world of agents

    and the uncompromising world of the enterprise. The Agentis AdaptivEnterprise product is one of

    several examples in the marketplace of enterprise-ready agent development platforms.

    There is much to like about what agent technology can bring to the enterprise. In particular, ourexperience of developing agent-based applications for the enterprise highlights the way the paradigm

    offers the solution architect a set of natural structures for designing enterprise solutions and

    applications. From our experience, we reinforce anthropomorphism as a useful basis for decomposing

    the next generation of complex, loosely coupled business systems. The description of three agent-based

    solutions that primarily employ anthropomorphic agents, incrementally replacing human decision-

    making, in three different industries and problem spaces, illustrates a workable tactic.

    Agentis approach is to promote the technology incrementally, starting with small, but highly visible

    point-solutions that automate a particularly troublesome decision point in a high-value business process

    that had not yielded to automation to date. These are tactical solutions to pressing workflow

    problems. Beyond this, multi-agent solutions can be proposed, designed and delivered, using the same

    anthropomorphic approach to system structuring, and the same iterative and incremental approach for

    each agent point-solution. At each scale and stage of development, the multi-agent solution remains

    highly adaptable.

    Successfully designing and deploying agent-based solutions in the enterprise mixes this discipline and

    freedom in a way that existing technologies have never fully allowed. Ultimately, it may be the

    adaptability of agent-based solutions that propels them into enterprise space.

    5 References

    (AgentLink III, 2004) Agent Based Computing: Technology Roadmap and Consultation Report,

    December 2004, AgentLink.

    (Gartner 2004a) Hype Cycle for Application Integration and Platform Middleware, Gartner, 2004.

    (Gartner 2004b) Hype Cycle for Application Development, Gartner, 2004.

    A g e n t i s I n t e r n a t i o n a l 2 0 0 5 T a y l o r , E v a n s - G r e e n w o o d , O d e l l 9

  • 8/10/2019 Agents in the EnterprAgents in the Enterprise

    10/10

    A G E N T S I N T H E E N T E R P R I S E A S W E C 2 0 0 5

    (Gartner 2004c) Hype Cycle for Human-Computer Interaction, Gartner, 2004.

    (Gartner 2004d) Hype Cycle for B2B CRM Technologies, Gartner, 2004.

    (Gartner 2004e) Hype Cycle for the Knowledge Workplace, Gartner, 2004.

    (Gartner 2004f) Hype Cycle for Supply Chain Management, Gartner, 2004.

    A g e n t i s I n t e r n a t i o n a l 2 0 0 5 T a y l o r , E v a n s - G r e e n w o o d , O d e l l 1 0