Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of...
-
Upload
christopher-carter -
Category
Documents
-
view
225 -
download
0
Transcript of Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of...
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
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!
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.
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..
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!!
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.
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.
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
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.
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
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
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
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
Manuel Kolp Extending UML for Agent Systems 14
Mobile Agent on the InternetMobile Agent on the Internet
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
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
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
Manuel Kolp Extending UML for Agent Systems 18
Searching the Web : bots, engines, crawler Searching the Web : bots, engines, crawler
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 ---
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
Manuel Kolp Extending UML for Agent Systems 21
PricebotsPricebots
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
Manuel Kolp Extending UML for Agent Systems 23
Recommendations/Notifications Recommendations/Notifications (E-mail)(E-mail)
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
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))– … …
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
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
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
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
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 !!
Manuel Kolp Extending UML for Agent Systems 31
Insurance CompanyInsurance Company
CustomerInsuranceCompany
Carrepaired
Customerhappy
Settleclaim
Maximizeprofits
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).
Manuel Kolp Extending UML for Agent Systems 33
Four Kinds of Social DependenciesFour Kinds of Social Dependencies
GoalGoal
TaskTask
ResourceResource
SoftgoalSoftgoal
…Social Social DependencyDependency
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
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.
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
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
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]
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
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.
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
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
Manuel Kolp Extending UML for Agent Systems 43
Rationale View: E-business exampleRationale View: E-business example
2. Late Requirements (Strategic Relationships)2. Late Requirements (Strategic Relationships)
Functions and qualities for the system within its environment
””Organizational Organizational Map”Map”
Late Requirements - System Rationale ModelLate Requirements - System Rationale Model
Medi@
””Rationale Map”Rationale Map”
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.
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
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
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
From i* to Agent ConceptsFrom i* to Agent Concepts
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*
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.
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.
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
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
Manuel Kolp Extending UML for Agent Systems 56
Hierarchical Contracting and Vertical IntegrationHierarchical Contracting and Vertical Integration
Manuel Kolp Extending UML for Agent Systems 57
Cooptation and BiddingCooptation and Bidding
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
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
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.
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.
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]
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.
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.
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.
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 ++ -- ++ -- ++ ++ ++ --
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.
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.
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.
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.
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
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
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.
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
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.
Manuel Kolp Extending UML for Agent Systems 76
Composite Pattern: Media ClipComposite Pattern: Media Clip
Manuel Kolp Extending UML for Agent Systems 77
Social PatternsSocial Patterns
MatchmakerMatchmaker
MonitorMonitor
Contract-NetContract-Net
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.
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
Manuel Kolp Extending UML for Agent Systems 80
Social PatternsSocial Patterns
EmbassyEmbassy
MediatorMediator
Manuel Kolp Extending UML for Agent Systems 81
Assigning Agent Roles to ActorsAssigning Agent Roles to Actors
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
Manuel Kolp Extending UML for Agent Systems 83
Example: Peer-to-Peer Application (Gnutella)Example: Peer-to-Peer Application (Gnutella)
Manuel Kolp Extending UML for Agent Systems 84
Mediators and Contract-Net in GnutellaMediators and Contract-Net in Gnutella
Manuel Kolp Extending UML for Agent Systems 85
Notification in GnutellaNotification in Gnutella
Manuel Kolp Extending UML for Agent Systems 86
Acceptance or DenialAcceptance or Denial
Manuel Kolp Extending UML for Agent Systems 87
Class DiagramClass Diagram Shopping CartShopping Cart
UML ClassesUML Classes
Manuel Kolp Extending UML for Agent Systems 88
Communication – Agent Interaction ProtocolCommunication – Agent Interaction Protocol
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
Manuel Kolp Extending UML for Agent Systems 90
Dynamics: Plan DiagramDynamics: Plan Diagram
Manuel Kolp Extending UML for Agent Systems 91
DynamicsDynamicsCheck Out PlanCheck Out Plan
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
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. .
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
Manuel Kolp Extending UML for Agent Systems 95
Java BDI Agent Implementation in JACKJava BDI Agent Implementation in JACK
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.
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
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.