+ All Categories
Home > Documents > AOSE Advanced Software Engineering University College Dublin Dr Rem Collier e: [email protected].

AOSE Advanced Software Engineering University College Dublin Dr Rem Collier e: [email protected].

Date post: 11-Jan-2016
Category:
Upload: myles-hines
View: 212 times
Download: 0 times
Share this document with a friend
Popular Tags:
29
AOSE Advanced Software Engineering University College Dublin Dr Rem Collier e: [email protected]
Transcript
Page 1: AOSE Advanced Software Engineering University College Dublin Dr Rem Collier e: rem.collier@ucd.ie.

AOSE Advanced Software Engineering

University College Dublin

Dr Rem Colliere: [email protected]

Page 2: AOSE Advanced Software Engineering University College Dublin Dr Rem Collier e: rem.collier@ucd.ie.

Course Overview

• 5-credit Marking Scheme: – Lab work 40% – Exam 60%

• 10-credit Marking Scheme:– Lab work 20%– Exam 30%– Assignment 50%

• 10-credit Assignments:– Methodology Evaluation (team of 3/4)– Example System (team of 2/3)

Page 3: AOSE Advanced Software Engineering University College Dublin Dr Rem Collier e: rem.collier@ucd.ie.

Course Content

• Day 1: Introduction / Interaction / AOP– Practical: Install AF Eclipse Plugin and AF-AgentSpeak tutorial

• Day 2: Coordination and Negotiation– Practical: AF-AgentSpeak tutorial

• Day 3: Other AOP Languages– Practical: Introduction to ACRE

• Day 4: ACRE: Agent Conversation Reasoning Engine– Practical: Debugging ACRE / Non-ACRE Agents

• Day 5: Software Engineering Methodologies– Assessed Practical: Implement an agent trading system

Page 4: AOSE Advanced Software Engineering University College Dublin Dr Rem Collier e: rem.collier@ucd.ie.

AOSE: Key-Value Proposition

The Argument for Agents

Page 5: AOSE Advanced Software Engineering University College Dublin Dr Rem Collier e: rem.collier@ucd.ie.

Software Development is Difficult

• One of the most complex construction tasks humans undertake.

“Computer Science is the first engineering discipline ever in which the complexity of the objects created is limited by the skill of the creator and not limited by the strength of the raw materials. If steel beams were infinitely strong and couldn’t ever bend no matter what you did, then skyscrapers could be as complicated as computers.” Brian K. Reid

• True whatever models and techniques are applied.“the essential complexity of software” Fred Brooks

• Software engineering provides models and techniques that make it easier to handle this essential complexity.

Page 6: AOSE Advanced Software Engineering University College Dublin Dr Rem Collier e: rem.collier@ucd.ie.

Software Development isGetting Harder

• Shorter development lifecycles

• More ambitious requirements

• Less certain requirements– Greater scope for change

• More challenging environments– Greater dynamism– Greater openness

Page 7: AOSE Advanced Software Engineering University College Dublin Dr Rem Collier e: rem.collier@ucd.ie.

Software Engineering:Continually Playing Catch Up

• Better Models– Components– Design patterns– Software architectures

• Better Processes– Light (Agile) methods– Heavier methods

Page 8: AOSE Advanced Software Engineering University College Dublin Dr Rem Collier e: rem.collier@ucd.ie.

Software Engineering:Continually Playing Catch Up

• Better Models– Components– Design patterns– Software architectures

• Better Processes– Light (Agile) methods– Heavier methods

Agent Practitioners argue that:

“agent-oriented approaches can enhance our ability to model, design and build complex

distributed software systems.”

Page 9: AOSE Advanced Software Engineering University College Dublin Dr Rem Collier e: rem.collier@ucd.ie.

So, what is an agent?

“An encapsulated computer system, situated in some environment, and capable of flexible autonomous action in that environment in

order to meet its design objectives.” (Wooldridge&Jennings, 1995)

Page 10: AOSE Advanced Software Engineering University College Dublin Dr Rem Collier e: rem.collier@ucd.ie.

So, what is an agent?

• Control over internal state and own behaviour.

“An encapsulated computer system, situated in some environment, and capable of flexible autonomous action in that environment in

order to meet its design objectives.” (Wooldridge&Jennings, 1995)

