Building Service-oriented User Agents using a Software Product Line Approach Ingrid Nunes 1, Carlos J.P. de Lucena 1, Donald Cowan 2 and Paulo Alencar 2 1 Pontifical Catholic University of Rio de Janeiro (PUC-Rio) - Brazil {ionunes,lucena}@inf.puc-rio.br 2 University of Waterloo - Waterloo, Canada {dcowan,palencar}@cs.uwaterloo.ca
Context and Motivation Supply-network management Auctions Multi-agent System (MAS) e-commerce Medical-record Processing 2
3 Context and Motivation Patient A Service-oriented User Agents Encapsulated software systems Collaborate with other agents in interesting business service engagements Doctor X Patient B Doctor Z Nurse Doctor Y Patient C Secretary
Problem Users have agents acting on their behalf to automate their tasks Agents represent individuals Need to personalize an agent to meet specific needs of the users To support their implementation in an automated way SPL 4
5 Problem BDI Architecture Flexible architecture to implement cognitive agents Different abstractions OO: attributes and methods Agents: beliefs, goals, plans Personalization Typically achieved by generic algorithms User must be able to specify user agent configuration Service identification and specification Model agent abstractions taking variability into account Beliefs Goals Plan Library
Objectives Proposal of a domain engineering process-oriented approach To Build customized service-oriented user agents using the SPLE paradigm Activities and models to address the development of customized agents Deployed into a MAS MAS enter Derived Agent 6
Approach Overview Case Studies Expert Committee MAS-PL of conference management systems OLIS MAS-PL of Web Applications that provide user personal services ipagent MAS-PL of Buyer Agents 7
Approach Overview 8
9 Approach Overview Problem Decomposition into MAS Concepts MAS provides several concepts for understanding and modeling a complex and distributed system Each agent may be classified from two different perspectives Internally Software system with its own purpose (intra-agent) Externally Part of a society interacting with other individuals (interagent) Our approach focuses on Developing a single agent to be part of an existing MAS Agents structured according to the BDI model
Approach Overview Service Analysis and Orchestration Most of AOSE methodologies focus on the development of closed systems Agents are known at design time A key advantage of SOA Enables services to be selected and integrated dynamically at runtime Flexibility and adaptation In our approach Specific activities for identifying and specifying services provided by agents 10
Approach Overview Analysis and Implementation Support to Variability Agents representing users in the MAS Requirement of representing their specific needs Our approach Aims at addressing a SPL of agents Systematic derivation of customized agents Contemplates variability analysis Capture variations and different possible configurations of the user agents Provide implementation support to build reusable assets Allows the automatic derivation of agents 11
12 Domain Analysis Ensures an appropriate goal decomposition
Domain Design Most of AOSE methodologies do not provide activities to services identification and specification Services: reusable assets Identification of plans that are related to a single variability Appropriate modularization 13
Domain Design 14
Domain Implementation 15
16 Application Engineering Variability Model Selection Configuration Knowledge Annotated Code Copy Code Assets Select Code Assets Customize Code Assets Save Code Assets Application Engineering Customized Source Code Compile Code Assets Compiled Source Code After the buyer finishes its execution, the resources are cleaned MAS enter Buyer Start Buyer Agent
17 Implemented MAS (Demo) Action A Action B IPAGENT Service A Service B Environment User Manager e-marketplace Saraiva <<seller>> Service C Facade <<create>> User <<create>> BuyerXX <<buyer>> Cultura <<seller>> DAO A DAO C Database Map <<map>> Geographic Services PayPal <<paypal>> Visa <<credit card>> Payment Services
Conclusion The presented approach Advances the development of service-oriented user agents Provides a systematic method to derive customized versions of the agents Increases the application domain of SPLs and promotes reuse in MASs The domain-based process proposed Extended domain analysis with goals and variability Domain design with the specification of agent services and plans Domain implementation Guidelines specific do Jadex platform 18
Future Work Tool Support Derivation process of user agents in our case study Application-specific tool GenArch - a general-purpose model-based derivation tool Recently extended to incorporate a new domain-specific model that addresses the Jadex GenArch extension is not fully compatible with our approach We are aiming to combine the two approaches 19
Future Work Future work Includes the provision of dynamic adaptation of agents SOAs promote the automation of flexible and highly adaptive business processes through the orchestration of loosely coupled services We aim at providing a dynamic adaptation of the user agent in order to incorporate new services and change existing ones 20
Building Service-oriented User Agents using a Software Product Line Approach Ingrid Nunes 1, Carlos J.P. de Lucena 1, Donald Cowan 2 and Paulo Alencar 2 1 Pontifical Catholic University of Rio de Janeiro (PUC-Rio) - Brazil {ionunes,lucena}@inf.puc-rio.br 2 University of Waterloo - Waterloo, Canada {dcowan,palencar}@cs.uwaterloo.ca