Transcript Slides
Agent Based
Software Development
Michael Luck, Ronald Ashri and
Mark d’Inverno
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
Web Services, for example
to respond dynamically to changing circumstances
while trying to achieve overarching objectives
without user intervention
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
Many services
large scale distributed scientific endeavor
more general applications involving large scale information
handling, knowledge management and service provision
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