Page 11: AOSE Advanced Software Engineering University College Dublin Dr Rem Collier e: rem.collier@ucd.ie.

So, what is an agent?

• Control over internal state and own behaviour.

• Experiences environment through sensors and acts through effectors.

“An encapsulated computer system, situated in some environment, and capable of flexible autonomous action in that environment in

order to meet its design objectives.” (Wooldridge&Jennings, 1995)

Page 12: AOSE Advanced Software Engineering University College Dublin Dr Rem Collier e: rem.collier@ucd.ie.

So, what is an agent?

• Control over internal state and own behaviour.

• Experiences environment through sensors and acts through effectors.

• Reactive: Respond in a timely fashion to environmental change.

• Proactive: Act in anticipation of future goals.

“An encapsulated computer system, situated in some environment, and capable of flexible autonomous action in that environment in

order to meet its design objectives.” (Wooldridge&Jennings, 1995)

Page 13: AOSE Advanced Software Engineering University College Dublin Dr Rem Collier e: rem.collier@ucd.ie.

Anatomy of an Agent

Generic Agent Architecture

Decision Making Apparatus

Sensors Effectors

The Environment

Internal Control Algorithm

Page 14: AOSE Advanced Software Engineering University College Dublin Dr Rem Collier e: rem.collier@ucd.ie.

Multiple Agents

• In most cases, a single agent is insufficient– No such thing as a single agent system (!?)

– Multiple agents are the norm, to represent:• Natural decentralisation• Multiple loci of control• Multiple perspectives• Competing interests

• AOSE is primarily concerned with the construction of complex distributed systems.

Page 15: AOSE Advanced Software Engineering University College Dublin Dr Rem Collier e: rem.collier@ucd.ie.

Agent Interactions

• Interaction between agents is inevitable– To achieve individual objectives, to manage inter-dependencies

• Conceptualised as taking place at the knowledge-level– Which system goals, at what time, by whom, what for

• Flexible run-time initiation and responses– cf. design time, hard-wired nature of extant approaches

Paradigm shift from previous perceptions ofcomputational interaction

Page 16: AOSE Advanced Software Engineering University College Dublin Dr Rem Collier e: rem.collier@ucd.ie.

Organisations

• Agents act/interact to achieve objectives:– On behalf of individuals/companies– Part of a wider problem solving initiative

• A key issue in the design of such systems:– The underlying organisational relationships between the agents.

• This organisational context:– Influences the agents’ behaviour– Relationships need to be made explicit

• Peers, teams and coalitions, authority relationships

• Currently a hot area of research in the agent community!

Page 17: AOSE Advanced Software Engineering University College Dublin Dr Rem Collier e: rem.collier@ucd.ie.

A Canonical View

EnvironmentSphere of Influence

Interactions

Agent

Organisationalrelationships

Page 18: AOSE Advanced Software Engineering University College Dublin Dr Rem Collier e: rem.collier@ucd.ie.

Software Complexity & AOSE

• AOSE practitioners argue that:– Agent-oriented approaches are suited to the development of

complex distributed systems.

• Software complexity is tackled through:– Decomposition– Abstraction– Organisation

• Remember the move from Structured Programming to Object-Oriented Programming– OOP decompositions are more natural– Increased abstraction and organisation made it possible to build

more complex systems.

Page 19: AOSE Advanced Software Engineering University College Dublin Dr Rem Collier e: rem.collier@ucd.ie.

Complex Systems

• Complexity in software takes the form of a hierarchy– Collection of related sub-systems at different levels of

abstraction

• Can distinguish between interactions among sub-systems and interactions within sub-systems.– Latter is more frequent and predictive.

• Arbitrary choice about which components are primitive.

• Systems that support evolutionary growth develop more quickly than those that do not.– Stable intermediate forms

(Herb Simon)

Page 20: AOSE Advanced Software Engineering University College Dublin Dr Rem Collier e: rem.collier@ucd.ie.

Software Complexity & AOSE

• Complex systems can be naturally decomposed into (agent) sub-systems that have:– Their own thread of control (active: “say go”)– Control over their own destiny (autonomous: “say no”)

• This makes the engineering of complex systems easier:– Natural representation of multiple loci of control as “real systems

have no top” (Meyer)– Allows competing objectives to be represented and reconciled in

context sensitive fashion

Page 21: AOSE Advanced Software Engineering University College Dublin Dr Rem Collier e: rem.collier@ucd.ie.

