Presentation on theme: "Agent Based Software Development Michael Luck, Ronald Ashri and Mark dInverno."— Presentation transcript:
Agent Based Software Development Michael Luck, Ronald Ashri and Mark dInverno
1 Agent Based Computing Modern computing is defined by the interconnection of computers The World Wide Web now provides a basic infrastructure for dynamic provision of online services The information society arises from the use of distributed, dynamic and open systems across all aspects of everyday life Computers are in embedded devices, support systems as well as the traditional desktop
Dynamic and open environments Networked computers Dynamic interactions to form new system configurations Enable increased flexibility May span organisational boundaries Can operate in rapidly changing circumstances with changing information Traditional models of computation are inadequate
Autonomy Need to respond dynamically to changing circumstances while trying to achieve overarching objectives without user intervention Web Services, for example offer new ways of operating through standardized tools support a service-oriented view of software Agent technologies offer a way to tackle the problems and manage the resulting complexity
Agents Agents can be viewed as 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 possibly cooperate, with other agents (including both people and software) that may have conflicting aims.
Agent-Based Systems Agent-based systems have emerged from a convergence of technologies in Distributed object systems Distributed artificial intelligence Agent technologies are already providing benefits in, for example, Manufacturing Supply chain management B2B exchanges
Agents versus Objects Like objects, agents encapsulate state and behaviour But objects are essentially passive They have no choice over interaction They are invoked by other objects Agents decide whether to perform the desired operation Agents are autonomous
Agents versus Objects: Modeling Objects provide a valuable way to model the world But agents provide a more natural representation of real-world systems in which different individuals interact according to their own agendas and priorities. They can come together to achieve overarching objectives that might not, or not as easily, be achieved by the individuals alone
Agents versus Objects When agent goals are closely aligned, and if agents are benevolent and honest, then the resulting systems may resemble an object-oriented system. The object-oriented paradigm may be adequate, but is unlikely to be flexible. Agents may be constructed using object technology. Agents typically run in their own thread of control, while standard object systems have one thread.
Agents: basic notions Agents are Situated Embodied Agents receive input through some sensory device act so as to affect the environment through effectors
Agents: definitions There is no consensus over what constitutes an agent, but some properties are agreed: Autonomy: self-starting, independent entities, that can function without direct user or programmer intervention Reactiveness: can monitor environment and respond quickly to changes Proactiveness: have overarching goals that guide behaviour over longer periods Social ability: open environments require the ability to interact and communicate with other agents
Other Agent Properties Learning ability Mobility Benevolence Rationality Temporal continuity Believable personality communication ability Adaptability Mobility Veracity
Weak and Strong Notions Weak notion involves Autonomy Social ability Reactiveness Proactiveness Strong or intentional notion of agents also requires control architectures comprising mental components such as Beliefs Desires Motivations
Definitions Franklin and Graesser: autonomous agent is a system situated within and a part of an environment that senses that environment and acts on it, over time, in pursuit of its own agenda and so as to affect what it sense in the future.
Types and Applications Generic: autonomous agents, software agents, intelligent agents Specific: interface agents, virtual agents, information agents, mobile agents Applications: operating systems interfaces, processing satellite imaging data, electricity distribution management, air-traffic control, business process management, electronic commerce, computer games.
History Rooted in Distributed artificial intelligence Distributed object technologies Basic notions stem from the work of Brooks Objected to traditional view of AI as symbol manipulation Argued for construction of situated and embodied systems. Wanted to address brittleness of existing systems Sought more flexible and robust complete systems that exhibited effective behavior in changing environments.
Distributed Artificial Intelligence Dates back to mid to late 1970s Concerned with development of mechanisms to enable systems of interacting agents to pursue overarching goals in a cooperative fashion. Gave rise to the Functionally-Accurate, Cooperative (FA/C) paradigm Provided a model for task decomposition Enabled agent interaction in a distributed problem-solving system Agents no longer needed to have all information locally to solve subproblems Worked through synchronous exchange of partial results Evolved into much of field of multi-agent systems
Distributed Object Technologies Provided a supporting infrastructure For example, the CORBA distributed computing platform handled low level interoperation of heterogeneous distributed components CORBA can underpin the development of agent systems without the need for reinvention of fundamental techniques.
World Wide Web Distribution of information and associated technologies lend themselves almost ideally for multi-agent systems Problems that arise suggest agents The dual aspect of this interaction with the World Wide Web has thus been a major driving force
Obstacles to Deployment Fundamental obstacle to take-up lack of mature agent development methodologies Requires Basic principles of software and knowledge engineering augmented to suit the differing demands of agents sophisticated yet easy-to-use agent-oriented CASE environments for all aspects of system development process Some systems already have rudimentary elements of these Success is likely through use of evolving (and current) systems integration technologies (such as Jini and UDDI)
Ambient Intelligence Aimed at seamless delivery of services and applications Relies on ubiquitous computing, ubiquitous communication intelligent user interfaces Environment of potentially thousands of embedded and mobile devices interacting to support user centered goals and activity. Component-oriented view of the world Key characterizing features are autonomy, distribution, adaptation, responsiveness, etc.
Grid Computing High performance computing infrastructure for large scale distributed scientific endeavor more general applications involving large scale information handling, knowledge management and service provision Many services spread over a geographically distributed environment new services join and existing ones leave Agents act for service owners, managing access to services, ensuring that contracts are fulfilled act for service consumers, locating services, agreeing contracts, and receiving and presenting results collaborate and form coalitions with different capabilities in support of new virtual organisations.
eBusiness Agents already used in product and merchant discovery and brokering Next step is real trading, negotiating deals and making purchases Major impact will be on the supply chain Direct consumer contact with producer instead of reseller may produce increase in efficiency of overall supply chain Will permit new markets to appear, old markets to change and the participation of new players. In short term, travel agencies and retailing will be the primary B2C domains using agent technology
Simulation Natural basis for training of decision makers in complex domains Defense simulations enable planners to experience complex military operations and war games Actual market dynamics can be simulated to give trainee decision makers exposure to many diverse experiences Decision maker is allowed to learn through mistakes, without real-world consequences Entertainment applications include Single (human) player computer games Multi-player games, where players may be both humans and agents Interactive movies and television