e812fcbe48a471d31d08f6aec6752a2c.ppt
- Количество слайдов: 81
Ongoing Research on Software Engineering for Multi-Agent Systems Carlos José Pereira de Lucena lucena@inf. puc-rio. br Software Engineering Lab (LES) – PUC-Rio October 2004 – SBES’ 04
Presentation Overview • Software Agents: Motivation • Perspectives on Software Engineering for MASs • MAS-SE at LES – – MAS Modeling (two approaches) Developing Method based on Aspects Technology Evaluation Technology Transfer • Future research directions at LES • Conclusions Software Engineering Lab (LES) – PUC-Rio 2
The Scenario • With the advances in network-based applications, the introduction of autonomous components in software systems has become usual • Software systems will be – Everywhere – Always connected – Always active to perform something on the user’s behalf Software Engineering Lab (LES) – PUC-Rio 3
New Characteristics of Software Systems 1 • Situatedness – Components execute in the context of an environment, and they can influence and be influenced by it • Openness – Systems have decentralized management and can dynamically change their structure • Locality in control – Components represent autonomous and proactive loci of control • Locality in interactions – Components interact with each other accordingly to local patterns 1 F. Zambonelli, H. V. D. Parunak. Towards a Paradigm Change in Computer Science and Software Engineering: A Synthesis. Knowledge Engineering Review, 2004. Software Engineering Lab (LES) – PUC-Rio 4
Software Agents • The complexity introduced by this new kind of software systems goes beyond the capabilities of traditional software engineering abstractions, such as objects and components • Software Agent – An agent is an interactive computer system that is situated in some environment, and that is capable of autonomous action in this environment in order to meet its design objectives 2 2 M. Wooldridge, N. R. Jennings. Intelligent Agents: Theory and Practice. Knowledge Engineering Review 10(2), 1995, pp. 115 -152. Software Engineering Lab (LES) – PUC-Rio 5
O que são Sistemas Multi-Agentes? • No ponto de vista de IA – Um sistema multi-agente é uma sociedade de agentes (agentes IA) individuais, que interagem por meio de troca de conhecimento e de negociação para alcançar um objetivo local ou global • No ponto de vista de ES – Um sistema multi-agente é um sistema de software composto por diversos locos de controle (agentes ES) encapsulados e independentes, que interagem no contexto específico de uma aplicação Software Engineering Lab (LES) – PUC-Rio 6
Agency Characteristics • Characteristics of multi-agent systems include – Autonomy • Capable of acting without direct external intervention – Interactivity • Communicates with the environment and other agents – Adaptation • Capable of responding to other agents and/or its environment to some degree – Pro-activity • Goal-oriented - it does not simply react to the environment Software Engineering Lab (LES) – PUC-Rio 7
Agency Characteristics (cont’d) • Characteristics of multi-agent systems include – Learning • Modify its behavior based on its experience – Rationality • Able to choose an action based on internal goals – Mobility • Able to transport itself from one environment to another Software Engineering Lab (LES) – PUC-Rio 8
Evolution of SE Paradigms • Assembly Languages • Functional Abstraction • Structured Programming Abstractions determined by the machine architecture • Object-Orientation Time • Components • Design Patterns • . . . Abstractions determined by the problem domain • Software Agents Software Engineering Lab (LES) – PUC-Rio 9
Today’s Technological Environment • The advances in Internet technologies increased the demand for the development of distributed, heterogeneous and complex systems • The evolution of the Web towards a Semantic Web is creating contents that can be directly manipulated by processes • Software agents embody distribution and heterogeneity and, thus, they are indicated as the new abstraction for the engineering of complex distributed systems Software Engineering Lab (LES) – PUC-Rio 10
The Multi-Agent Paradigm • The Multi-Agent paradigm offers – A decomposition model – An abstraction for software development based on the problem domain – A model of system development as a composition of organizational units – A decentralization model to reduce the unit coupling Software Engineering Lab (LES) – PUC-Rio 11
Experimental Development since 1998 • Aula. Net Learning Management System • 2 Buy. Net e-Business (B 2 C) • VBroker e-Business (B 2 C) • VMarket e-Business (C 2 C) • i. Deal e-Business (B 2 B) • Commerce. Pipe e-Business (C 2 B) • Portal. Ware Knowledge Management • Skill. O Skill Management • Web. Clipper Web Crawling Software Engineering Lab (LES) – PUC-Rio 12
The State of the Art of SE-MAS • Software Engineering for Multi-agent Systems at a very early stage – Several proposals, little agreement – AOSE/AAMAS, SELMAS/ICSE – JAAMAS • Ad-hoc or proprietary development • Lack of an assessment of the impacts of the agent technology on software development • There is a need to develop a proper Software Engineering for the Agent Paradigm Software Engineering Lab (LES) – PUC-Rio 13
Research Topics • Agent-oriented requirements analysis and specification • Best practice in agent-oriented development • Engineering large-scale agent systems • Experiences with field-tested agent systems • Formal methods for agent-oriented systems, including specification and verification logics Software Engineering Lab (LES) – PUC-Rio 14
Research Topics (cont’d) • Implications of agent-oriented software on organizational and social structures within and between companies (e. g. changes in roles, responsibilities, transparency, business processes and decision schemes) • Integration of agent-oriented software into existing business processes and implications on business process re-engineering • Market and other economic models in agent systems engineering Software Engineering Lab (LES) – PUC-Rio 15
Research Topics (cont’d) • Methodologies for agent-oriented analysis and design • Model checking for agent-oriented systems • Model-driven architecture (MDA) for MAS • Practical coordination and cooperation frameworks for agent systems • Refinement and synthesis techniques for agent-based specifications • Relationship of AOSE to other SE paradigms (e. g. , OO) Software Engineering Lab (LES) – PUC-Rio 16
Research Topics (cont’d) • Re-use approaches for agent-oriented software, including design patterns, frameworks, components, and architectures • Software development environments and CASE tools for AOSE • Standard APIs for agent programming • Standardizations for AOSE • UML and agent systems • Verification and validation techniques for agent-based systems Software Engineering Lab (LES) – PUC-Rio 17
MAS-SE at LES • MAS Conceptual Framework – TAO • MAS Modeling – ANote – MAS-ML • Developing Methods and Frameworks – Aspect-oriented agent patterns Software Engineering Lab (LES) – PUC-Rio 18
MAS Conceptual Frameworks • Describe the structure of the abstractions of MAS • Examples – KAo. S, d'Inverno and Luck, Yu and Schmidt • Issues – The description of the interplay between these abstractions – The description of the other MAS abstractions surrounding the agent, such as environment and organization – The use of the abstractions to guide the creation of models Software Engineering Lab (LES) – PUC-Rio 19
The TAO Conceptual Meta-model • Defines a core set of MAS abstractions – The entities that may be described in MAS, their properties and the relationships associated with them (structural aspects of MAS) – The creation and destructions of entities and also defines domain-independent behavior (dynamic aspects of MAS) • Defines a core set of MAS relationships • TAO groups together the abstractions that are frequently described in the literature for MAS Software Engineering Lab (LES) – PUC-Rio 20
The TAO 3 • Abstractions – Agent, object, environment, organization and role • Relationships – Inhabit, ownership, play, control, dependency, association, aggregation/composition and specialization 3 V. Silva et al. Taming Agents and Objects in Software Engineering. In: Garcia et al. (eds. ) Software Engineering for Large-Scale Multi-Agent Systems, LNCS 2603, 2003, pp. 1 -26. Software Engineering Lab (LES) – PUC-Rio 21
MAS Modeling languages and methodologies • MAS modeling languages that do not extend UML – Gaia, Ma. SE – ANote (Choren et al, SELMAS 2004), CAMLE (Shan and Zhu, SELMAS 2004) • MAS modeling languages that extend UML – AUML, AORML – MAS-ML (Silva et al, LNCS 2940, 2004) • Methodologies that use or extend MAS modeling languages – MESSAGE, Prometheus Software Engineering Lab (LES) – PUC-Rio 22
MAS Modeling Languages that Do Not Extend UML • Issues – Do not have a conceptual framework – Overuse or lack information on diagrams (scattered design of the system) – Miss the definition of the non-agent entities (environmental resources) – Do not explicitly show the agency properties such as adaptation or autonomy Software Engineering Lab (LES) – PUC-Rio 23
MAS Modeling Languages that Extend UML • Issues – Do not explicitly define the extensions applied to the UML meta-model – Do not define guidelines to implement the systems modeled using the language – Do not model the same of the structural aspects and dynamic aspects frequently described in MAS – Heavy Software Engineering Lab (LES) – PUC-Rio 24
The ANote 4 • Lightweight, agent-oriented notation language • Focus – Specification of systems with distributed computing, agents and knowledge representation (ontology) • Characteristics – Agent-centric / Agency features – Goal-oriented – Design views 4 R. Choren, C. Lucena. Modeling Multi-agent Systems with ANote. Journal of Software and Systems Modeling, 2004. Software Engineering Lab (LES) – PUC-Rio 25
ANote Conceptual Meta-model Software Engineering Lab (LES) – PUC-Rio 26
Views • Each concept defines a perspective or view • ANote defines seven views each of which has its own representation (diagram) Software Engineering Lab (LES) – PUC-Rio 27
ANote Goal View • Provides an initial identification of a tree of goals that outline the functions performed by the agents • They are specified from elaborations, process descriptions and system problem (functional decomposition) Software Engineering Lab (LES) – PUC-Rio 28
ANote Agent View • Specifies the agent types of the multi-agent application solution and their relationships (system structural base) • They are specified from the logical subdivision of the system’s functional goals Software Engineering Lab (LES) – PUC-Rio 29
ANote Ontology View • Identifies the non-agent components of the system, specified with an ontology • They are specified from the system environment resources, their relationships and functions (objectoriented approach) • UML Class Diagram used as notation Software Engineering Lab (LES) – PUC-Rio 30
ANote Scenario View • Captures agent behavior in specific contexts • Describe how goals can be achieved by an ordering of actions and events • It specifies the normal course of action and the alternative paths of execution (emergent context) • Shows the agents, interactions and plans involved in achieving a goal in a context (enterprise modeling) • Scenario table used as notation Software Engineering Lab (LES) – PUC-Rio 31
ANote Planning (Action) View • Specifies the execution states, or actions, an agent has to perform to compute an action plan (derived from a scenario that illustrated a goal) • It allows the modeling of the agents’ workflows Software Engineering Lab (LES) – PUC-Rio 32
ANote Interaction (Message) View • Shows the structural organization of agents that send and receive messages while executing an action plan • It allows the modeling of the interaction protocols (conversation graphs) Software Engineering Lab (LES) – PUC-Rio 33
ANote Organization View • Specifies the multi-agent system implementation unit that offers services (set of goals), accessed by an interface (set of message protocols) • There is no basic approach to split the agents into logical organizations (it is not a property of the abstraction, but a design decision) Software Engineering Lab (LES) – PUC-Rio 34
ANote Diagrams in a Nutshell Software Engineering Lab (LES) – PUC-Rio 35
ANote Diagrams in a Nutshell Software Engineering Lab (LES) – PUC-Rio 36
Some Usage Examples • Agent Marketplace • Web-based Insurance System • Basic Railcar Control System • Trading Agent Competition (TAC) Software Engineering Lab (LES) – PUC-Rio 37
Ongoing Research on ANote • Tool support – Graphical tool – Internal XML representation – Eclipse Platform plug-in • Translation (from model to code) support – MAS Framework (TAC) – Transformation from ANote models XML representations to MAS Framework Software Engineering Lab (LES) – PUC-Rio 38
The MAS-ML 5 • Extended UML notation language • Focus – Specification of the structural and dynamic aspects of MAS through a conservative extension of UML • Characteristics – Agent/organization-centric (based on TAO meta-model) – UML extension – Structural and dynamic aspects 5 V. T. Silva, C. J. P. Lucena. From a Conceptual Framework to a Multi-Agent System Modeling Language. Journal of Autonomous Agents and Multi-Agent Systems 9(1/2), 2004, pp. 145 -189. Software Engineering Lab (LES) – PUC-Rio 39
MOF Architecture Meta-model layer MOF meta-model ER meta-model instantiation TAO meta-model UML meta-model Meta-model layer unification MAS-ML meta-model Domain model layer MAS-ML models Instance layer Software Engineering Lab (LES) – PUC-Rio 40
The MAS-ML Meta-model Element Features 1. . * * 1. . * Classifier Agent. Message 1 * sender receiver Structural Feature Belief Behavioral Feature Class Goal Agent. Class Organization. Class Environment. Class Active Environment. Class Object. Role. Class Agent. Role. Class Passive Environment. Class Property Axiom Right Operation 0. . 1 Duty Agent. Action 1. . * 0. . 1 precondition * * * Constraint * postcondition Software Engineering postcondition Lab (LES) – PUC-Rio * Agent. Plan Agent. Protocol * Legend Meta-classes of UML meta-model New meta-classes New stereotypes 41
The MAS-ML Meta-model 1 Agent. Class 0. . * inhabit play 1. . * Agent. Role. Class 0. . * play in 1. . * inhabit play define 1 Environment. Class 1 1. . * 1 1 sub-org 1 Organization. Class 1 sub- 0. . * org 1 play in 0. . * define play in inhabit 0. . * Object. Role. Class 0. . * play 1 Class Element Legend Meta-classes of UML meta-model 1. . * Relationship Classifier New meta-classes Association Software Engineering Lab (LES) – PUC-Rio Dependency Ownership Directed Relationship Inhabit Control Play Generalization 42
MAS-ML Class Diagram • Represents the relationships between the classes and other MAS entities Virtual Marketplace Organization A Agent. A Item association Book Organization A Agent. B specialization Imported Books Second-hand Books Legend: Object / Environment Organization inhabit Agent Software Engineering Lab (LES) – PUC-Rio 43
MAS-ML Organization Diagram • Models the organizations and the relationships between the organizations and other MAS entities Software Engineering Lab (LES) – PUC-Rio 44
MAS-ML Role Diagram • Models the roles and the relationships between the roles Software Engineering Lab (LES) – PUC-Rio 45
MAS-ML Sequence Diagram • Represents the interactions between the MAS instances and the intra-actions defined by each instance • New elements to represent interactions – The concept of message was extended – New stereotypes associated with messages were created – Extensions to model protocols were defined • New elements to represent intra-actions – Extensions to model the execution of plans and actions were defined Software Engineering Lab (LES) – PUC-Rio 46
MAS-ML Sequence Diagram • New pathnames and icons Software Engineering Lab (LES) – PUC-Rio 47
Place-A : Virutal. Marketplace plan Bob/buyer. Of. Books/Bookfinder/Place-A : User. Agent/Buyer/ General. Store/Virtual. Marketplace Entering organization Brand. New. Bookstore/market. Of. Used. Books/Bookfinder/Place-A : Second-hand. Bookstore/Market. Of. Used. Goods/ General. Store/Virtual. Marketplace Search for organization get. Organizations() organization Vector method invocation environment Check_organization_goals Request (Org. Goals) Managing entrance Get_organization_goals Inform (Org. Goals) Check_organization_roles Request (Org. Roles) agent Get_organization_roles Inform (Org. Roles) Select_role_to_play <
Some Usage Examples • Simple Matching System • Agent Marketplace • Paper Submission and Reviewing System • Simple Supply-chain Management System Software Engineering Lab (LES) – PUC-Rio 49
Ongoing Research on MAS-ML • Preliminary approach to code generation • Tool support – Graphical tool – Create the MAS-ML DTD based on the extended MAS-ML grammar – Transform XMI based on MAS-ML DTD into XMI based on UML DTD – MAS-ML Formalization – MAS-ML Analyzer Software Engineering Lab (LES) – PUC-Rio 50
The Aspect-Oriented Agents 6 • Agents with aspect-orientation • Focus – Specification of an architecture and of a pattern language for agents using the aspect-oriented approach • Characteristics – Aspect-oriented – Architectural Method (kernel and agenthood properties) – Pattern language Garcia, A. F. ; Lucena, C. J. P. ; Cowan, D. D. ; Agents in Object-Oriented Software Engineering. In Software: Practice & Experience, Elsevier, vol. 34, Issue 5 , pp. 489 - 521, May 2004. 6 Software Engineering Lab (LES) – PUC-Rio 51
The Architectural Problem • The agent properties are not orthogonal – Crosscut each other and the agent’s basic functionality Interaction Adaptation Autonomy Basic Functionality Mobility Collaboration Learning Roles architectural component Software Engineering Lab (LES) – PUC-Rio 52
The Architectural Problem (cont’d) • Multiple agent types heterogeneous architectures A Reactive Information Agent A Cognitive User Agent Interaction Adaptation Interaction Autonomy Adaptation Autonomy Need for a more flexible Basic Functionality Basic architectural approach Functionality Mobility Collaboration Software Engineering Lab (LES) – PUC-Rio Learning Roles 53
The Design Problem Interaction Adaptation Autonomy Agent goals efectors. . . adapters threads add. Goal() execute. Plan() … send. Msg() receive. Msg() add. Adapter() remove. Adapter() notify. Adapters() make. Decision() start. Thread() Plan goal roles Interface. Agent pre. Cond() pos. Cond() … start. Role() Plan 1 LCs user LCs Information. Agent DB itinerary remote. Environments roles receive. Instruction() monitor(). . . process. Information() search(Keywords) … move() return. Home() Plan 2 start. Role() action 1() action 2() action 3(). . . action 1() action 2() process. Inf (). . . Software Engineering Lab (LES) – PUC-Rio Mobility Learning Collaboration Basic Functionality Role agents protocol adapters get. Name() add. Agent() … add. Adapter() remove. Adapter() notify. Adapters() public Result search. KW(String KW) { User. Agent adapt. Knowledge(KW); user. Name LCs process. Information(KW); roles. . . Caller get. User() Answerer << searching-specific code >> check. Preference() caller answerer …. . . () process. Inf LCs itinerary start. Role(). . . receive. Request() if (result send. Request() = null) { receive. Response() send. Response() this. move(KW). . . move() process. Information(). . . } return. Home() } 54
The Proposed Solution software architecture Architectural Method detailed design Pattern Language implementation Software Engineering Lab (LES) – PUC-Rio Implementation Framework 55
The Architectural Method • Step 1: define the agent kernel Kernel Belief Goal Plan Agent name goals plans … new() add. Belief() set. Goal() execute. Plan(). . . Garcia, A. , Kulesza, U. , Lucena, C. Aspectizing Multi-Agent Systems: From Architecture to Implementation. “Software Engineering for Multi-Agent Systems III”, Springer LNCS, State-of-the-Art Survey, December 2004. (prelo) 56 Software Engineering Lab (LES) – PUC-Rio
The Architectural Method (cont’d) • Step 2: Define the agenthood properties Autonomy Goal Creation Message Reception Message Sending Interaction Execution Autonomy Kernel Belief Goal Plan Agent Adaptation name goals plans Legend: aspectual component crosscutting interface Software Engineering Lab (LES) – PUC-Rio normal interface new() add. Belief() set. Goal() execute. Plan(). . . Knowledge Adaptation 57
The Architectural Method (cont’d) • Step 3: define the agent types Agent name beliefs goals plans. . . add. Belief() add. Goal() execute. Plan() … Kernel Interface. Agent receive. Instruction() monitor() memorize(). . . Software Engineering Lab (LES) – PUC-Rio Kernel Information. Agent search(Keyword) search(Keywords) search(Sentences) … Kernel User. Agent get. User() check. Preference() … 58
The Architectural Method (cont’d) • Step 4: define the additional properties Collaboration Protocol Information Gathering Learning Kernel Interface. Agent receive. Instruction() monitor() memorize(). . . Collaboration Kernel Information. Agent search(Keyword) search(Keywords) search(Sentences) … Kernel User. Agent get. User() check. Preference() … Legend: aspectual component crosscutting interface Software Engineering Lab (LES) – PUC-Rio normal interface 59
The Pattern Language Agenthood Additional Properties Adaptation Environment Mobility incoming message new message Interaction outgoing message new message absent knowledge new goal Kernel agent creation Autonomy new event absent knowledge Learning new event collaboration joining Roles Legend: Crosscuts Software Engineering Lab (LES) – PUC-Rio 60
The Adaptation Pattern • The Adaptation concern – Observes events – Triggers the adaptation strategy – Adapts the agent knowledge or behavior • Problem: how to separate the adaptation concern from the other agency concerns? Software Engineering Lab (LES) – PUC-Rio 61
The Adaptation Pattern (cont’d) Observable Collaboration add. Adapter() remove. Adapter() notify. Adapters() Role Agent collaborating. Agents collaboration. Protocol adapters add. Adapter() remove. Adapter() notify. Adapters() add. Agent() … goals plans adapters add. Adapter() remove. Adapter() notify. Adapters() add. Agent() remove. Agent() execute. Plan(). . . Chair papers submission. Deadline review. Deadline add. Agent() remove. Agent() … Reviewer chair to. Review. Papers review. Deadline fill. Form() update. Form() get. Chair. Name() … Software Engineering Lab (LES) – PUC-Rio Kernel Observer Beliefs name add. Adapter() remove. Adapter() notify. Adapters() Adapter adapt() Primitive. Beliefs … Composite. Beliefs update() My. Paper new() coauthors keywords publisher status Legend: Adaptation Concern 62
The Adaptation Pattern (cont’d) • Solution Knowledge Adaptation Agent Belief changed. Belief_() new. Msg_() Aspect knowledge elements observed Software Engineering Lab (LES) – PUC-Rio Adaptation adapters adapt. Belief() find. Plan() adapt. Specific. Belief() find. Specific. Plan() Behavior Adapation new. Goal_() failed. Plan_() plan. Final_() Plan execute. Plan() Agent set. Goal() Adapter adapt() Legend: _before. Advice after. Advice_ _around. Advice_ 63
Method Evaluation • • • 4 qualitative studies and 1 quantitative study 3 prototypes in different application domains Portalware URL: www. teccomm. les. inf. puc-rio. br/alessandro/portal. zip Expert. Committee URL: www. teccomm. les. inf. puc-rio. br/alessandro/ec. zip Aspect-oriented metrics suite – Cohesion, coupling, size, separation of concerns 1. Sant'Anna, C. , Garcia, A. , Kulesza, U. , Lucena, C. , Staa, A. Design Patterns as Aspects: A Quantitative Assessment. Proceedings of the SBES’ 04, Brasília, Brazil, October 2004. 2. Garcia, A. et al. Separation of Concerns in Multi-Agent Systems: An Empirical Study. In: "Software Engineering for Multi-Agent Systems II", Springer-Verlag, LNCS 2940, State-of-the-Art Survey, January 2004, pp. 49 -72. 3. Sant’Anna, C. , Garcia, A. , Chavez, C. , Lucena, C. , Staa, A. On the Reuse and Maintenance of Aspect-Oriented Software: An Assessment Framework. Proceedings of the SBES’ 03, Manaus, Brazil, October 2003. 4. Garcia, A. , Chavez, C. , Torres, V. , Lucena, C. Engineering Multi-Agent Systems with Patterns and Aspects. Journal of the Brazilian PUC-Rio Software Engineering Lab (LES) – Computer Society, SBC, Number 1, Volume 8, July 2002, pp. 57 -72. 64
Ongoing Research on Aspect-Oriented Agents • The generative approach • More experimentation • Refinement of patterns (ex: learning and mobility) Software Engineering Lab (LES) – PUC-Rio 65
Technology Evaluation Trading Agent Competition • The Trading Agent Competition (TAC) is an international forum designed to promote and encourage high quality research into the trading agent problem. • The scenarios – TAC Classic - a "travel agent" scenario based on complex procurement on multiple simultaneous auctions – TAC SCM - a PC manufacturer scenario based on sourcing of components, manufacturing of PC's and sales to customers • The TAC 2004 is the fifth event (Classic). • The TAC research community: – USA, Canada, Mexico, Brazil, France, UK, Sweden, Netherlands, Germany, Turkey, Israel, Macau, China, Japan, Australia, etc. Software Engineering Lab (LES) – PUC-Rio 66
TAC Classic Software Engineering Lab (LES) – PUC-Rio 67
TAC – Trading Agent Competition Final Scores for TAC CLASSIC (2004). Average Score Games Played Cornell University, USA. 4122. 11 35 University of Michigan, USA 3848. 97 35 3736. 62 35 SICS, Sweden. 3708. 24 35 NNN Hebrew University, Israel. 3665. 97 35 6 UMTac-04 University of Utrecht, Netherlands. 3281. 43 35 7 Agent@CSE The Chinese University of Hong Kong, China. 3262. 51 35 8 Roxy. Bot Brown University, USA. 2015. 02 35 Position Agent 1 whitebear 04 2 Walverine 3 Learn. Agents 4 SICS 02 5 Software Engineering Lab (LES) – PUC-Rio Affiliation PUC-Rio, Brazil. 68
Learn. Agents – A Multi-Agent System for the TAC Classic Flight, Hotel, and Ticket Sensors Flight and Hotel Price Predictor Allocator Master + Allocator Slaves Corporate Knowledge Base Flight, Hotel, and Ticket Negotiators Software Engineering Lab (LES) – PUC-Rio Ordering Agents (Flight & Hotels, Tickets) Monitor Agent 69
Learn. Agents – A Multi-Agent System for the TAC Classic CPU 1 • • • CPU 2 Flight, Hotel, Ticket Sensors (3) • Monitor Agent (1) – Update Prices in the Knowledge Base – Stores important data from each agent – Filter the events from the environment – Monitor the Performance of each Flight and Hotel Price Predictor (2) Agent and the Agency – Flight: Maximum Likelihood – Hotel: Moving Average CPU 3 Allocator Master (1) – Calculates 50 allocations per minute • Allocator Slave (2) – Integer Programming – Calculates Ticket Allocation Ordering Agent (2) – Calculates High Price – Integer Programming – Decide which allocation to use, and decides the next strategy. Flight, Hotel and Ticket Negotiators (28) – Negotiates based on the strategy defined by the Ordering Agent – Hotel: Mini. Max, Neural Network, Temporal Difference Learning, LMS Learning Software Engineering Lab (LES) – PUC-Rio 70
• Monitor the Performance of each Agent • Monitor the Performance of the Agency • Parameters of the Agents • Tuning Software Engineering Lab (LES) – PUC-Rio 71
Some Future Directions at LES • The generative approach • Law governing in Multi-agent systems • Architectures – Component-based – ASF Framework (MAS-ML-based) • Tool support • Case study development Software Engineering Lab (LES) – PUC-Rio 72
Technology Transfer: Mindsat. Work Ltda. • Agent-Based Web. Clipper (instance of a Multi-Agent based Framework) • A Multi-Agent Based Architecture for the Development of Control and Acquisition Systems (Petrobras, Biogenie) Software Engineering Lab (LES) – PUC-Rio 73
Technology Transfer: Modulo Security Solutions S. A. • A Multi-Agent System for Monitoring News about Information Security • An Agent-Based Remote Analysis of the Vulnerability of a Computer System. Software Engineering Lab (LES) – PUC-Rio 74
Conclusions Software Everywhere Development and adoption of agent technology • We are in the infancy of SELMAS Software Engineering Lab (LES) – PUC-Rio 75
References • TAO Conceptual Framework V. T. Silva, A. Brandão, C. Chavez, C. Lucena, P. S. C. Alencar. Taming Agents and Objects in Software Engineering. In: A. Garcia, et al. (eds. ) Software Engineering for Large-Scale Multi-Agent Systems. Lecture Notes in Computer Science, LNCS 2603, 2004, pp. 1 -26. • ANote R. Choren, C. Lucena. Modeling Multi-agent Systems with ANote. Journal on Software and Systems Modeling, 2004. R. Choren, C. Lucena. Agent-Oriented Modeling Using ANote. Proceedings of the 3 rd International Workshop on Software Engineering for Large-Scale Multi-Agent Systems, SELMAS, 2004, pp. 74 -80. Software Engineering Lab (LES) – PUC-Rio 76
References (cont’d) • MAS-ML V. T. Silva, C. J. P. Lucena. From a Conceptual Framework to a Multi. Agent System Modeling Language. Journal of Autonomous Agents and Multi-Agent Systems, 9(1/2), 2004, pp. 145 -189. V. Silva, R. Choren, C. Lucena. Using the MAS-ML to Model a Multi. Agent System. In: C. Lucena et al. (eds. ) Software Engineering for Multi-Agent Systems II. Lecture Notes in Computer Science, LNCS 2940, 2004, pp. 129 -138. • The Aspect-Oriented Architectural Method A. Garcia, C. Lucena, D. Cowan. Agents in Object-Oriented Software Engineering. Software: Practice and Experience, Elsevier, 2004, pp. 1 -32. A. Garcia, et al. An Aspect-Based Approach for Developing Multi-Agent Object-Oriented Systems. Proceedings of the 15 th Brazilian Symposium on Software Engineering, SBES, 2001, pp. 177 -192. Software Engineering Lab (LES) – PUC-Rio 77
References (cont’d) • The Aspect-Oriented Agent Architecture A. Garcia, U. Kulesza, C. Lucena. Separation of Concerns in Open Multi. Agent Systems: An Architectural Approach. Proceedings of the 3 rd International Workshop on Software Engineering for Large-Scale Multi -Agent Systems, SELMAS, 2004, pp. 120 -129. • Case Studies K. Silva, R. Choren, C. Lucena. Applying A Note to modeling Multi Agent Systems - A Case Study in E-Business. Proceedings of the IASTED International Conference on Software Engineering, SE, 2004, pp. 148167. F. Melo, et al. Deploying Agents with the CORBA Component Model. In: W. Emmerich, A. L. Wolf (eds. ) Component Deployment. Lecture Notes in Computer Science, LNCS 3083, 2004, pp. 234 -247. Software Engineering Lab (LES) – PUC-Rio 78
References (cont’d) • Case Studies (cont’d) V. Silva, R. Choren, C. Lucena. A UML Based Approach for Modeling and implementing Multi-Agent Systems. Proceedings of the 3 rd International Conference on Autonomous Agents and Multi-Agent Systems, AAMAS, 2004. A. Garcia, et al. Engineering Multi-Agent Systems with Aspects and Patterns. Journal of the Brazilian Computer Society, Special Issue on Software Engineering and Databases, 8(1), 2002, pp. 57 -72. A. Garcia, et al. Separation of Concerns in Multi-Agent Systems: An Empirical Study. In: C. Lucena, et al. (eds. ) Software Engineering for Multi-Agent Systems II. Lecture Notes in Computer Science, LNCS 2940, 2004, pp. 49 -72. Software Engineering Lab (LES) – PUC-Rio 79
References (cont’d) • TAC Jose Alberto R. P. Sardinha, Ruy L. Milidiú, Carlos J. P. Lucena, Patrick M. Paranhos, Pedro Cunha. Learn. Agents - A multi-agent system for the TAC Classic. Poster Session at AAMAS'2004 - Trading Agent Competition, New York, NY, July 2004. Jose Alberto R. P. Sardinha, Alessandro F. Garcia, Carlos J. P. Lucena, Ruy L. Milidiú. On the Incorporation of Learning in Open Multi-Agent Systems: A Systematic Approach. Sixth International Bi-Conference Workshop on Agent Oriented Information Systems(AOIS-2004) at CAi. SE 2004, Riga, Latvia, Jun 2004. (to appear) Software Engineering Lab (LES) – PUC-Rio 80
Thank You Prof. Carlos José Pereira de Lucena lucena@inf. puc-rio. br Software Engineering Lab (LES) http: //www. les. inf. puc-rio. br Software Engineering Lab (LES) – PUC-Rio 81


