Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of...

98
Extending UML for Agents and Goals: Extending UML for Agents and Goals: A Tutorial on Multi-Agent A Tutorial on Multi-Agent Systems Systems Manuel Kolp Manuel Kolp University of Louvain University of Louvain

Transcript of Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of...

Page 1: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Extending UML for Agents and Goals: A Tutorial Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systemson Multi-Agent Systems

Manuel KolpManuel Kolp

University of LouvainUniversity of Louvain

Page 2: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 2

Why Agent-Oriented Software?Why Agent-Oriented Software? Next generation software engineering will have to support Next generation software engineering will have to support open, open,

dynamicdynamic architectures where components can accomplish architectures where components can accomplish tasks in a tasks in a varietyvariety of operating environments. of operating environments.

Consider application areas such as Consider application areas such as eBusiness, application eBusiness, application service provision, pervasive or P2P computingservice provision, pervasive or P2P computing..

These all call for software components that find and compose These all call for software components that find and compose services services dynamicallydynamically, , establish/dropestablish/drop partnerships with other partnerships with other components and operate under a broad range of components and operate under a broad range of conditionsconditions..

Learning, planning, communication and negotiationLearning, planning, communication and negotiation become become essential features for such software components.essential features for such software components.

......agents!agents!

Page 3: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 3

What is an Agent?What is an Agent?

A person, an organization, certain kinds of software.A person, an organization, certain kinds of software.

– Autonomous, pro-active, goal, knowledge oriented, adaptative

– with/in its environment IntelligenceIntelligence

An An agentagent has has beliefsbeliefs, goals (, goals (desiresdesires), ), intentionsintentions..

Agents are situated, autonomous, flexible, and social.Agents are situated, autonomous, flexible, and social.

Human/organizational agents can’t be Human/organizational agents can’t be prescribedprescribed, they can , they can only be only be partiallypartially described.described.

Page 4: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 4

Why Worry About Human/Organizational Agents?Why Worry About Human/Organizational Agents?

Because their goals lead to Because their goals lead to software requirementssoftware requirements, and these , and these influence the influence the designdesign of a software system. of a software system.

Note the role of human/organizational agents in OOA, e.g., Note the role of human/organizational agents in OOA, e.g., use use casescases..

Also note the role of agents in Also note the role of agents in up-and-comingup-and-coming requirements requirements engineering techniques such as engineering techniques such as KAOSKAOS [Dardenne93]. [Dardenne93].

In KAOS, requirements analysis begins with a In KAOS, requirements analysis begins with a set of goalsset of goals; these ; these are analysed/decomposed to are analysed/decomposed to simpler goalssimpler goals which either lead to which either lead to software requirements, or are delegated to software requirements, or are delegated to external agentsexternal agents..

Page 5: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 5

Multi-agent system: Multi-agent system: societiessocieties of of individuals individuals to achieve to achieve particular, possible common particular, possible common goalsgoals..

A Social Computing ParadigmA Social Computing Paradigm

Software AgentSoftware Agent

– Implemented with/in software technologiesImplemented with/in software technologies

– EnvironmentEnvironment : humans, machines, other agents, platforms. : humans, machines, other agents, platforms.

– To be completely specified during implementation.To be completely specified during implementation.

BeliefsBeliefs correspond to (object) correspond to (object) statestate, , intentionsintentions constitute a constitute a run-run-timetime concept. For concept. For design-timedesign-time, the interesting new concept , the interesting new concept agents have that agents have that objects don’t haveobjects don’t have is... is...

......goalsgoals!!

Page 6: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 6

Agent: Individual CharacteristicsAgent: Individual Characteristics

AutonomousAutonomous

– WithoutWithout direct external intervention.

MobileMobile

– To transporttransport itself from one environment to another.

UnpredictableUnpredictable

– To act in not predictablenot predictable ways, even if the initial conditions are known

RuggedRugged

– To deal with errorserrors and incomplete data robustlyrobustly.

Page 7: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 7

Agent: Social CharacteristicsAgent: Social Characteristics

InteractiveInteractive

– To communicate with the environmentenvironment and other agents.

AdaptiveAdaptive – capable of respondingresponding to other agents and/or its environmentenvironment.

SociableSociable – To act in as a representativerepresentative of some entity.

ProactiveProactive – goal-orientedgoal-oriented, purposeful. Does not simply react to the environment.

Page 8: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 8

Agent: Social CharacteristicsAgent: Social Characteristics

CoordinativeCoordinative

– To perform activities in a sharedshared environment with other agents.

CooperativeCooperative

– To coordinate with other agents to achieve a commoncommon purpose;

succeed or fail togethertogether.

CompetitiveCompetitive – Antisocial AgentAntisocial Agent : maximizes his absolute profit; eliminates

conccurrents at a minimal cost

Page 9: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 9

Agent: Rationale CharacteristicsAgent: Rationale Characteristics

Intelligence for AgentIntelligence for Agent

– KnowledgeKnowledge (B.R.I.D.G. B.R.I.D.G. :: beliefs, resources, intentions, desires, goals)

– Communicate with symbolicsymbolic language

The Belief-Desire-IntentionThe Belief-Desire-Intention (BDI) agent model from philosophyphilosophy and

cognitivecognitive science.

–An agent has beliefsbeliefs about the world and desiresdesires to satisfy, driving it

to form intentionsintentions to act.

–Mental statesMental states of an agent.

Page 10: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 10

Inside the BDI ModelInside the BDI Model

HumanHuman

Beliefs - perceivedBeliefs - perceivedunderstandingunderstandingof the worldof the world

Goals or desiresGoals or desires

Accumulated behavioursAccumulated behaviours

AgentAgent - - Belief, Desire, IntentionsBelief, Desire, Intentions

BeliefsBeliefs - database - database of perceivedof perceivedworld knowledgeworld knowledge

ExecutionExecutionEngineEngine

Goals or Goals or DesiresDesires

Pre-compiled plansPre-compiled plans

IntentionsIntentions -executing -executingplansplans

Page 11: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 11

Example: Agents at WorkExample: Agents at Work

Contextual BeliefsContextual Beliefs

New Beliefs/FactsNew Beliefs/FactsGoal/Desire/NeedGoal/Desire/Need

Running Plan/IntentionRunning Plan/Intention

Page 12: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 12

Scenario for Office SupplyingScenario for Office Supplying

A company that needs to order paper supplies enlist agents to monitormonitor the quantity and usage patternspatterns of paper in the company, launching buying agents when supplies are low.

Buying agents automatically collectautomatically collect information on vendors and products that may fitfit the needsneeds of the company, evaluateevaluate the offerings, make a decisiondecision on which merchants and products to investigate, negotiatenegotiate the transactions with the merchants, and finally place ordersorders and make automatedautomated payments.In Pattie Maes, Robert H. Guttman, and Alexandros G. Moukas, Agents Agents that buy and sellthat buy and sell, Communications ACM, March 1999/Vol. 42, No. 3

Page 13: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 13

Agents @ Microsoft (.NET project)Agents @ Microsoft (.NET project)

Après vingt ans, les ordinateurs personnels ont été rejoints par une myriade myriade d'enginsd'engins - les ordinateurs de poche, les téléphones portables, les messagers sans fil... - que Microsoft se fait fort d'interconnecter.

L'idée force : ramener cette galaxie de gadgets sous un seul contrôleun seul contrôle - celui du celui du consommateur individuelconsommateur individuel, qui pourra décliner à sa guise ses « rôlesrôles » (vie privée, vie professionnelle) en un seul systèmeseul système. Les premiers exemples : passer d'avance sa commande type à sa chaîne de restauration rapide favorite pour éviter la file, conjuguer les fichiers du calendrier personnel et du carnet d'adresses téléphoniques pour faire suivre, selon un ordre de priorité à choisir, certains appels téléphoniques quand on n'est pas à son poste habituel.

