Extending UML for Agents and Goals: A Tutorial on Multi-Agent Systems Manuel Kolp University of Louvain Why Agent-Oriented Software? Next generation software engineering will have to support open, dynamic architectures where components can accomplish tasks in a variety of operating environments. Consider application areas such as eBusiness, application service provision, pervasive or P2P computing. These all call for software components that find and compose services dynamically, establish/drop partnerships with other components and operate under a broad range of conditions. Learning, planning, communication and negotiation become essential features for such software components. ... agents! Manuel Kolp Extending UML for Agent Systems 2 What is an Agent? A person, an organization, certain kinds of software. – Autonomous, pro-active, goal, knowledge oriented, adaptative – with/in its environment Intelligence An agent has beliefs, goals (desires), intentions. Agents are situated, autonomous, flexible, and social. Human/organizational agents can’t be prescribed, they can only be partially described. Manuel Kolp Extending UML for Agent Systems 3 Why Worry About Human/Organizational Agents? Because their goals lead to software requirements, and these influence the design of a software system. Note the role of human/organizational agents in OOA, e.g., use cases. Also note the role of agents in up-and-coming requirements engineering techniques such as KAOS [Dardenne93]. In KAOS, requirements analysis begins with a set of goals; these are analysed/decomposed to simpler goals which either lead to software requirements, or are delegated to external agents. Manuel Kolp Extending UML for Agent Systems 4 A Social Computing Paradigm Software Agent – Implemented with/in software technologies – Environment : humans, machines, other agents, platforms. – To be completely specified during implementation. Beliefs correspond to (object) state, intentions constitute a runtime concept. For design-time, the interesting new concept agents have that objects don’t have is... ...goals! Multi-agent system: societies of individuals to achieve particular, possible common goals. Manuel Kolp Extending UML for Agent Systems 5 Agent: Individual Characteristics Autonomous – Without direct external intervention. Mobile – To transport itself from one environment to another. Unpredictable – To act in not predictable ways, even if the initial conditions are known Rugged – To deal with errors and incomplete data robustly. Manuel Kolp Extending UML for Agent Systems 6 Agent: Social Characteristics Interactive – To communicate with the environment and other agents. Adaptive – capable of responding to other agents and/or its environment. Sociable – To act in as a representative of some entity. Proactive – goal-oriented, purposeful. Does not simply react to the environment. Manuel Kolp Extending UML for Agent Systems 7 Agent: Social Characteristics Coordinative – To perform activities in a shared environment with other agents. Cooperative – To coordinate with other agents to achieve a common purpose; succeed or fail together. Competitive – Antisocial Agent : maximizes his absolute profit; eliminates conccurrents at a minimal cost Manuel Kolp Extending UML for Agent Systems 8 Agent: Rationale Characteristics Intelligence for Agent – Knowledge (B.R.I.D.G. : beliefs, resources, intentions, desires, goals) – Communicate with symbolic language The Belief-Desire-Intention (BDI) agent model from philosophy and cognitive science. –An agent has beliefs about the world and desires to satisfy, driving it to form intentions to act. –Mental states of an agent. Manuel Kolp Extending UML for Agent Systems 9 Inside the BDI Model Human Beliefs - perceived understanding of the world Goals or desires Agent - Belief, Desire, Intentions Beliefs - database of perceived world knowledge Goals or Desires Execution Engine Intentions -executing plans Accumulated behaviours Manuel Kolp Pre-compiled plans Extending UML for Agent Systems 10 Example: Agents at Work Goal/Desire/Need Contextual Beliefs Manuel Kolp New Beliefs/Facts Running Plan/Intention Extending UML for Agent Systems 11 Scenario for Office Supplying A company that needs to order paper supplies enlist agents to monitor the quantity and usage patterns of paper in the company, launching buying agents when supplies are low. Buying agents automatically collect information on vendors and products that may fit the needs of the company, evaluate the offerings, make a decision on which merchants and products to investigate, negotiate the transactions with the merchants, and finally place orders and make automated payments. In Pattie Maes, Robert H. Guttman, and Alexandros G. Moukas, Agents that buy and sell, Communications ACM, March 1999/Vol. 42, No. 3 Manuel Kolp Extending UML for Agent Systems 12 Agents @ Microsoft (.NET project) Après vingt ans, les ordinateurs personnels ont été rejoints par une myriade d'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ôle - celui du consommateur individuel, qui pourra décliner à sa guise ses « rôles » (vie privée, vie professionnelle) en un seul 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 « .NET », la plate-forme d'interconnexion universelle de Microsoft). Le Soir 11/08/2001 and Bill Gates, Keynotes Address, 17th International Joint Conference on Artificial Intelligence August 2001, Seattle, USA Manuel Kolp Extending UML for Agent Systems 13 Mobile Agent on the Internet Manuel Kolp Extending UML for Agent Systems 14 User Assistance The animated help characters in Microsoft Office products. Use bayesean networks to analyze and predict possible topics that the user may need help with. – Bill Gates, Keynotes Address, 17th International Joint Conference on Artificial Intelligence August 2001, Seattle, USA Manuel Kolp Extending UML for Agent Systems 15 Foreign Exchange Market L'euro a également succombé aux programmes de vente automatiques des institutions financières: les grands acteurs du marché des changes (banques, fonds, etc.) utilisent en effet des programmes dits “agents intelligents” qui déclenchent automatiquement un ordre de vente dans certaines conditions. 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 16 Searching the Web : bots, engines, crawler The original Lycos spiders have evolved into a multiagent system of cooperating components that can visit and analyze more than 10,000,000 Web pages each day. – In Richard Green and Sangam Pant, Multiagent Data Collection in Lycos, Communication of the ACM, March 1999/Vol. 42, No. 3 Manuel Kolp Alltheweb, Altavista, Yahoo, Hotbot, Google Extending UML for Agent Systems 17 Searching the Web : bots, engines, crawler Manuel Kolp Extending UML for Agent Systems 18 Technical E-Support Date: Sat, 17 Feb 2001 23:32:27 -0500 From: [email protected] To: [email protected] Subject: #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 intelligence tool designed to provide you with the fastest possible quality 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 SRMACSR)) ((SRCATSR D_M.Bad.Pixel SRCATSR)) --- Dell Automated Technical Assistant response --Manuel Kolp Extending UML for Agent Systems 19 Pricebots Dynamically set prices of products in a dynamic environment Intention: Maximize long term profit Desires: Optimize local price Beliefs: – Competitor prices BDI Model – Buyer behavior model – Competitor behavior model Barnesandnoble.com, Chapters.com, Borders.com Manuel Kolp Extending UML for Agent Systems 20 Pricebots Manuel Kolp Extending UML for Agent Systems 21 Bargain Finders Capture shoppers’ preferences for price and a limited set of products Returns a list of product offerings differentiated by price. Jango.exite.com Manuel Kolp Extending UML for Agent Systems 22 Recommendations/Notifications (E-mail) Manuel Kolp Extending UML for Agent Systems 23 Key Concepts for E-commerce Agents Customer Agent Business User Profile Profile Manager E-mail Notifications Zip, age, gender, purchase history, preferences, interests, needs, … Match Profile with Catalog to offer personalized experience Catalog Item 1 Item 2 Item 3 … Predictions on profile & «business intelligence», (data-mining, CRM) OR Match Extract Information from multiple sites about products user wants Manuel Kolp Extending UML for Agent Systems 24 Other Agents for Organizations Management – Nomadic Computing (SUN, Lotus, Oracle) – Datawarehouse, Data Mining, CRM (Oracle, Informix) – Call Centers, Internet Routing (Bell, AT&T, CISCO, Juniper) – Knowledge Management (Ernst & Young) – Information Management (Digital) – Groupware, Workflow (Lotus, IBM) – Personal schedule management (Qualcomm) – E-trading (Bank of Montreal) – E-Brokering (Amazon, Barnes & Noble, Ebay, Andersen Consulting) – Role and personnel management (PeopleSoft) – Enterprise Resource Planning (Baan) – Peer 2 Peer (Napster, Gnutella Protocols) –… Manuel Kolp Extending UML for Agent Systems 25 Life 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 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 its Extending UML for Agent Systems 26 The Tropos Project Agent-oriented programming i* TROPOS GAIA KAOS Z AUML !! The GAP !! Manuel Kolp UML, Catalysis & Co. Extending UML for Agent Systems 27 The TROPOS Ontologies (Formal) Specification of a conceptualization (= conceptual model) – Social -- the actors, their needs, obligations, capabilities – Intentional -- the relevant goals, how do they interrelate? How are they being met, and by whom? – Communicational -- how the actors dialogue with each other? – Process-oriented -- the relevant business processes – Structural -- the actors structuredwith their inter-relationships Manuel Kolp Extending UML for Agent Systems 28 Example: A User 2 On-line Buying System Media taxonomy – on-line catalog – DBMS E-Shopping Cart – Check In – Buying – Check Out Search Engine – catalog browser – Keywords – full-text Billing Processor – $ transactions – orders Multimedia – description – samples Manuel Kolp Extending UML for Agent Systems 29 1. Early Requirements Analysis with TROPOS Understanding the problem by studying an organizational setting; Organizational model with relevant actors and respective goals. i* [Yu95] Running Example: A Business to Consumer System Goals are relative, fulfillment is collaborative !! Manuel Kolp Extending UML for Agent Systems 30 Insurance Company Maximize profits Customer Car repaired Manuel Kolp Insurance Company Customer happy Settle claim Extending UML for Agent Systems 31 The Strategic Dependency Model Focus on social dependencies among actors rather than only actor goals, actions etc. Actors have goals, need tasks be carried out and resources to be made available; Dependencies define social & 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 Softgoals are distinguished from goals because they do not have a formal definition, and are amenable to a different (more qualitative) kind of analysis (not well-defined). Manuel Kolp Extending UML for Agent Systems 32 Four Kinds of Social Dependencies Goal Task Manuel Kolp Resource Softgoal … Social Dependency Extending UML for Agent Systems 33 An Insurance Example D D Customer happy Appraise damages D Fair repair appraisal D D Resource Task Softgoal Secure employment D Goal Minimize repairs D Continue business D D Appraiser D Owner Repairs covered D D Insurance Company D Premium payment D D Manuel Kolp D Maximize estimate D D Pay repairs D D D Car repaired D D Body Shop Claims payout D Extending UML for Agent Systems 34 Tasks vs Goals Tasks are processes actors perform to fulfill goals. In general, there will be many alternative tasks (possibly by different actors) for fulfilling a goal. 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 delegation to other actors. A delegated goal may not be achievable by the dependee actor (who is supposed to achieve it); in this case, the depender actor has to look for an alternative solution. Manuel Kolp Extending UML for Agent Systems 35 Softgoals 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: softgoals, “fuzzy goals” (clouds) with no clearcut criteria for satisfaction; Hence softgoals are satisficed, not satisfied. How well the system accomplishes its functions Manuel Kolp Extending UML for Agent Systems 36 Extending UML using Stereotypes <<softgoal dependency>> Increase Market Share <<resource dependency>> Media Items <<task dependency>> Consult Catalogue <<i* actor>> <<i* actor>> <<goal dependency>> Buy Media Items Customer <<goal dependency>> Continuous Supply Media Shop <<softgoal dependency>> Happy Customers Manuel Kolp <<i* actor>> <<i* actor>> <<softgoal dependency>> Quality Packages Media Supplier Media Producer <<softgoal dependency>> Long Term Business Extending UML for Agent Systems 37 Formal Analysis and Model-Checking Entity MediaItem Attribute constant itemType : ItemType, price : Amount, InStock : Boolean Dependency BuyMediaItems Type goal Mode achieve Depender Customer Dependee MediaRetailer Attribute constant item : MediaItem Fulfillment condition for depender media : MediaItem(self.item.type media.type item.price media.price) [the customer expects to get the best price for the type of item] Dependency ContinuousSupply Type goal Mode maintain Depender MediaRetailer Dependee MediaSupplier Attribute constant item : MediaItem Fulfillment condition 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 38 Dynamics Specification Proc checkOutCatalogueConsultation(catalogue) < catalogue : failed(catalogue) closeCatalogue(catalogue) > ( < cancelConsultation reinitializeCatalogue(catalogue) > || < timeout 90 reinitializeCatalogue(catalogue) > ) < catalogue : InProcessConsultation StopConsultation closeCatalogue(catalogue) > EndProc Manuel Kolp Extending UML for Agent Systems 39 Strategic 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-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 decomposition links relate tasks to other component tasks Tasks can also be decomposed to goals. Manuel Kolp Extending UML for Agent Systems 40 Functional Alternatives: Insurance Example alternative one Verify policy alternative three Handle claim centrally Prepare offer Manuel Kolp Claim be settled Agent handles claim alternative two Body Shop handles claim Extending UML for Agent Systems 41 Strategic Rationale Model: Insurance Claims Handling Actor boundary Get accident info Handle claim Verify policy Settle claim Prepare offer Determine fault Whose fault? Settlement cost? Determine cost to settle Insurance Company D Minimal repairs D D D D Manuel Kolp D Witness Appraise damage D D Doctor D Injury info D Sufficient treatment D Police Accident info Appraiser Extending UML for Agent Systems 42 Rationale View: E-business example Manuel Kolp Extending UML for Agent Systems 43 2. Late Requirements (Strategic Relationships) ”Organizational Map” Functions and qualities for the system within its environment Late Requirements - System Rationale Model ”Rationale Map” Medi@ Goal-Oriented Analysis Goal-oriented analysis focuses on early requirements analysis phases, when alternatives are being explored and evaluated. During goal-oriented analysis, we start with initial goals such as “Higher profits”, “Faster time-to-market”, “Schedule meeting”, “Easily maintainable system”, “Good performance” etc. and keep decomposing them until we have reduced them to alternative collections of design decisions each satisfying the initial goals. Initial goals may be organization oriented; they may also be conflicting, so the analysis must facilitate the discovery of tradeoffs and the search of the full space of alternatives, rather than a subset. Manuel Kolp Extending UML for Agent Systems 46 The NFR framework : Building Goals Models To arrive at a more qualitative framework for modeling goals, we also need to extend the set of relationships between goals beyond means-ends links: • + (++): one goal contributes positively (very positively) towards the fulfillment of another goal; • - (--) one goal contributes negatively (very negatively) towards the fulfillment of another goal; sub: one goal subsumes another, I.e., if the first goal is fulfilled, so is the second; With these enhancements, we can build goal models which might be useful for strategic decision analysis Manuel Kolp Extending UML for Agent Systems 47 Availability Minimal effort Rapidity of Order Minimal Interaction Minimal conflicts Matching effort Collection effort - + + + - ++ … Goal Analysis Handle Customer Order - Collect orders ++ By person By system Selected Items Manually Automatically By phone By Fax Manuel Kolp Have updated invoices With Shopping Cart Extending UML for Agent Systems 48 Leaving Goals Dependencies is a Novelty Goals and Softgoals generally operationalized/metricized during Late Requirements (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 requirements Systems fragile and less reusable. Whenever there modularity Manuel Kolp is a need for flexibility, reusability, Extending UML for Agent Systems 49 From i* to Agent Concepts 3. Architectural Design Architecture in terms of interconnected social components. 3 levels – 1 Macro level : Organizational Styles (Organization Theory) • Vertical Integration, Pyramid, Joint Venture, Structure in 5, Bidding, Hierarchical Contracting, Co-optation, Takeover – 2 Micro level : Patterns (Agent, COOPIS Community) • Broker, Matchmaker, Contract-Net, Mediator, Monitor, Embassy, Wrapper, Master-Slave, ... – 3 Atomic : Social and intentional concepts – i* Manuel Kolp Extending UML for Agent Systems 51 Organization Styles for Architecture Organization Theory, Strategic Alliances, … Mintzberg, Scott, Galbraith, … Studies alternatives and models for (business) organizations Model the coordination of business stakeholders -- individuals, physical or social systems -- to achieve common (business) goals. Manuel Kolp Extending UML for Agent Systems 52 Structure in 5 Operational core : basic operations -- the input, processing, output associated with running the organization. Strategic apex : executive, strategic decisions. Support : Assists the operation core for non-operational services outside the basic flow of operational procedures. Technostructure : standardizes the behavior of other components, help the system adapt to its environment. Middle line : Actors who join the apex to the core. Manuel Kolp Extending UML for Agent Systems 53 Structure in 5 in i* and Telos metaconcepts TELL CLASS StructureIn5MetaClass IN Class WITH /*Class is a MetaMetaClass*/ attribute name: String part, exclusivePart, dependentPart ApexMetaClass: Class CoordinationMetaClass: Class MiddleAgencyMetaClass: Class SupportMetaClass: Class OperationalCoreMetaClass: Class END StructureIn5MetaClass In i* Manuel Kolp In Telos Extending UML for Agent Systems 54 Joint Venture in i* and Telos metaconcepts TELL CLASS JointVentureMetaClass IN Class WITH /*Class is a MetaMetaClass*/ attribute name: String part, exclusivePart, dependentPart JointManagementMetaClass: Class part, exclusivePart /*exclusive and independent part*/ PrincipalPartnerMetaClass: Class part /*shared and independent part*/ SecondaryPartnerMetaClass: Class END JointVentureMetaClass In Telos Manuel Kolp Extending UML for Agent Systems 55 Hierarchical Contracting and Vertical Integration Manuel Kolp Extending UML for Agent Systems 56 Cooptation and Bidding Manuel Kolp Extending UML for Agent Systems 57 Non Organizational (Classical) Architecture Styles Pipe-filter Main Program & Sub-Routines Manuel Kolp Extending UML for Agent Systems 58 Mobile Robot Layered Architecture Need to establish direct communication Data & control hierarchies not separated Prevent manipulation of components Information exchange not always straight-forward RWI Robots (irobot.com): ATRV, B21r, B14r, Magellan Manuel Kolp Extending UML for Agent Systems 59 The Mobile Robot Case Study Activities a mobile robot has to accomplish: - Acquiring the input provided by sensors, - Controlling the motion of its wheels and other moveable part, - Planning its future path. External Factors: - Obstacles may block the robot’s path, - Sensor inputs may be imperfect, - The robot may run out of power, - Mechanical limitations may restrict accuracy - The robot may manipulate hazardous materials, - Unpredictable events may leave little time for responding. Manuel Kolp Extending UML for Agent Systems 60 Other Classical Mobile Robot Architectures Control loop : Controller initiates the robot actions. Also monitors their consequences, adjusting future plans based on the return information Task Trees : Hierarchies of tasks. Parent tasks initiate child tasks. Temporal dependencies between tasks permit selective concurrency. Manuel Kolp Extending UML for Agent Systems 61 Mobile Robot Architecture: Structure-in-5 [4, 14] More distributed architecture Manuel Kolp Extending UML for Agent Systems 62 Joint Venture Architecture organized around - A central joint manager assuming the overall supervisor/ coordinator role for the other agent components: - A high level path planner, - A module that monitors the environment for landmarks, - A perception subsystem that receives and interprets sensors data. - A motor controller and Components can also interact directly with each other. Manuel Kolp Extending UML for Agent Systems 63 Agent Quality Attributes for Mobile Robots Coordinativity. Agents must be able to coordinate with other agents to achieve a common purpose or simply their local goals. A mobile robot has to coordinate the actions it undertakes to achieve its objective with the reactions forced on it by the environment. Predictability. Agents can have a high degree of autonomy in the way they undertake action and communication in their domains. Difficult to predict individual characteristics as part of determining the behavior of the system at large. For a mobile robot, never will all the circumstances of the operation be fully predictable. The architecture must provide the framework in which the robot can act even when faced with incomplete information. Manuel Kolp Extending UML for Agent Systems 64 Agent Quality Attributes for Mobile Robots Failability-Tolerance. A failure of one agent does not imply a failure of the whole system. Needs to check completeness and accuracy of information and transactions. Can implement replicated capabilities. Must prevent the failure of the robot’s operation and its environment. Local problems like reduced power supply, unexpectedly opening doors should not necessarily imply the failure of the mission. Adaptability. Agents must to adapt to modifications in their environment. Must allow changes to the component’s communication protocol, dynamic manipulations of agents. Application for mobile robots frequently requires experimentation and reconfiguration. Changes in assignments require regular modification. Manuel Kolp Extending UML for Agent Systems 65 Strengths and Weaknesses of Robot Architectures Loop Layers Task Tree S-in-5 Joint-Vent. Coordinativity - - +- ++ ++ Predictability +- + +- + ++ Failability-Tol. + +- + + + Adaptability +- +- + + +- Manuel Kolp Extending UML for Agent Systems 66 Coordinativity Control loop: Simplicity is a drawback when dealing with complex tasks, no leverage for decomposing the software into more precise components. Layers: services and requests between adjacent layers. Transactions not always straight-forward. Need to skip layers to coordinate behavior. Task trees: clear separation of action and reaction. Allows incorporation of concurrent agents. Components have little interaction with each other. Structure-in-5: separates data (sensor control, interpreted results, world model) from control (motor, navigation, scheduling, planning and userlevel) hierarchies Joint venture: Components interact via the joint manager for strategic decisions. They indicate their interest, the joint manager returns them such information or mediates the request to other partner component. Manuel Kolp Extending UML for Agent Systems 67 Predictability Control loop: Reduces the unpredictable through iteration only. No framework if more subtle steps are needed. Layers: Abstraction - uncertain at the lowest level become clear with the added knowledge in the higher layers. Task trees: less clear. Exeption handlers when the assumptions it is based on turn out to be erroneous. Structure-in-5: Abstraction levels in the structure-in-5 addresses the need for managing unpredictability. Lower levels only involve resources and task dependencies while higher ones propose intentional relationships. Joint-venture: Central position and role of the joint manager is a means for resolving conflicts and prevent unpredictability. Manuel Kolp Extending UML for Agent Systems 68 Failability-Tolerance Control loop: Simplicity makes duplication of components and behavior easy and reduces the chance of errors creeping into the system. Layers: Many checks at different levels into the system. But control and transactions may need to skip layers to check the system behavior. Task trees: Exception, wiretapping and monitoring can be integrated to take into account the needs for integrity, reliability, completeness. Structure-in-5: checks integrated at different abstraction levels redundancy from different perspectives. Not restricted to adjacent layers. Separated data and control hierarchies, can be verified independently. Joint-venture: Joint manager proposes a central message server/controller. Can support exception, wiretapping supervising or monitoring to guarantee non-failability, reliability and completeness. Manuel Kolp Extending UML for Agent Systems 69 Adaptability Control loop: Components are separated from each other and can be replaced or added independently. Precise manipulation inside components, at a level detail not shown. Layers: Interdependencies between layers prevent the addition of new components or deletion of existing ones. Task trees: Implicit invocation makes incremental manipulation of components straightforward. Sufficient to register new ones, no existing one feels the impact. Structure-in-5: Isolates components, allows dynamic manipulation. No more than 5 components: Refined tuning inside components. Joint-venture: Manipulation of components by registering them to the joint manager. Dependencies must be updated. Joint manager cannot be removed. Manuel Kolp Extending UML for Agent Systems 70 Legolog for Office Delivery Robot (Structure-in-5) Cognitive Robotics development environment for experimentation with and demonstration of research on the LEGO® MINDSTORMSTM Robotics Invention System TM http://www.cs.toronto.edu/cogrobo/Legolog/ OR LeJOS (http://lejos.sourceforge.net) + JACK agents Manuel Kolp Extending UML for Agent Systems 71 A Joint-Venture E-commerce Architecture E-business styles: on web, protocols, technologies Not on business processes, NFRs No organization of the architecture, conceptual highlevel perspective From Security, Availability, Adaptability Manuel Kolp Extending UML for Agent Systems 72 4. Detailed Design Architectural Agent components defined in details in terms of inputs, outputs, control, and other relevant information. UML extensions: Tropos Proposal – Tropos offers a set of concepts and a methodology for developing agent-oriented software. – These concepts can be accommodated within UML in terms of new stereotypes – One can also use UML/AUML diagrams and other techniques from the multi-agent system area to specify coordination and other details during detailed design. Manuel Kolp Extending UML for Agent Systems 73 Design Pattern Identify the interrelationships among a group of software components describing their responsibilities, collaborations and structural relationships. Composite Manuel Kolp Extending UML for Agent Systems 74 Design Pattern: Composite Problem: Representing whole-part hierachies so that whole and part objects offer the same interface to client objects. Context: Composite and component object are required to offer the same behaviour, i.e, be treated in the same way Forces: – Composite or component should belong to the same inheritance hierarchy. – The need to represent whole-part hierarchies indicates the need for an aggregation structure Solution : Combine inheritance and aggregation hierarchies. Manuel Kolp Extending UML for Agent Systems 75 Composite Pattern: Media Clip Manuel Kolp Extending UML for Agent Systems 76 Social Patterns Monitor Matchmaker Contract-Net Manuel Kolp Extending UML for Agent Systems 77 Example: 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 78 Agent Capabilities Customer Build a request to query the matchmaker Handle a services ontology Query the matchmaker for a service Find alternative matchmakers Request a service to a provider Manage possible provider failures Monitor the provider’s ongoing processes Ask the provider to stop the requested service Provider Matchmaker Manuel Kolp 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 Update the local database Handle a services ontology Use an agenda for managing the customer requests Search the name of an agent for a service Inform the customer of the unavailability of agents for a service Extending UML for Agent Systems 79 Social Patterns Mediator Embassy Manuel Kolp Extending UML for Agent Systems 80 Assigning Agent Roles to Actors Manuel Kolp Extending UML for Agent Systems 81 In UML with Stereotypes <<i* actor>> <<i* actor>> <<goal dependency>> Fwd Source Change <<goal dependency>> <<i* actor>> Locate Source Source Match. Monitor <<i* actor>> <<goal dependency>> Route Info Request <<task dependency>> Provide Information <<goal dependency>> Info Searcher Profile Customer On-line Catalogue <<i* actor>> <<task dependency>> Query Information Source <<task dependency>> Hits Information <<i* actor>> <<task dependency>> Notify Change Mediator <<i* actor>> <<task dependency>> Translate Response Wrapper <<task dependency>> Ask for Info Advertising Statistics Processor Manuel Kolp Extending UML for Agent Systems 82 Example: Peer-to-Peer Application (Gnutella) Manuel Kolp Extending UML for Agent Systems 83 Mediators and Contract-Net in Gnutella Manuel Kolp Extending UML for Agent Systems 84 Notification in Gnutella Manuel Kolp Extending UML for Agent Systems 85 Acceptance or Denial Manuel Kolp Extending UML for Agent Systems 86 Class Diagram Manuel Kolp Shopping Cart UML Classes Extending UML for Agent Systems 87 Communication – Agent Interaction Protocol Manuel Kolp Extending UML for Agent Systems 88 Communication – FIPA-ACL - AUML <<i* actor>> Customer Manuel Kolp <<i* actor>> Shopping Cart The Checkout Dialogue Extending UML for Agent Systems 89 Dynamics: Plan Diagram Manuel Kolp Extending UML for Agent Systems 90 Dynamics Manuel Kolp Check Out Plan Extending UML for Agent Systems 91 An Agent Platform: JACK JACK Intelligent Agents is an agent-oriented development environment built on top of the Java programming language. JACK's integration with Java is analogous to the relationship between the C++ and C languages. The JACK Agent Language has been developed to provide agent-oriented specific extensions to Java. http://www.agent-software.com Manuel Kolp Extending UML for Agent Systems 92 JACK BDI Agents Agents in JACK are intelligent in the sense they model reasoning behavior according to the BDI model. Following this model, JACK agents can be considered autonomous software components that have explicit goals to achieve (desires). To describe how they should go about achieving these desires, these agents are programmed with a set of plans (intentions). Each plan describes how to achieve a goal under varying circumstances. Set to work, the agent pursues its given goals (desires), adopting the appropriate plans (intentions) according to its current set of data (beliefs) about the state of the world. Manuel Kolp Extending UML for Agent Systems 93 JACK functional constructs To support the BDI agents, JACK has five main constructs. – Agents – Database relations to store beliefs and data that an agent has acquired. – Goals and Events to identify the goals (desires) and messages that an agent can achieved or respond to. A Goal in JACK is a special event due to the OO nature of JAVA. – Plans that are intentions an agent follows to try to achieve its goals and executes to handle its designated events. – Capabilities to aggregate events, goals, plans, databases or other capabilities. Manuel Kolp I.e., JACK Goal = BDI Desire, JACK DB relation = BDI Belief, JACK Plan = BDI Intention, JACK Agent = BDI Agent Extending UML for Agent Systems 94 Java BDI Agent Implementation in JACK Manuel Kolp Extending UML for Agent Systems 95 Related Proposals Manuel Kolp Goal-Oriented Analysis (GOA) has been researched in Requirements Engineering since the ‘80s; unlike other proposals, i* goals are relative and fulfillment is cooperative; also other GOA frameworks focus on the transformation from early to late requirements. AUML is a recent proposal for agent modeling; its emphasis is on agent coordination+communication. UML has been recently extended to include goals for business modeling applications; i* is a mature modeling framework, has been formalized in a variety of settings and comes with a methodology for doing actor and goal analysis. Extending UML for Agent Systems 96 Additional Readings Information Systems [1] J. Castro, M. Kolp, and J. Mylopoulos. Towards Requirements-Driven Information Systems Engineering. Information Systems, Elsevier, 2002. [2] J. Castro, M. Kolp, and J. Mylopoulos. Developing Agent-Oriented Information Systems for the Enterprise. In B. Sharp, editor, Enterprise Information Systems II, Kluwer Publishing, 2002. [3] J. Castro, M. Kolp, and J. Mylopoulos. A Requirements-Driven Development Methodology. In Proc. of the 13th Int. Conf. on Adv. Information Systems Engineering, CAiSE’01, Interlaken, Switzerland, June 2001. Knowledge Systems [4] M. Kolp, P. Giorgini, and J. Mylopoulos. Multi-Agents Systems as Social Structures. Autonomous Agents and Multi-Agents Systems, Kluwer Publishing, 2002. [5] A. Perini, P. Bresciani, F. Giunchiglia, P. Giorgini, and J. Mylopoulos. A Knowledge Level Software Engineering Methodology for Agent Oriented Programming. In Proc. of the 5th Int. Conf on Autonomous Agents, Agents’01, Montreal, Canada, May 2001. [6] M. Kolp, P. Giorgini, and J. Mylopoulos. A Goal-Based Organizational Perspective on Multi-Agents Architectures. In Proc. of the 8th Int. Conf. on Intelligent Agents: Agent Theories, Architectures, and Languages, ATAL’01, Seattle, USA, Aug. 2002. [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’01, Montreal, Canada, May 2001. [8] G. Gans, M. Jarke, S. Kethers, and G. Lakemeyer: Modeling the Impact of (Dis)trust in Agent Networks. In Proc. of the 3rd Int. Bi-Conf. on Agent-Oriented Info Systems, AOIS’01, Interlaken, Switzeland, June 2001 Manuel Kolp Extending UML for Agent Systems 97 Additional Readings Conceptual Modeling [9] A. Fuxman, P. Giorgini, M. Kolp, and J. Mylopoulos. Information systems as Social Structures. In Proc. of the 2nd Int. Conf. on Formal Ontologies for Information Systems, FOIS’01, Ogunquit, USA, Oct. 2001. [10] J. Mylopoulos, A. Fuxman, and P. Giorgini. From Entities and Relationships to Social Actors and Dependencies. In Proc. of the 19th Int. Conf. on Conceptual Modeling, ER’00, Salt Lake City, USA, Oct. 2000. [11] L. Lu and E. Yu. Modelling Strategic Actor Relationships to Support Intellectual Property Management. In Proc. of the 20th Int. Conf. on Conceptual Modeling, ER’01, Yokohama, Japan, Nov. 2001. Software Engineering [12] J. Mylopoulos, J. Castro, and M. Kolp, Tropos: A Framework for Requirements-Driven Software Development. In J. Brinkkemper and A. Solvberg (eds.), Information Systems Engineering: State of the Art and Research Themes, Springer-Verlag, June 2000. [13] A. Fuxman, M. Pistore, J. Mylopoulos, and P. Traverso. Model Checking Early Requirements Specification in Tropos. In Proc. of the 5th Int. Symposium on Requirements Engineering, RE’01, Toronto, Canada, Aug. 2001. [14] M. Kolp, J. Castro, and J. Mylopoulos. A Social Organization Perspective on Software Architectures. In Proc. of the 1st Int. Workshop From Software Requirements to Architectures, STRAW’01, Toronto, Canada, May 2001. [15] L. Lu and E. Yu. From Requirements to Architectural Design - Using Goals and Scenarios. In Proc. of the 1st Int. Workshop From Software Requirements to Architectures, STRAW’01, Toronto, Canada, May 2001. UML [16] J. Mylopoulos, M. Kolp, and J. Castro. UML for Agent-Oriented Software Development: The Tropos proposal. In Proc. of the 4th Int. Conf. on the Unified Modeling Language UML’01, Toronto, Canada, Oct. 2001. Manuel Kolp Extending UML for Agent Systems 98
© Copyright 2026 Paperzz