Funding for 'IT Lab' Project, Phase 1: Progress of sticker sales. Purchase a sticker to help us reach our target.Updated: 2010-02-28 11:53
10.7%
Future of computing using agent technologies

by Michael Luck

Department of Computer Science

King’s College London,UK


Agent Technologies

Agents can be defined to be autonomous, problem-solving computational entities capable of effective operation in dynamic and open environments. They are often deployed in environments in which they interact, and sometimes cooperate, with other agents (including both people and software) that have possibly conflicting aims. These environments are known as multi-agent systems. Since agents are autonomous entities capable of exercising choice over their actions and interactions, act to achieve individual objectives, they cannot, therefore, be directly invoked but can be assigned tasks by their owners. These notions find application in relation to three distinct views, considered below.

 First, agents provide software designers and developers with a way of structuring an application around autonomous, communicative components, and lead to the construction of software tools and infrastructure to support the design metaphor. In this sense, they offer a new and often more appropriate route to the development of complex computational systems, especially in open and dynamic environments. In order to support this view of systems development, particular tools and techniques need to be introduced. For example, methodologies to guide analysis and design are required, agent architectures are needed for the design of individual software components, tools and abstractions are required to enable developers to deal with the complexity of implemented systems, and supporting infrastructure (embracing other relevant, widely used technologies, such as web services) must be integrated.

 Agent technologies are distinct and span a range of specific techniques and algorithms for dealing with interactions in dynamic, open environments. These address issues such as balancing reaction and deliberation in individual agent architectures, 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 appropriate means of forming and managing coalitions (and other organisations). Moreover, the adoption of agent-based approaches is increasingly influential in other domains. For example, multi-agent systems are already providing new and more effective methods of resource allocation in complex environments than previous approaches.

 Finally, multi-agent systems offer strong models for representing complex and dynamic real-world environments. For example, simulation of economies, societies and biological environments are typical application areas. The use of agent systems to simulate real-world domains may provide answers to complex physical or social problems that would be otherwise unobtainable, as in the modelling of the impact of climate change on biological populations, or modelling the impact of public policy options on social or economic behaviour. Agent-based simulation spans: social structures and institutions to develop plausible explanations of observed phenomena, to help in the design of organisational structures, and to inform policy or managerial decisions; physical systems, including intelligent buildings, traffic systems and biological populations; and software systems of all types, currently including e-commerce and information agency.


Trends and Drivers

The development of agent technologies has taken place within a context of wider visions for information technology. In addition to the specific technologies mentioned in the above, there are also several key trends and drivers that suggest that agents and agent technologies will be vital. The three considered below are examples.


Semantic Web

Since it was first developed in the early 1990s, the World Wide Web has rapidly and dramatically become a critically important and powerful medium for communication, research and commerce. However, the Web was designed for use by humans, and its power is limited by the ability of humans to navigate the data of different information sources.

 The Semantic Web is based on the idea that the data on the Web can be defined and linked in such a way that it can be used by machines for the automatic processing and integration of data across different applications [1]. This is motivated by the fundamental recognition that, in order for web-based applications to scale, programs must be able to share and process data, particularly when they have been designed independently. The key to achieving this is by augmenting web pages with descriptions of their content in such a way that it is possible for machines to reason automatically about that content. Among the particular requirements for the realisation of the Semantic Web vision are: rich descriptions of media and content to improve search and management; rich descriptions of web services to enable and improve discovery and composition; common interfaces to simplify integration of disparate systems; and a common language for the exchange of semantically-rich information between software agents.

 It should be clear from this that the Semantic Web demands effort and involvement from the field of agent-based computing, and the two fields are intimately connected. Indeed, the Semantic Web offers a rich breeding ground for both further fundamental research and a whole range of agent applications that can (and should) be built on top of it.

 

Web Services and Service Oriented Computing