Software Complexity & AOSE

• Interactions occur both among sub-systems and within sub-systems.– Agents make decisions about the nature and scope of interactions at

run-time.

• This makes the engineering of complex systems easier:– Unexpected interaction is expected and not all interactions need

be set at design time– Simplifies management of control relationships between

components as coordination occurs on an as-needed basis between continuously active entities.

Page 22: AOSE Advanced Software Engineering University College Dublin Dr Rem Collier e: rem.collier@ucd.ie.

Software Complexity & AOSE

• Relationship between Abstractions:

Complex Systems Agent-Based SystemsSubsystem Agent OrganisationSubsystem Components AgentInteractions Cooperating, Coordinating,

NegotiatingRelationships Mechanisms for representing

and managing organisational structures

Page 23: AOSE Advanced Software Engineering University College Dublin Dr Rem Collier e: rem.collier@ucd.ie.

Summary

• Key Value Proposition:– Agent-based computing can provide powerful metaphors,

concepts and techniques for conceptualising, designing and implementing complex distributed systems.

• The Argument:– Agents are a natural metaphor for developing systems in which

control and data are decentralised, and computation is asynchronous.

– Multi-Agent Systems offer flexible interaction patterns that can adapt at run-time to meet changing system requirements.

– AOSE does not replace existing approaches - it offers another level of abstraction that can be used to manage the design and implementation of complex distributed systems.

Page 24: AOSE Advanced Software Engineering University College Dublin Dr Rem Collier e: rem.collier@ucd.ie.

Realising the Promise

• Practical methodologies– For analysing and designing agent-based systems– Should be usable by practitioners

• Industrial strength toolkits– So that we don’t have to start from scratch– Full range of support: IDEs, debuggers, profilers, verifiers,

metrics, …

• Reusable know-how and technologies– Libraries of interaction protocols– Organisational patterns– Consistency of Approach

Page 25: AOSE Advanced Software Engineering University College Dublin Dr Rem Collier e: rem.collier@ucd.ie.

Existing Applications of Agents

• Agents are used in many different application domains:– Military Simulations

• US Army uses agents to train combat pilots, control UAVs (Cybelle)

– Supply Chain Management• Proctor and Gamble have an agent-based supply chain that saves

them around $300 million per year.

– eProcurement• Deutshe Post use agents to match shipping needs with 6,000 German

Freight Carriers and saves around $17M per annum.

– Manufacturing• Daimler Chrysler used agents to automate a factory producing Cylinder

heads and has seen a 10% increase in the plants productivity.

Page 26: AOSE Advanced Software Engineering University College Dublin Dr Rem Collier e: rem.collier@ucd.ie.

Existing Applications of Agents

• Agents are used in many different application domains:– Transportation

• Southwest Airlines cut overnight transfer weight by 71% and saved $10M per annum in labour costs.

– Games & Movies• Agents were used to model the soldiers in war scenes from Lord of

the Rings.

– Space Systems• The ESA recently committed to using agent technologies to

implement next generation space systems - multi-satellite constellations, mars rover teams, …

Page 27: AOSE Advanced Software Engineering University College Dublin Dr Rem Collier e: rem.collier@ucd.ie.

Agent Technology Companies

• Whitestein Technologies / Living Systems Platform– Domains:

• Telecommunications• Logistics and Supply Chain Management• Insurance and Banking• Engineering and Manufacturing

• Agent Oriented Software / JACK Agent Platform– Domains:

• Aerospace and Air Traffic Control• Oil Trading and Operations• Defence• Virtual Actors and Serious Games

Page 28: AOSE Advanced Software Engineering University College Dublin Dr Rem Collier e: rem.collier@ucd.ie.

Agent Technology Companies

• Magenta Technology / Maxoptra Platform– Domains:

• Retail Distribution• Oil and Gas• Asset Rental• Medical Services• Taxi and Chauffeur Operations• Home Delivery

Page 29: AOSE Advanced Software Engineering University College Dublin Dr Rem Collier e: rem.collier@ucd.ie.

Key Reading

• Jennings, N., On Agent-Oriented Software Engineering, Artificial Intelligence, 2000

• Jennings, N., Wooldridge M., Agent-Oriented Software Engineering: Pitfalls and Pratfalls, ???, 2002


Recommended