Chaque individu contrôlera souverainement l'usage de ses données personnelles, promet Dan'l Lewin (chargé du projet « .NETNET », la plate-forme d'interconnexion universelle de Microsoft).

Le Soir 11/08/2001 and Bill GatesBill Gates, Keynotes AddressKeynotes Address, 17th International Joint Conference on Artificial Intelligence August 2001, Seattle, USA

Page 14: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 14

Mobile Agent on the InternetMobile Agent on the Internet

Page 15: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 15

User AssistanceUser Assistance

The animated help characters in Microsoft Office products.

Use bayesean networks to analyze and predict possible topicspredict possible topics that the user may need help with.

– Bill GatesBill Gates, Keynotes AddressKeynotes Address, 17th International Joint Conference on Artificial Intelligence August 2001, Seattle, USA

Page 16: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 16

Foreign Exchange MarketForeign Exchange Market

L'euro a également succombé aux programmes de vente automatiques des institutions financières: les grands acteurs du marché des changesmarché des changes (banques, fonds, etc.) utilisent en effet des programmes dits programmes dits “agents intelligents”“agents intelligents” qui déclenchent automatiquementautomatiquement un ordre de vente dans certaines conditionsconditions. Il semble que ces programmes se soient déclenchés ce mercredi matin à Londres après que l'euro a touché plusieurs fois le seuil des 88,51 cents , explique un cambiste allemand.

– from Le Soir 09/07/2000

Page 17: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 17

Searching the Web : bots, engines, crawlerSearching the Web : bots, engines, crawler

The original The original LycosLycos spiders have evolved into a spiders have evolved into a multiagent system of cooperating components that multiagent system of cooperating components that can visit and analyze more than 10,000,000 Web can visit and analyze more than 10,000,000 Web pages each day.pages each day.

– In Richard Green and Sangam Pant, Multiagent Data Collection in Lycos, Communication of the ACM, March 1999/Vol. 42, No. 3

Alltheweb, Altavista, Yahoo, Hotbot, GoogleAlltheweb, Altavista, Yahoo, Hotbot, Google

Page 18: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 18

Searching the Web : bots, engines, crawler Searching the Web : bots, engines, crawler

Page 19: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 19

Technical E-SupportTechnical E-Support

Date:  Sat, 17 Feb 2001 23:32:27 -0500 From:  [email protected] To:   [email protected] Subject: #3OT##01# Case #: 200121712300 - Monitor #APTX##3OT##01# Case #: 200121712300 - Monitor #APTX# X-Mailer: Aptex Software SelectResponse X-MIME-Autoconverted: from 8bit to quoted-printable by smtp6.us.dell.com               

Thank you for contacting Dell US eSupport Services,This first response to your request will be conducted by an artificial intelligenceartificial intelligence tool designed to provide you with the fastest possible quality supportquality support. If the Automated Response does not answer your question, please look at the bottom of this email for further instructions on how to contact us about this issue.

((SRMACSR video:VideoCards_Mob01042001 SRMACSRSRMACSR video:VideoCards_Mob01042001 SRMACSR))    

((SRCATSR D_M.Bad.Pixel SRCATSRSRCATSR D_M.Bad.Pixel SRCATSR)) 

--- Dell Automated Technical Assistant response ---

Page 20: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 20

PricebotsPricebots

Dynamically set prices of products in a dynamic environment

IntentionIntention: Maximize long term profit

DesiresDesires: Optimize local price

BeliefsBeliefs:

– Competitor prices

– Buyer behavior model

– Competitor behavior model

Barnesandnoble.com, Chapters.com, Borders.comBarnesandnoble.com, Chapters.com, Borders.com

BDI ModelBDI Model

Page 21: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 21

PricebotsPricebots

Page 22: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 22

Bargain FindersBargain Finders

CCapture shoppers’ apture shoppers’ preferences for preferences for price and aprice and a l limited imited set of productset of productss

RReturns a list of eturns a list of productproduct offerings offerings differentiated by differentiated by price.price.

Jango.exite.comJango.exite.com

Page 23: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 23

Recommendations/Notifications Recommendations/Notifications (E-mail)(E-mail)

Page 24: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 24

Key Concepts for E-commerce AgentsKey Concepts for E-commerce Agents

AgentAgent BusinessBusinessCustomerCustomer

CatalogCatalogUser ProfileUser Profile

Zip, age, Zip, age, gender, gender, purchase purchase history, history, preferences, preferences, interests, interests, needs, …needs, …

Item 1Item 1Item 2Item 2Item 3Item 3……Profile ManagerProfile Manager

Match Profile with Catalog to Match Profile with Catalog to offer personalized experienceoffer personalized experience

Predictions on profile & «business Predictions on profile & «business intelligence», (data-mining, CRM)intelligence», (data-mining, CRM)

E-mail E-mail NotificationsNotifications

Match Extract Information from Match Extract Information from multiplemultiple sites about products user wants sites about products user wantsOROR

Page 25: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 25

Other Agents for Organizations ManagementOther Agents for Organizations Management

– Nomadic Computing (Nomadic Computing (SUN, Lotus, OracleSUN, Lotus, Oracle))– Datawarehouse, Data Mining, CRM (Datawarehouse, Data Mining, CRM (Oracle, InformixOracle, Informix))– Call Centers, Internet Routing (Call Centers, Internet Routing (Bell, AT&TBell, AT&T, , CISCO, JuniperCISCO, Juniper) ) – Knowledge Management (Knowledge Management (Ernst & YoungErnst & Young))– Information Management (Information Management (DigitalDigital))– Groupware, Workflow (Groupware, Workflow (Lotus, IBMLotus, IBM))– Personal schedule management (Personal schedule management (QualcommQualcomm))– E-trading (E-trading (Bank of MontrealBank of Montreal))– E-Brokering (E-Brokering (Amazon, Barnes & Noble, Ebay, Andersen ConsultingAmazon, Barnes & Noble, Ebay, Andersen Consulting))– Role and personnel management (Role and personnel management (PeopleSoftPeopleSoft))– Enterprise Resource Planning (Enterprise Resource Planning (BaanBaan))– Peer 2 Peer (Peer 2 Peer (NapsterNapster, , Gnutella ProtocolsGnutella Protocols))– … …

Page 26: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 26

Life CycleLife Cycle

1. Early requirements: understanding a problem by studying an organizational setting; output : organizational model with relevant actors, their goals and inter-dependencies

2. Late requirements: system-to-be described within its operational environment, with relevant functions and qualities

3. Architectural design: global architecture defined in terms of interconnected subsystems

4. Detailed design: behavior of each architectural component defined in detail

5. Implementation: system implementation carried out consistently with detailed design

Page 27: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 27

The Tropos ProjectThe Tropos Project

Early

Early

requirements

requirements Late

Late

requirements

requirements

Architectural

Architectural

design

design Detaile

d

Detailed

design

design

Implementatio

n

Implementatio

n

KAOSKAOSZZ

UML, Catalysis & Co.UML, Catalysis & Co.

AUMLAUML

TROPOSTROPOS

GAIAGAIA

!! The GAP !!!! The GAP !!

i*i*

Agent-oriented Agent-oriented programmingprogramming

Page 28: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 28

The TROPOS OntologiesThe TROPOS Ontologies

(FormalFormal) Specification of a conceptualization (= conceptual modelconceptual model)

– SocialSocial -- the actorsactors, their needs, obligations, capabilities

– IntentionalIntentional -- the relevant goalsgoals, how do they interrelate?

How are they being met, and by whom?

– CommunicationalCommunicational -- how the actors dialoguedialogue with each other?

– Process-orientedProcess-oriented -- the relevant business processesprocesses

– StructuralStructural -- the actors structuredwith their inter-relationshipsrelationships

Page 29: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 29

Example: A User 2 On-line Buying SystemExample: A User 2 On-line Buying System

Media taxonomyMedia taxonomy– on-line catalog– DBMS

E-Shopping CartE-Shopping Cart– Check In– Buying– Check Out

Search EngineSearch Engine– catalog browser– Keywords– full-text

Billing ProcessorBilling Processor– $ transactions– orders

MultimediaMultimedia– description– samples

Page 30: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 30

1. Early Requirements Analysis with TROPOS1. Early Requirements Analysis with TROPOS Understanding the problem by studying an organizationalorganizational setting;

Organizational modelOrganizational model with relevant actors and respective goals.

i*i* [Yu95]

Running Example: A Business to Consumer SystemRunning Example: A Business to Consumer System

Goals are relative, fulfillment is collaborative !!Goals are relative, fulfillment is collaborative !!

Page 31: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 31

Insurance CompanyInsurance Company

CustomerInsuranceCompany

Carrepaired

Customerhappy

Settleclaim

Maximizeprofits

Page 32: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 32

The Strategic Dependency ModelThe Strategic Dependency Model Focus on social dependenciessocial dependencies among actors rather than only

actor goals, actions etc.

Actors have goalsgoals, need taskstasks be carried out and resourcesresources to be made available;

Dependencies define social & intentional relationshipssocial & intentional relationships among actors, where one actor depends on another to satisfy a goal or satisfice a softgoal, execute a process or furnish a resource;

Dependencies can be goal dependencies, task dependencies, resource dependencies or soft goal dependencies

SoftgoalsSoftgoals are distinguished from goals because they do not have a formal definition, and are amenable to a different (more more qualitativequalitative) kind of analysis (not well-defined).

Page 33: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 33

Four Kinds of Social DependenciesFour Kinds of Social Dependencies

GoalGoal

TaskTask

ResourceResource

SoftgoalSoftgoal

…Social Social DependencyDependency

Page 34: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 34

An Insurance ExampleAn Insurance Example

CarCarrepairedrepaired

PayPay repairsrepairs

MaximizeMaximizeestimateestimate

ContinueContinuebusinessbusiness

DD DD

DD DDDD DD

DDDDDD DD

DD

DD

DD

DD

DD

DD

DD

DDClaimsClaimspayoutpayout

PremiumPremiumpaymentpayment

DDCustomerCustomerhappyhappy

RepairsRepairscoveredcovered

DD

DD

AppraiseAppraisedamagesdamages MinimizeMinimize

repairsrepairs

SecureSecureemploymentemployment

Fair repairFair repairappraisalappraisal

GoalGoal

TaskTask

ResourceResource

SoftgoalSoftgoal

DDDD

BodyBodyShopShop OwnerOwner

AppraiserAppraiser

InsuranceInsuranceCompanyCompany

DD

Page 35: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 35

Tasks vs GoalsTasks vs Goals

Tasks are processes actors perform to fulfill goals.Tasks are processes actors perform to fulfill goals.

In general, there will be many alternative tasks (possibly by In general, there will be many alternative tasks (possibly by different actors) for fulfilling a goal.different actors) for fulfilling a goal.

When actors are assigned goals, they are (or, ought to be) able to When actors are assigned goals, they are (or, ought to be) able to fulfil them by carrying out one or more tasks, and/or through fulfil them by carrying out one or more tasks, and/or through delegation to other actors.delegation to other actors.

A delegated goal may not be achievable by the dependee actor A delegated goal may not be achievable by the dependee actor (who is supposed to achieve it); in this case, the depender actor (who is supposed to achieve it); in this case, the depender actor has to look for an alternative solution.has to look for an alternative solution.

Page 36: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 36

SoftgoalsSoftgoals

Functional goals, such as “Handle Customers Orders” : well defined goals in the sense that they admit a formal definition.

Not all goals are functional.

“Increase Market Share”, “Happy Customers” or “Easily Adaptable System” : qualities that the software system should adhere to.

Non functional Goals: softgoalssoftgoals, “fuzzy goals” (clouds) with no clearcut criteria for satisfaction;

Hence softgoals are satisficedsatisficed, not satisfied.

How well the system accomplishes its functions

Page 37: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 37

Extending UML using StereotypesExtending UML using Stereotypes

<<task dependency>><<task dependency>>Consult Catalogue

<<goal dependency>><<goal dependency>>Buy Media Items

<<resource dependency>><<resource dependency>>Media Items

<<goal dependency>><<goal dependency>>Continuous Supply

<<softgoal dependency>><<softgoal dependency>>Long Term Business

<<softgoal dependency>><<softgoal dependency>>Quality Packages

<<i* actor>><<i* actor>> <<i* actor>><<i* actor>> <<i* actor>><<i* actor>> <<i* actor>><<i* actor>>

<<softgoal dependency>><<softgoal dependency>>

Media ProducerMedia ProducerCustomerCustomer Media ShopMedia Shop Media SupplierMedia Supplier

Happy Customers

<<softgoal dependency>><<softgoal dependency>>Increase Market Share

Page 38: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 38

Formal Analysis and Model-CheckingFormal Analysis and Model-CheckingEntityEntity MediaItem

Attribute constantAttribute constant itemType : ItemType, price : Amount, InStock : BooleanDependencyDependency BuyMediaItems

TypeType goalModeMode achieveDependerDepender CustomerDependeeDependee MediaRetailerAttributeAttribute constant item : MediaItem

Fulfillment Fulfillment condition for dependercondition for dependermedia : MediaItem(self.item.type media.type item.price media.price)[the customer expects to get the best price for the type of item]

DependencyDependency ContinuousSupplyTypeType goalModeMode maintainDependerDepender MediaRetailerDependeeDependee MediaSupplierAttributeAttribute constantconstant item : MediaItemFulfillment Fulfillment condition for dependercondition for depender

buy : BuyItem(JustCreated(buy) buy.item.inStock)[the media retailer expects to get items in stock as soon as someone is interested to buy them]

Page 39: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 39

Dynamics SpecificationDynamics Specification

ProcProc checkOutCatalogueConsultation(catalogue)< < catalogue : failed(catalogue) catalogue : failed(catalogue) closeCatalogue(catalogue)closeCatalogue(catalogue) > >( < < cancelConsultation cancelConsultation reinitializeCatalogue(catalogue) reinitializeCatalogue(catalogue) >>

||||< < timeout timeout 90 90 reinitializeCatalogue(catalogue) reinitializeCatalogue(catalogue) >>

) < < catalogue : InProcessConsultation catalogue : InProcessConsultation StopConsultation StopConsultation

closeCatalogue(catalogue) closeCatalogue(catalogue) >>EndProcEndProc

Page 40: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 40

Strategic Rationale ModelStrategic Rationale Model

Graph with four main types of nodes -- goal, task, resource, and softgoal -- and two main types of links -- means-ends links and process decomposition links.

Describes the criteria in terms of which each actor selects among alternative dependency configurations.

Means-endsMeans-ends relate goals to tasks that can satisfy these goals: “Given goal (end) G, how can I decompose it (means) in order to find a way to fulfill it”.

Task decompositionTask decomposition links relate tasks to other component tasks

Tasks can also be decomposed to goals.

Page 41: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 41

Functional Alternatives: Insurance ExampleFunctional Alternatives: Insurance Example

Claim beClaim besettledsettled

VerifyVerifypolicypolicy

HandleHandleclaim centrallyclaim centrally

PreparePrepareofferoffer

AgentAgenthandles claimhandles claim

Body ShopBody Shophandles claimhandles claim

alternativealternativeoneone

alternativealternativeoneone

alternativealternativetwotwo

alternativealternativetwotwo

alternativealternativethreethree

alternativealternativethreethree

Page 42: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 42

Strategic Rationale Model: InsuranceStrategic Rationale Model: Insurance

SettleSettleclaimclaim

VerifyVerifypolicypolicy

ClaimsClaimsHandlingHandlingClaimsClaims

HandlingHandling

HandleHandleclaimclaim

SettlementSettlementcost?cost?

PreparePrepareofferoffer

WhoseWhosefault?fault?

Get accidentGet accidentinfoinfo

DetermineDeterminefaultfault

PolicePolice

WitnessWitness

DoctorDoctorAppraiserAppraiser

DetermineDeterminecost to settlecost to settle

AccidentAccidentinfoinfo

SufficientSufficienttreatmenttreatment InjuryInjury

infoinfoAppraiseAppraisedamagedamage

MinimalMinimalrepairsrepairs

DDDD

DD

DD

ActorActorboundaryboundary

InsuranceInsuranceCompanyCompany

DD DDDDDD

DDDD

DD

Page 43: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 43

Rationale View: E-business exampleRationale View: E-business example

Page 44: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

2. Late Requirements (Strategic Relationships)2. Late Requirements (Strategic Relationships)

Functions and qualities for the system within its environment

””Organizational Organizational Map”Map”

Page 45: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Late Requirements - System Rationale ModelLate Requirements - System Rationale Model

Medi@

””Rationale Map”Rationale Map”

Page 46: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 46

Goal-Oriented AnalysisGoal-Oriented Analysis

Goal-oriented analysis focuses on Goal-oriented analysis focuses on earlyearly requirements analysis requirements analysis

phases, when alternatives are being explored and evaluated.phases, when alternatives are being explored and evaluated.

During goal-oriented analysis, we start with During goal-oriented analysis, we start with initial goalsinitial goals such as such as

“Higher profits”, “Faster time-to-market”, “Schedule meeting”, “Higher profits”, “Faster time-to-market”, “Schedule meeting”,

“Easily maintainable system”, “Good performance” etc. and keep “Easily maintainable system”, “Good performance” etc. and keep

decomposing them until we have decomposing them until we have reducedreduced them to alternative them to alternative

collections of design decisions each satisfying the initial goals.collections of design decisions each satisfying the initial goals.

Initial goals may be organization oriented; they may also be Initial goals may be organization oriented; they may also be

conflicting, so the analysis must conflicting, so the analysis must facilitatefacilitate the discovery of tradeoffs the discovery of tradeoffs

and the search of the full space of and the search of the full space of alternativesalternatives, rather than a , rather than a

subset.subset.

Page 47: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 47

The NFR framework : Building Goals ModelsThe NFR framework : Building Goals Models

To arrive at a moreTo arrive at a more qualitativequalitative framework for modeling goals, we framework for modeling goals, we also need to extend the set of relationships between goals beyond also need to extend the set of relationships between goals beyond means-ends links:means-ends links:

• • + (++): one goal contributes+ (++): one goal contributes positivelypositively (very positively) towards (very positively) towards the fulfillment of another goal;the fulfillment of another goal;

• • - (--) one goal contributes- (--) one goal contributes negativelynegatively (very negatively) towards (very negatively) towards the fulfillment of another goal;the fulfillment of another goal;

sub: one goalsub: one goal subsumessubsumes another, I.e., if the first goal isanother, I.e., if the first goal is fulfilledfulfilled, , so so is the second;is the second;

With these enhancements, we can buildWith these enhancements, we can build goal modelsgoal models which might which might be useful for strategic decisionbe useful for strategic decision analysisanalysis

Page 48: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 48

MinimalMinimalefforteffort

MinimalMinimalconflictsconflicts

MinimalMinimalInteractionInteraction

…Rapidity ofRapidity of

OrderOrder… Goal AnalysisGoal Analysis

Handle CustomerHandle CustomerOrderOrder

Have Have updatedupdatedinvoicesinvoices

With Shopping CartWith Shopping CartBy phoneBy phone By By FaxFax

MatchingMatchingefforteffortCollectionCollection

efforteffort

AvailabilityAvailability

++++

++++

--

--

--

-- ++

++++

ManuallyManually

CollectCollectordersorders

By By personperson

ByBysystemsystem

SelectedSelectedItemsItems

Automatically

Page 49: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 49

Leaving Goals Dependencies is a NoveltyLeaving Goals Dependencies is a Novelty

Goals and Softgoals generally operationalized/metricized during Goals and Softgoals generally operationalized/metricized during Late Requirements Late Requirements (e.g. KAOS – van Lamsweerde 93)(e.g. KAOS – van Lamsweerde 93)

Ex. : Security operationalized by interfaces which minimize input/output or access restriction to sensitive information.

Steps through which goals are to be fulfilled are frozen in the Steps through which goals are to be fulfilled are frozen in the requirementsrequirements

Systems fragile and less reusable.Systems fragile and less reusable.

Whenever there is a need for flexibility, reusability, Whenever there is a need for flexibility, reusability, modularitymodularity

Page 50: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

From i* to Agent ConceptsFrom i* to Agent Concepts

Page 51: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 51

3. Architectural Design3. Architectural Design

Architecture in terms of interconnected socialsocial components.

3 levels3 levels

– 11 Macro levelMacro level : OrganizationalOrganizational Styles (Organization Theory)

• Vertical Integration, Pyramid, Joint Venture, Structure in 5, Bidding, Hierarchical Contracting, Co-optation, Takeover

– 22 Micro levelMicro level : Patterns (Agent, COOPISAgent, COOPIS Community)

• Broker, Matchmaker, Contract-Net, Mediator, Monitor, Embassy, Wrapper, Master-Slave, ...

– 33 AtomicAtomic : Social and intentional concepts – i*i*

Page 52: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 52

Organization Styles for ArchitectureOrganization Styles for Architecture

Organization Theory, Strategic Alliances, …Organization Theory, Strategic Alliances, …

MintzbergMintzberg, Scott, Galbraith, …

Studies alternatives and modelsmodels for (business) organizations

Model the coordinationcoordination of business stakeholders -- individuals, physical or social systems -- to achieve common (business) goalsgoals.

Page 53: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 53

Structure in 5Structure in 5

Operational coreOperational core : basicbasic operationsoperations -- the input, processing, output associated with running the organization.

StrategicStrategic apexapex : executive, strategicstrategic decisions.

SupportSupport : AssistsAssists the operation core for non-operational services outside the basic flow of operational procedures.

TechnostructureTechnostructure : standardizesstandardizes the behavior of other components, help the system adaptadapt to its environment.

Middle lineMiddle line : Actors who joinjoin the apex to the core.

Page 54: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 54

Structure in 5 in Structure in 5 in i*i* and Telos and Telos metametaconceptsconcepts

In i*

TELL CLASS StructureIn5MetaClass

IN Class WITH

/*Class is a MetaMetaClass*/

attribute

name: String

part, exclusivePart, dependentPartpart, exclusivePart, dependentPart

ApexMetaClass: Class

CoordinationMetaClass: Class

MiddleAgencyMetaClass: Class

SupportMetaClass: Class

OperationalCoreMetaClass: Class

END StructureIn5MetaClass

In Telos

Page 55: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 55

Joint Venture in Joint Venture in i*i* and Telos and Telos metametaconceptsconcepts

TELL CLASS JointVentureMetaClass

IN Class WITH

/*Class is a MetaMetaClass*/

attribute

name: String

part, exclusivePart, dependentPartpart, exclusivePart, dependentPart

JointManagementMetaClass: Class

part, exclusivePartpart, exclusivePart

/*exclusive and independent part*/

PrincipalPartnerMetaClass: Class

part part

/*shared and independent part*/

SecondaryPartnerMetaClass: Class

END JointVentureMetaClass

In Telos

Page 56: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 56

Hierarchical Contracting and Vertical IntegrationHierarchical Contracting and Vertical Integration

Page 57: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 57

Cooptation and BiddingCooptation and Bidding

Page 58: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 58

Non OrganizationalNon Organizational (Classical) Architecture Styles (Classical) Architecture Styles

Main Program & Sub-RoutinesMain Program & Sub-Routines

La

yere

d A

rch

ite

ctu

re (

Mo

bile

Ro

bo

t)L

aye

red

Arc

hit

ect

ure

(M

ob

ile R

ob

ot)

Pipe-filterPipe-filter

Page 59: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 59

Mobile Robot Layered ArchitectureMobile Robot Layered Architecture

Need to establish direct communicationNeed to establish direct communication

Data & control hierarchies not separatedData & control hierarchies not separated

Prevent manipulation of componentsPrevent manipulation of components

Information exchange not Information exchange not always straight-forwardalways straight-forward

RWI Robots (irobot.com): RWI Robots (irobot.com): ATRV, B21r, B14r, Magellan ATRV, B21r, B14r, Magellan

Page 60: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 60

The Mobile Robot Case StudyThe Mobile Robot Case Study

AActivities activities a mobile robot has to accomplish:mobile robot has to accomplish:

- - AAcquiringcquiring the input provided by sensors, the input provided by sensors,

- - CControllingontrolling the motion of its wheels and other moveable part, the motion of its wheels and other moveable part,

- - PPlanninglanning its future path. its future path.

External External FFactorsactors::- O- Obstacles may bstacles may blockblock the robot’s path, the robot’s path,

- S- Sensor inputs may be ensor inputs may be imperfectimperfect, ,

- T- The robot may run out of he robot may run out of powerpower, ,

- M- Mechanical limitations may restrict echanical limitations may restrict accuracyaccuracy

- T- The robot may manipulate he robot may manipulate hazardoushazardous materials, materials,

- - UUnpredictablenpredictable events may leave little time for responding. events may leave little time for responding.

Page 61: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 61

Other Classical Mobile Robot ArchitecturesOther Classical Mobile Robot Architectures

Control loopControl loop : C: Controllontroller er initiatesinitiates the robot actions. the robot actions. Also Also monitorsmonitors the theirir consequencesconsequences, , adjustingadjusting future plans based on the return information future plans based on the return information

Task TreesTask Trees : : HHierarchiesierarchies of tasks. Parent tasks initiate child tasks. of tasks. Parent tasks initiate child tasks. TemporalTemporal dependencies between tasks dependencies between tasks permit selective concurrency. permit selective concurrency.

Page 62: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 62

Mobile Robot Architecture: Structure-in-5Mobile Robot Architecture: Structure-in-5

More distributed architectureMore distributed architecture

[4, 14][4, 14]

Page 63: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 63

Joint VentureJoint Venture

AArchitecture organized aroundrchitecture organized around

- AA central joint managercentral joint manager assuming the overall assuming the overall supervisor/supervisor/ coordinatorcoordinator role for the other agent components: role for the other agent components:

- A- A highhigh level path planner, level path planner,

- A- A module that module that monitorsmonitors the environment for landmarks, the environment for landmarks,

- A- A perceptionperception subsystem that receives subsystem that receives and interprets and interprets sensorssensors data. data.

- A- A motormotor controller and controller and

CComponentomponentss can also can also interactinteract directly with each other.directly with each other.

Page 64: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 64

Agent Quality Attributes for Mobile RobotsAgent Quality Attributes for Mobile Robots

CoordinativityCoordinativity. Agents must be able to . Agents must be able to coordinatecoordinate with other agents to with other agents to achieve a common purpose or simply their local achieve a common purpose or simply their local goalsgoals..

A mobile robot has to coordinate the actions it undertakes to achieve its A mobile robot has to coordinate the actions it undertakes to achieve its objectiveobjective with the reactions forced on it by the with the reactions forced on it by the environmentenvironment..

PredictabilityPredictability. . Agents can have a high degree of Agents can have a high degree of autonomyautonomy in the way in the way they undertake action and communication in their domains. they undertake action and communication in their domains. DDifficult to ifficult to predict predict individualindividual characteristics as part of determining the behavior of characteristics as part of determining the behavior of the system at the system at largelarge. .

For a mobile robot, never will all the circumstances of the operation be For a mobile robot, never will all the circumstances of the operation be fully fully predictablepredictable. The architecture must provide the framework in which . The architecture must provide the framework in which the robot can act even when faced with the robot can act even when faced with incompleteincomplete information. information.

Page 65: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 65

Agent Quality Attributes for Mobile RobotsAgent Quality Attributes for Mobile Robots

Failability-ToleranceFailability-Tolerance. A . A failurefailure of one agent does not imply a failure of of one agent does not imply a failure of the the wholewhole system. system. NNeeds to check completeness and accuracy of eeds to check completeness and accuracy of information and transactions. information and transactions. CCanan i implement mplement replicatedreplicated capabilities. capabilities.

MMust prevent the failure of the robot’s operation and its environment. ust prevent the failure of the robot’s operation and its environment. LocalLocal problems like reduced power supply, unexpectedly opening problems like reduced power supply, unexpectedly opening doors should not necessarily imply the doors should not necessarily imply the failurefailure of the of the missionmission..

AdaptabilityAdaptability.. Agents must to adapt to Agents must to adapt to modificationsmodifications in their in their environment. environment. Must aMust allow changes to the component’s communication llow changes to the component’s communication protocol, protocol, dynamicdynamic manipulations of agents. manipulations of agents.

Application for mobile robots frequently requires experimentation and Application for mobile robots frequently requires experimentation and reconfigurationreconfiguration. . CChangehangess in in assignmentsassignments require regular modification.require regular modification.

Page 66: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 66

Strengths and Weaknesses of Robot ArchitecturesStrengths and Weaknesses of Robot Architectures

   LoopLoop LayersLayers Task TreeTask Tree S-in-5S-in-5 Joint-Vent.Joint-Vent.

CoordinativityCoordinativity -- -- ++ -- ++ ++ ++ ++

PredictabilityPredictability ++ -- ++ ++ -- ++ ++ ++

Failability-Tol.Failability-Tol. ++ ++ -- ++ ++ ++

AdaptabilityAdaptability ++ -- ++ -- ++ ++ ++ --

Page 67: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 67

CoordinativityCoordinativity

Control loop:Control loop: SimplicitySimplicity is a drawback when dealing with is a drawback when dealing with complexcomplex tasks, tasks, no leverage for decomposing the software into more precise components. no leverage for decomposing the software into more precise components.

Layers:Layers: services and requests between services and requests between adjacentadjacent layers. Transactions not layers. Transactions not always straight-forward. Need to always straight-forward. Need to skipskip layers to coordinate behavior. layers to coordinate behavior.

Task trees:Task trees: clear clear separationseparation of action and reaction. Allows incorporation of of action and reaction. Allows incorporation of concurrent agents. Components have concurrent agents. Components have little interactionlittle interaction with each other. with each other.

Structure-in-5:Structure-in-5: separates separates datadata (sensor control, interpreted results, world (sensor control, interpreted results, world model) from model) from controlcontrol (motor, navigation, scheduling, planning and user- (motor, navigation, scheduling, planning and user-level) level) hierarchieshierarchies

Joint venture:Joint venture: Components Components interactinteract via the via the joint managerjoint manager for strategic for strategic decisions. They indicate their interest, the joint manager returns them decisions. They indicate their interest, the joint manager returns them such information or mediates the request to other partner component. such information or mediates the request to other partner component.

Page 68: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 68

PredictabilityPredictability

CControl loop:ontrol loop: Reduces the unpredictable through Reduces the unpredictable through iterationiteration only. No only. No framework if framework if more subtlemore subtle steps are needed. steps are needed.

Layers:Layers: AbstractionAbstraction - uncertain at the - uncertain at the lowestlowest level become clear with the level become clear with the added knowledge in the added knowledge in the higherhigher layers. layers.

Task trees:Task trees: less clear. less clear. EExeption handlersxeption handlers when the assumptions it is when the assumptions it is based on turn out to be erroneous.based on turn out to be erroneous.

Structure-in-5:Structure-in-5: AbstractionAbstraction levels in the structure-in-5 addresses the need levels in the structure-in-5 addresses the need

for managing unpredictability. for managing unpredictability. LowerLower levels only involve resources and levels only involve resources and task dependencies while task dependencies while higherhigher ones propose ones propose intentionalintentional relationships. relationships.

Joint-venture:Joint-venture: CentralCentral position and role of the position and role of the joint managerjoint manager is a means is a means for resolving for resolving conflictsconflicts and prevent unpredictability. and prevent unpredictability.

Page 69: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 69

Failability-ToleranceFailability-Tolerance

Control loop:Control loop: SimplicitySimplicity makes makes duplicationduplication of components and behavior of components and behavior easy and reduces the chance of errors creeping into the system.easy and reduces the chance of errors creeping into the system.

Layers:Layers: ManyMany checkschecks at different at different levelslevels into the system. But control and into the system. But control and transactions may need to transactions may need to skip layersskip layers to check the system behavior. to check the system behavior.

Task trees:Task trees: ExceptionException, wiretapping and , wiretapping and monitoringmonitoring can be integrated to can be integrated to take into account the needs for integrity, reliability, completeness.take into account the needs for integrity, reliability, completeness.

Structure-in-5:Structure-in-5: checks integrated at different checks integrated at different abstractionabstraction levelslevels - -

redundancy from different perspectives. Not restricted to adjacent layers. redundancy from different perspectives. Not restricted to adjacent layers. SeparatedSeparated datadata and and controlcontrol hierarchies, can be verified independently. hierarchies, can be verified independently.

Joint-venture:Joint-venture: Joint manager proposes a Joint manager proposes a centralcentral message message server/controller. Can support exception, wiretapping supervising or server/controller. Can support exception, wiretapping supervising or monitoring to guarantee non-failability, reliability and completeness.monitoring to guarantee non-failability, reliability and completeness.

Page 70: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 70

AdaptabilityAdaptability

CControl loop:ontrol loop: Components are Components are separatedseparated from each other and can be from each other and can be replaced or added replaced or added independentlyindependently. Precise manipulation . Precise manipulation insideinside components, at a level detail not shown.components, at a level detail not shown.

Layers:Layers: InterdependenciesInterdependencies between layers between layers preventprevent the addition of new the addition of new components or deletion of existing ones.components or deletion of existing ones.

Task trees:Task trees: Implicit invocationImplicit invocation makes incremental manipulation of makes incremental manipulation of components straightforward. Sufficient to components straightforward. Sufficient to registerregister new ones, no existing new ones, no existing one feels the impact.one feels the impact.

Structure-in-5:Structure-in-5: IsolatesIsolates components, allows dynamic manipulation. No components, allows dynamic manipulation. No

more than more than 55 components: Refined tuning components: Refined tuning insideinside components. components.

Joint-venture:Joint-venture: Manipulation of components by Manipulation of components by registeringregistering them to the joint them to the joint manager. manager. DependenciesDependencies must be updated. must be updated. Joint managerJoint manager cannot be cannot be removed.removed.

Page 71: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 71

LegologLegolog for Office Delivery Robot for Office Delivery Robot (Structure-in-5)(Structure-in-5)

Cognitive RoboticsCognitive Robotics development environment for experimentation with and demonstration of research on the LEGO® MINDSTORMSLEGO® MINDSTORMSTMTM Robotics Invention SystemRobotics Invention System TM

http://www.cs.toronto.edu/cogrobo/Legolog/http://www.cs.toronto.edu/cogrobo/Legolog/

OR LeJOS (http://lejos.sourceforge.net) + JACK agentsOR LeJOS (http://lejos.sourceforge.net) + JACK agents

Page 72: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 72

A Joint-Venture E-commerce ArchitectureA Joint-Venture E-commerce Architecture

E-business styles: E-business styles: on web, protocols, on web, protocols, technologiestechnologies

Not on business Not on business processes, NFRsprocesses, NFRs

No organization of No organization of the architecture, the architecture, conceptual high-level conceptual high-level perspectiveperspective

From Security, From Security, Availability, AdaptabilityAvailability, Adaptability

Page 73: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 73

4. Detailed Design4. Detailed Design

Architectural Architectural AgentAgent components defined components defined in detailsin details in terms of in terms of inputs, outputs, control, and other relevant information.inputs, outputs, control, and other relevant information.

UML extensions: Tropos ProposalUML extensions: Tropos Proposal

– Tropos offers a set of concepts and a methodology for Tropos offers a set of concepts and a methodology for developing agent-oriented software.developing agent-oriented software.

– These concepts can be accommodated within UML in terms of These concepts can be accommodated within UML in terms of new stereotypesnew stereotypes

– One can also use UML/AUML diagrams and other techniques One can also use UML/AUML diagrams and other techniques from the multi-agent system area to specify coordination and from the multi-agent system area to specify coordination and other details during detailed design.other details during detailed design.

Page 74: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 74

Design Pattern Design Pattern

Identify the Identify the interrelationshipsinterrelationships among a group of software among a group of software componentscomponents describing their describing their responsibilitiesresponsibilities, collaborations , collaborations and structural relationships.and structural relationships.

CompositeComposite

Page 75: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 75

Design Pattern: CompositeDesign Pattern: Composite

ProblemProblem: Representing whole-part hierachies so that whole : Representing whole-part hierachies so that whole and part objects offer the and part objects offer the same interfacesame interface to client objects. to client objects.

ContextContext: Composite and component object are required to : Composite and component object are required to offer the offer the same behavioursame behaviour, i.e, be treated in the same way , i.e, be treated in the same way

ForcesForces: :

– Composite or component should belong to the same Composite or component should belong to the same inheritanceinheritance hierarchy. hierarchy.

– The need to represent whole-part hierarchies indicates the The need to represent whole-part hierarchies indicates the need for aneed for ann aggregationaggregation structure structure

SolutionSolution : : CombineCombine inheritance and aggregation hierarchies. inheritance and aggregation hierarchies.

Page 76: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 76

Composite Pattern: Media ClipComposite Pattern: Media Clip

Page 77: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 77

Social PatternsSocial Patterns

MatchmakerMatchmaker

MonitorMonitor

Contract-NetContract-Net

Page 78: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 78

Example: MatchmakerExample: Matchmaker

Locates a provider corresponding to a consumer request for service,

Then hands the consumer a handle to the chosen provider directly.

Contrary to the broker who directly handles all interactions between the consumer and the provider, the negotiation for service and actual service provision are two distinct phases.

Used in the horizontal contracting and joint venture styles.

Page 79: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 79

Agent Capabilities

Customer

Build a request to query the matchmaker

Handle a services ontology Query the matchmaker for a serviceFind alternative matchmakers Request a service to a providerManage possible provider failuresMonitor the provider’s ongoing processes Ask the provider to stop the requested service

Provider    Handle a services ontology Advertise a service to the matchmaker Withdraw the advertisement Use an agenda for managing the requests Inform the customer of the acceptance of the request service Inform the customer of a service failure Inform the customer of success of a service

Matchmaker Update the local database Handle a services ontologyUse an agenda for managing the customer requestsSearch the name of an agent for a serviceInform the customer of the unavailability of agents for a service

Page 80: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 80

Social PatternsSocial Patterns

EmbassyEmbassy

MediatorMediator

Page 81: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 81

Assigning Agent Roles to ActorsAssigning Agent Roles to Actors

Page 82: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 82

In UML with StereotypesIn UML with Stereotypes

<<i* actor>><<i* actor>>

<<i* actor>><<i* actor>>

<<i* actor>><<i* actor>> <<i* actor>><<i* actor>>

<<i* actor>><<i* actor>>

<<i* actor>><<i* actor>>

<<i* actor>>

<<goal dependency>><<goal dependency>>

<<goal dependency>><<goal dependency>>

<<goal dependency>><<goal dependency>>

<<goal dependency>><<goal dependency>>

<<task dependency>><<task dependency>>

<<task dependency>><<task dependency>>

<<task dependency>><<task dependency>> <<task dependency>><<task dependency>>

<<task dependency>><<task dependency>>

StatisticsStatistics ProcessorProcessor

WrapperWrapper

On-line CatalogueOn-line Catalogue

<<task dependency>><<task dependency>>Hits Information

Locate Source

Profile Customer

Route Info Request

MediatorMediator

MonitorMonitorSource Match.

Info SearcherInfo Searcher

Fwd Source Change

Query Information Source

Ask for Info Advertising

Translate Response

Provide Information

Notify Change

Page 83: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 83

Example: Peer-to-Peer Application (Gnutella)Example: Peer-to-Peer Application (Gnutella)

Page 84: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 84

Mediators and Contract-Net in GnutellaMediators and Contract-Net in Gnutella

Page 85: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 85

Notification in GnutellaNotification in Gnutella

Page 86: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 86

Acceptance or DenialAcceptance or Denial

Page 87: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 87

Class DiagramClass Diagram Shopping CartShopping Cart

UML ClassesUML Classes

Page 88: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 88

Communication – Agent Interaction ProtocolCommunication – Agent Interaction Protocol

Page 89: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 89

Communication – FIPA-ACL - AUMLCommunication – FIPA-ACL - AUML

The Checkout DialogueThe Checkout Dialogue<<i* actor>><<i* actor>>Customer

<<i* actor>><<i* actor>>Shopping Cart

Page 90: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 90

Dynamics: Plan DiagramDynamics: Plan Diagram

Page 91: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 91

DynamicsDynamicsCheck Out PlanCheck Out Plan

Page 92: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 92

An Agent Platform: JACKAn Agent Platform: JACK

JACK Intelligent Agents is an JACK Intelligent Agents is an agent-orientedagent-oriented development development environment built on top of the Java programming language. environment built on top of the Java programming language.

JACK's integration with Java is JACK's integration with Java is analogousanalogous to the relationship to the relationship between the C++ and C languages. between the C++ and C languages.

The JACK Agent Language has been developed to provide The JACK Agent Language has been developed to provide agent-orientedagent-oriented specific extensions to Java. specific extensions to Java.

http://www.agent-software.comhttp://www.agent-software.com

Page 93: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 93

JACK BDI AgentsJACK BDI Agents

Agents in JACK are Agents in JACK are intelligentintelligent in the sense they model reasoning in the sense they model reasoning behavior according to the behavior according to the BDIBDI modelmodel. .

Following this model, JACK agents can be considered Following this model, JACK agents can be considered autonomousautonomous software components that have explicit software components that have explicit goalsgoals to to achieve (achieve (desiresdesires). ).

To describe how they should go about achieving these desires, To describe how they should go about achieving these desires, these agents are programmed with a set of these agents are programmed with a set of plansplans ( (intentionsintentions). ).

Each plan describes how to Each plan describes how to achieveachieve a goal under varying a goal under varying circumstancescircumstances. .

Set to work, the agent pursues its given Set to work, the agent pursues its given goalsgoals ( (desiresdesires), adopting ), adopting the appropriate the appropriate plansplans ( (intentionsintentions) according to its current set of ) according to its current set of data (data (beliefsbeliefs) about the state of the ) about the state of the worldworld. .

Page 94: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 94

JACK functional constructs JACK functional constructs To support the BDI agents, JACK has To support the BDI agents, JACK has fivefive main constructs. main constructs.

– AgentsAgents

– Database relationsDatabase relations to store to store beliefsbeliefs and data that an agent and data that an agent has acquired.has acquired.

– GoalsGoals and Events and Events to identify the goals ( to identify the goals (desiresdesires) and ) and messages that an agent can achieved or respond to. A Goal messages that an agent can achieved or respond to. A Goal in JACK is a special event due to the OO nature of JAVA.in JACK is a special event due to the OO nature of JAVA.

– PlansPlans that are that are intentionsintentions an agent follows to try to an agent follows to try to achieve its goals and executes to handle its designated achieve its goals and executes to handle its designated events.events.

– CapabilitiesCapabilities to aggregate events, goals, plans, databases or to aggregate events, goals, plans, databases or other capabilities.other capabilities.

I.e., I.e., JACK Goal = BDI Desire, JACK DB relation = BDI Belief, JACK Goal = BDI Desire, JACK DB relation = BDI Belief, JACK Plan = BDI Intention, JACK Agent = BDI AgentJACK Plan = BDI Intention, JACK Agent = BDI Agent

Page 95: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 95

Java BDI Agent Implementation in JACKJava BDI Agent Implementation in JACK

Page 96: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 96

Related ProposalsRelated Proposals

Goal-Oriented Analysis (GOA) has been researched in Goal-Oriented Analysis (GOA) has been researched in Requirements Engineering since the ‘80s; unlike other Requirements Engineering since the ‘80s; unlike other proposals, proposals, i*i* goals are goals are relativerelative and fulfillment is and fulfillment is cooperativecooperative; also other GOA frameworks focus on the ; also other GOA frameworks focus on the transformation from early to late requirements.transformation from early to late requirements.

AUMLAUML is a recent proposal for agent modeling; its is a recent proposal for agent modeling; its emphasis is on agent coordination+communication.emphasis is on agent coordination+communication.

UML has been recently extended to include goals for UML has been recently extended to include goals for business modeling applications; business modeling applications;

i*i* is a mature modeling framework, has been formalized in is a mature modeling framework, has been formalized in a variety of settings and comes with a methodology for a variety of settings and comes with a methodology for doing actor and goal analysis.doing actor and goal analysis.

Page 97: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 97

Additional ReadingsAdditional ReadingsInformation SystemsInformation Systems[1] J. Castro, M. Kolp, and J. Mylopoulos. Towards Requirements-Driven Information Systems Engineering. [1] J. Castro, M. Kolp, and J. Mylopoulos. Towards Requirements-Driven Information Systems Engineering. Information SystemsInformation Systems, Elsevier, 2002., Elsevier, 2002.

[2] J. Castro, M. Kolp, and J. Mylopoulos. Developing Agent-Oriented Information Systems for the [2] J. Castro, M. Kolp, and J. Mylopoulos. Developing Agent-Oriented Information Systems for the Enterprise. In B. Sharp, editor, Enterprise. In B. Sharp, editor, Enterprise Information Systems IIEnterprise Information Systems II, Kluwer Publishing, 2002., Kluwer Publishing, 2002.

[3] J. Castro, M. Kolp, and J. Mylopoulos. A Requirements-Driven Development Methodology. In [3] J. Castro, M. Kolp, and J. Mylopoulos. A Requirements-Driven Development Methodology. In Proc. of Proc. of the 13th Int. Conf. on Adv. Information Systems Engineering, CAiSE’01the 13th Int. Conf. on Adv. Information Systems Engineering, CAiSE’01 , Interlaken, Switzerland, June , Interlaken, Switzerland, June 2001.2001.

Knowledge Systems Knowledge Systems [4] M. Kolp, P. Giorgini, and J. Mylopoulos. Multi-Agents Systems as Social Structures. [4] M. Kolp, P. Giorgini, and J. Mylopoulos. Multi-Agents Systems as Social Structures. Autonomous Autonomous Agents and Multi-Agents SystemsAgents and Multi-Agents Systems, Kluwer Publishing, 2002., Kluwer Publishing, 2002.

[5] A. Perini, P. Bresciani, F. Giunchiglia, P. Giorgini, and J. Mylopoulos. A Knowledge Level Software [5] A. Perini, P. Bresciani, F. Giunchiglia, P. Giorgini, and J. Mylopoulos. A Knowledge Level Software Engineering Methodology for Agent Oriented Programming. In Engineering Methodology for Agent Oriented Programming. In Proc. of the 5th Int. Conf on Autonomous Proc. of the 5th Int. Conf on Autonomous Agents, Agents’01Agents, Agents’01, Montreal, Canada, May 2001., Montreal, Canada, May 2001.

[6] M. Kolp, P. Giorgini, and J. Mylopoulos. A Goal-Based Organizational Perspective on Multi-Agents [6] M. Kolp, P. Giorgini, and J. Mylopoulos. A Goal-Based Organizational Perspective on Multi-Agents Architectures. In Architectures. In Proc. of the 8th Int. Conf. on Intelligent Agents: Agent Theories, Architectures, and Proc. of the 8th Int. Conf. on Intelligent Agents: Agent Theories, Architectures, and Languages, ATAL’01Languages, ATAL’01, Seattle, USA, Aug. 2002., Seattle, USA, Aug. 2002.

[7] X. Wang and Y. Lespérance. Agent-Oriented Requirements Engineering using ConGolog and i*. In [7] X. Wang and Y. Lespérance. Agent-Oriented Requirements Engineering using ConGolog and i*. In Proc. of the 3rd Int. Bi-Conf. on Agent-Oriented Information Systems, AOIS’01Proc. of the 3rd Int. Bi-Conf. on Agent-Oriented Information Systems, AOIS’01 , Montreal, Canada, May , Montreal, Canada, May 2001.2001.

[8] G. Gans, M. Jarke, S. Kethers, and G. Lakemeyer: Modeling the Impact of (Dis)trust in Agent Networks. [8] G. Gans, M. Jarke, S. Kethers, and G. Lakemeyer: Modeling the Impact of (Dis)trust in Agent Networks. In In Proc. of the 3rd Int. Bi-Conf. on Agent-Oriented Info Systems, AOIS’01,Proc. of the 3rd Int. Bi-Conf. on Agent-Oriented Info Systems, AOIS’01, Interlaken, Switzeland, June Interlaken, Switzeland, June 20012001

Page 98: Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain.

Manuel Kolp Extending UML for Agent Systems 98

Additional ReadingsAdditional Readings

Conceptual ModelingConceptual Modeling[9] A. Fuxman, P. Giorgini, M. Kolp, and J. Mylopoulos. Information systems as Social Structures. In [9] A. Fuxman, P. Giorgini, M. Kolp, and J. Mylopoulos. Information systems as Social Structures. In Proc. of the Proc. of the 2nd Int. Conf. on Formal Ontologies for Information Systems, FOIS’012nd Int. Conf. on Formal Ontologies for Information Systems, FOIS’01 , Ogunquit, USA, Oct. 2001., Ogunquit, USA, Oct. 2001.

[10][10] J. Mylopoulos, A. Fuxman, and P. Giorgini. From Entities and Relationships to Social Actors and J. Mylopoulos, A. Fuxman, and P. Giorgini. From Entities and Relationships to Social Actors and Dependencies. In Dependencies. In Proc. of the 19th Int. Conf. on Conceptual Modeling, Proc. of the 19th Int. Conf. on Conceptual Modeling, ER’00, Salt Lake City, USA, Oct. 2000.ER’00, Salt Lake City, USA, Oct. 2000.

[11] L[11] L. . Lu Lu and and E. Yu. Modelling Strategic Actor Relationships to Support Intellectual Property Management. E. Yu. Modelling Strategic Actor Relationships to Support Intellectual Property Management. In In Proc. of the 20th Int. Conf. on Conceptual Modeling, Proc. of the 20th Int. Conf. on Conceptual Modeling, ER’01, Yokohama, Japan, Nov. 2001.ER’01, Yokohama, Japan, Nov. 2001.

Software EngineeringSoftware Engineering[12][12] J. Mylopoulos, J. Castro, and M. Kolp, Tropos: A Framework for Requirements-Driven Software J. Mylopoulos, J. Castro, and M. Kolp, Tropos: A Framework for Requirements-Driven Software Development. In J. Brinkkemper and A. Solvberg (eds.), Development. In J. Brinkkemper and A. Solvberg (eds.), Information Systems Engineering: State of the Art and Information Systems Engineering: State of the Art and Research ThemesResearch Themes, Springer-Verlag, June 2000., Springer-Verlag, June 2000.

[13][13] A. Fuxman, M. Pistore, J. Mylopoulos, and P. Traverso. Model A. Fuxman, M. Pistore, J. Mylopoulos, and P. Traverso. Model CChecking hecking EEarlyarly R Requirements equirements SSpecipecifification cation in Tropos. In in Tropos. In Proc. of the 5th Int. Symposium onProc. of the 5th Int. Symposium on Requirements Engineering, RE’01Requirements Engineering, RE’01, Toronto, Canada, Aug. , Toronto, Canada, Aug. 2001.2001.

[14][14] M. Kolp, J. Castro, and J. Mylopoulos. A M. Kolp, J. Castro, and J. Mylopoulos. A SSocial ocial OOrganization rganization PPerspectiveerspective on on SSoftware oftware AArchitectures. In rchitectures. In Proc. of the 1st Int. Workshop From SoftwareProc. of the 1st Int. Workshop From Software Requirements to Architectures, STRAW’01Requirements to Architectures, STRAW’01, Toronto, Canada, , Toronto, Canada, MayMay 2001.2001.

[15] L[15] L. . Lu Lu and and E. YuE. Yu. . From Requirements to Architectural Design - Using Goals and Scenarios. From Requirements to Architectural Design - Using Goals and Scenarios. In In Proc. of the Proc. of the 1st Int. Workshop From Software1st Int. Workshop From Software Requirements to Architectures, STRAW’01Requirements to Architectures, STRAW’01, Toronto, Canada, May, Toronto, Canada, May 2001.2001.

UMLUML[16][16] J. Mylopoulos, M. Kolp, and J. Castro. UML for J. Mylopoulos, M. Kolp, and J. Castro. UML for AAgent-gent-OOriented riented SSoftwareoftware D Development: The Tropos evelopment: The Tropos proposal. In proposal. In Proc. of the 4th Int. Conf. on the UniProc. of the 4th Int. Conf. on the Unififieded Modeling Language UML’01Modeling Language UML’01, Toronto, Canada, Oct. 2001., Toronto, Canada, Oct. 2001.