Web services technologies provide a standard means of interoperating between different software applications, running on a variety of different platforms. Specifications cover a wide range of interoperability issues, from basic messaging, security and architecture, to service discovery and the composition of individual services into structured workflows.

 In a more general sense, web services standards serve as a potential convergence point for diverse technology efforts such as eBusiness frameworks (ebXML, RosettaNet, etc), Grid architectures (which are now increasingly based on web services infrastructures) and others, towards a more general notion of service-oriented architectures (SOA). Here, distributed systems are increasingly viewed as collections of service provider and service consumer components, interlinked by dynamically defined workflows. Web services can therefore be realised by agents that send and receive messages, while the services themselves are the resources characterised by the functionality provided. In the same way as agents may perform tasks on behalf of a user, a web service provides this functionality on behalf of its owner, a person or organisation.

 Web services thus provide a ready-made infrastructure that is almost ideal for use in supporting agent interactions in a multi-agent system. More importantly, perhaps, this infrastructure is widely accepted, standardised, and likely to be the dominant base technology over the coming years. Conversely, an agent-oriented view of web services is gaining increased traction and exposure, since provider and consumer web services environments are naturally seen as a form of agent-based system.


Grid Computing

The Grid is the high-performance computing infrastructure for supporting large scale distributed scientific endeavour that has recently gained heightened and sustained interest from several communities [2]. The Grid provides a means of developing e-science applications such as those demanded by, for example, the Large Hadron Collider facility at CERN, engineering design optimisation, bioinformatics and combinatorial chemistry. Yet it also provides a computing infrastructure for supporting more general applications that involve large-scale information handling, knowledge management and service provision.

 The Grid thus refers to an infrastructure that enables the integrated, collaborative use of high-end computers, networks, databases, and scientific instruments owned and managed by multiple organisations. Grid applications often involve large amounts of data and computer processing, and often require secure resource sharing across organisational boundaries; they are thus not easily handled by today’s Internet and Web infrastructures. The key benefit of Grid computing more generally is flexibility – the distributed system and network can be reconfigured on demand in different ways as business needs change, in principle enabling more flexible IT deployment and more efficient use of computing resources. According to BAE Systems, while the technology is already in a state in which it can realise these benefits in a single organisational domain, the real value comes from cross- organisation use, through virtual organisations, which require ownership, management and accounting to be handled within trusted partnerships. In economic terms, such virtual organisations provide an appropriate way to develop new products and services in high value markets; this facilitates the notion of service-centric software, which is only now emerging because of the constraints imposed by traditional organisations. The future of the Grid is not in the provision of computing power, but in the provision of information and knowledge in a service-oriented economy.


Ambient Intelligence

The notion of ambient intelligence has largely arisen through the efforts of the European Commission in identifying challenges for European research and development in Information Society Technologies. Aimed at seamless delivery of services and applications, it relies on the areas of ubiquitous computing, ubiquitous communication and intelligent user interfaces. The vision describes an environment of potentially thousands of embedded and mobile devices (or software components) interacting to support user-centred goals and activity, and suggests a component-oriented view of the world in which the components are independent and distributed. The consensus is that autonomy, distribution, adaptation, responsiveness, and so on, are key characteristics of these components, and in this sense they share the same characteristics as agents.

 Ambient intelligence requires these agents to be able to interact with numerous other agents in the environment around them in order to achieve their goals. Such interactions take place between pairs of agents (in one-to-one collaboration or competition), between groups (in reaching consensus decisions or acting as a team), and between agents and the infrastructure resources that comprise their environments (such as large-scale information repositories). Interactions like these enable the establishment of virtual organisations, in which groups of agents come together to form coherent groups able to achieve overarching objectives.


Applications

 Adoption of agent technologies has not yet entered the mainstream of commercial organisations, unlike, for example, object-oriented technologies. Indeed, the majority of commercial organisations adopting agent technologies might be classified as early adopters, since only a relatively small number of deployed commercial and industrial applications of agent technology are visible, and because considerable potential exists for other organisations to apply the technology.

 To date, deployed applications of agent technologies have been concentrated in a small number of industrial sectors, and for particular, focused, applications. These have included: automated trading in online market-places, such as for financial products and commodities; simulation and training applications in defence domains; network management in utilities networks; user interface and local interaction management in telecommunication networks; schedule planning and optimisation in logistics and supply-chain management; control system management in industrial plants, such as steel works; and, simulation modelling to guide decision-makers in public policy domains, such as transport and medicine.

