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
© Copyright 2026 Paperzz