Agent-Oriented Requirements Engineering

Introduction to Agents
and Agent-Oriented
Modelling
Prof Kuldar Taveter,
Tallinn University of
Technology
Overview of today









Logistics
Who am I?
Who are you?
What is an agent?
What is a system?
What is a multi-agent system?
What is a model?
What is systems engineering?
Why is it useful?
Logistics



Lectures on Wednesdays at 10.0011.30 in the main building of TUT,
lecture hall VI-201
Workshops on Wednesdays at 12.0013.30 in the ICT building of TUT at
Raja 15, lecture hall IT-140
Consultation times: on Wednesdays at
14.30 – 15.30 in the ICT building of
TUT at Raja 15, room IT-402
Communication


Course webpage:
http://maurus.ttu.ee/wp/?page_id=76
Course mailing list:
[email protected]
Assessment




The design and implementation of a multiagent system (in the context of intelligent home
or office), approximately 2000 words of text
along with appendices, figures, tables, graphs
and examples of source code (40%)
A 15-minute in class oral presentation on the
assignment (10%)
A 2-hour end-of-term written examination
(50%)
Extra 5% possible for regular attendance of
workshops
Workshops



Agent modelling and programming
exercises first ”with a pencil and paper”
Help with using various freeware
products, such as REBEL, PDT, Jason,
JADE, required for completing
miniprojects
Laptops required
Who am I?





Name: Kuldar Taveter
Position: Professor, Chair of Software Engineering
Education:
• Dip.Eng., TUT, 1988
• M.Sc., TUT, 1995
• Ph.D., TUT, 2004
Work experience:
• 1985-1989: Institute of Cybernetics
• 1989-1993: Private companies
• 1993-1998: Department of Informatics of TUT
• 1997-2005: Technical Research Centre of Finland
• 2005-2008: The University of Melbourne, Australia
• 2008- : Department of Informatics of TUT
Research areas: requirements elicitation and analysis, agent-oriented
modelling, fast prototyping, agent-based simulation, ontologies
Literature






Sterling, L. & Taveter, K. (2009). The art of agentoriented modeling. MIT Press.
Wooldridge, M. (2009). Introduction to multi-agent
systems, 2nd Edition. Addison-Wesley.
d'Inverno, M. & Luck, M. (2001). Understanding agent
systems. Springer-Verlag.
Padgham, L. & Winikoff, M. (2004). Developing
intelligent agent systems: A practical guide. John
Wiley and Sons.
Bellifemine, F., Caire, G, & Greenwood, D. (2005).
Developing multi-agent systems with JADE. John
Wiley & Sons.
Bordini, R. H., Hübner, J. F., & Wooldridge, M.
(2007). Programming multi-agent systems in
AgentSpeak using Jason. John Wiley & Sons.
Why this course?

The world is changing!
Two kinds of systems



Predominantly client-server systems
Increasingly more peer-to-peer systems
Peer-to-peer subsumes file sharing
Client-server systems


Client:
•
•
•
queries;
waits;
receives;
Server:
•
•
•
waits;
serves;
does not query.
Peer-to-peer systems



All nodes are equal
Each node can work
as a client or as a
server
Each node can offer
(computing, memory,
bandwidth, etc.)
resources
Client-server vs. peer-to-peer






Peer-to-peer resources are distributed
Peer-to-peer is more robust
Peer-to-peer is more secure
Peer-to-peer is trickier to test
Peer-to-peer is trickier to manage
Hybrid network: peer-to-peer network +
client-server directory
History


MOM
Ajax
Examples of peer-to-peer systems




Social networks
E-medicine
Mobile e-commerce
Intelligent home
There is no pure peer-to-peer
Agents
Legend
A
B
C
D
E
Services
Agent
Service
X
Y
Functional object
Functional
objects
Interaction
1
2
3
4
5
Invocation
Overview of today






What is an agent?
What is a system?
What is a multi-agent system?
What is a model?
What is systems engineering?
Why is it useful?
What is agent?



An active entity as opposed to a passive
entity
An entity that can act in the environment,
perceive events, and reason
An entity that acts on behalf of someone
or somebody
Agent

Agent is an entity that perceives and
affects its environment and performs
reasoning
Agent is:

Agent interacts in an asynchronous way

• reactive;
• proactive;
• social.
The abstract agent architecture
Anthropomorphic qualities







Beliefs
Responsibilities
Expectations
Capabilities
Goals
Desires
Intentions
Example agents
Three kinds of agents



Biological agents: a dog, a human
Man-made agents: the Mars Exploration
Rover, a Tamagotchi, a software agent,
an industrial robot
Institutional agents: the University of
Melbourne, a company
Are these agents?



Web crawler
Virus
Email handler
Differences between agents and
objects




An agent has unpredictable behaviour as
observed from the outside
An agent is situated in the environment
Agent communication model is
asynchronous
Agents can be “intelligent”: reactive,
proactive, and social
Where are critical questions
answered?
Monolithic Structured
ObjectAgentProgram
Programming Oriented
Oriented
Programming Programming
How does a External
unit behave?
(Code)
Internal
Internal
Internal
What does a External
unit do
when it
runs? (State)
When does a External
unit run?
External
Internal
Internal
External
(called)
External
(message)
Internal
(rules; goals)
Why are agents useful?






„Natural‟ abstraction level
Easy to specify knowledge (for analysts)
Useful breakdown of problems
Ability to perform in an open, dynamic,
unpredictable environment
Potential for exploiting the Internet
Potential for more intelligent software
What is system?

A set of entities or components
connected together to make a complex
whole or perform a complex function
What is multi-agent system?


A system consisting of several
interacting agents
Peer-to-peer + asynchronous
communication + agents
Socio-technical system


A system that includes hardware and
software and people
A system that contains both a social
aspect, which may be a subsystem, and
a technical aspect
Examples of multi-agent
systems



Intelligent home
Electronic commerce
Any others?
What is model?


A hypothetical description of a complex
entity or process
A model should be as complex as it
needs to be to reflect the issues the
system is being built to address, but no
more complex
Examples of models




A model of the solar system
The model of a gold mine
The model of a chemical plant
Air traffic simulator:
Models for building software
systems
 UML:
The Unified Modeling Language (UML) has gained broad
industry acceptance as the industry-standard language
for specifying, visualizing, constructing, and documenting
the artifacts of software systems. It simplifies the complex
process of software design, making a "blueprint" for
construction. The UML definition was led by Rational
Software's industry-leading methodologists, Grady
Booch, Ivar Jacobson, and Jim Rumbaugh. <from
Rational publicity>
Why are models needed?


A handy person can build a shed
in the backyard - but does it scale
to a 30-floor office building?
A scientist can write a program to
do some calculations for an
experiment - but does it scale to
air traffic control?
Today

Workshop on identifying agents,
objects, and services in the world (1213.30 IT-140)
Next time

On 10 February 2010:
• Lecture “Conceptual space for
•
understanding agents”
Workshop on finding examples of the
concepts in the world