For example, Tankers International, which operates one of the largest oil tanker pools in the world, has applied agent technology to dynamically schedule the most profitable deployment of ships-to-cargo for its Very Large Crude Carrier fleet. An agent-based optimiser was developed by Magenta Technology for use in real-time planning of cargo assignment to vessels in the fleet. The system can dynamically adapt plans in response to unexpected changes, such as transportation cost fluctuations or changes to vessels, ports or cargo. Agent-based optimisation techniques not only provided improved responsiveness, but also reduced the human effort necessary to deal with the vast amounts of information required, thus reducing costly mistakes, and preserving the knowledge developed in the process of scheduling. In a similar vein, after implementing recommendations derived from an agent-based simulation model of a corrugated box plant developed by Eurobios, SCA Packaging was able to make a 200% return-on-investment in the first month.

 

The Future

Agent technologies can be distinguished from other programming technologies on the basis of their differing objectives. For agent technologies, the objectives are to create systems situated in dynamic and open environments, able to adapt to these environments and capable of incorporating autonomous and self-interested components. How quickly agent technology is adopted by software developers, therefore, will depend at least partly on how many application domains require systems with these characteristics. Considering the domains receiving attention from agent software development companies such as Agentis, Magenta, Lost Wax or Whitestein (among others), the main areas are currently: logistics, transportation, utility management and defence. Common to many of these domains are multiple stakeholders or organisations linked in a network, such as a supply-chain, and with mission-critical, real-time processing requirements. In other words, there are both functional and technical requirements for these applications, a divide that agent technologies are able to bridge.

 Most new software technologies require supporting tools and methodologies. A fundamental obstacle to the take-up of agent technology is the current lack of mature software development methodologies for agent-based systems. Clearly, basic principles of software and knowledge engineering need to be applied to the development and deployment of multi-agent systems, as with any software. This applies equally to issues of scalability, security, transaction management, etc, for which there are already available solutions. A key challenge with agent-based computing is to augment these existing solutions to suit the differing demands of the new paradigm, while taking as much as possible from proven methods. For example, agent software development needs to draw on insights gained from the design of economic systems, social systems, and complex engineering control systems. In addition, existing middleware solutions need to be leveraged as much as possible, and this message has been understood: several companies have been working on platforms based on existing and standard middleware that is known and understood in the commercial domain.

 In application terms, we are already seeing the deployment of agent-like systems (in the areas of pervasive computing, the Semantic Web, P2P networks, and so on). In the longer term, we expect to see the industrial development of infrastructures for building highly scalable applications comprising pre-existing agents that must be organised or orchestrated. However, making the transition from research laboratory to deployed industrial applications is indeed a challenge, and it will be important to make scientifically sound business cases for implementations and descriptions that work as stimulators both for industry adoption and for further research.

 For commercial and industrial systems, agent technologies must emerge from the laboratory with a focus on business issues, on quality and on convergence with existing and emerging industrial technologies rather than innovation. Here, safety, reliability and traditional software quality measures are equally important, and must all be addressed to achieve wider adoption. In particular, we need agent solutions for distributed, enterprise-wide environments with exacting development requirements. This might be achieved through transition approaches by which existing systems can be upgraded with a successively increased agent presence in a seamless fashion. Wrapping legacy systems within autonomous agents situated in a larger multi-agent system is one approach that is being tried, for example, in connecting new and old telecommunications switches together seamlessly, allowing legacy switches to be gradually replaced without major disruption to the overall system.

 More generally, the adoption of agent technologies in business environments depends on how fast and how well agent technologies can be linked to existing and proven software and software methods. Agent technologies should be targeted at those application domains to which they are best suited, augmenting traditional techniques that should be used when agents are not applicable or appropriate. Ultimately, achieving this aim requires a commitment on the part of both business and research communities to collaborate effectively in support of more effective solutions for all. Such a dialogue is already underway.

 This paper is based on material from the AgentLink Roadmaps [3,4].

 [1] T. Berners-Lee, J. Hendler, and O. Lassila. The semantic web. Scientific American, pages 35–43, May 2001.

 [2] I. Foster and C. Kesselman, editors. The Grid 2: Blueprint for a New Computing Infrastructure. Morgan Kaufmann, 2004.

 [3] M. Luck, P. McBurney, and C. Preist. A manifesto for agent technology: Towards next generation computing. Autonomous Agents and Multi-Agent Systems, 9(3), 2004.

 [4] M. Luck, P. McBurney, O. Shehory, and S. Willmott. Agent Technology: Computing as Interaction (A Roadmap for Agent-Based Computing). AgentLink, 2005.

http://www.dcs.kcl.ac.uk/staff/mml/papers/al3roadmap.pdf

Share/Save
No votes yet

Post new comment

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options