Developing and Evolving a Multi-agent System Product Line: An Exploratory Study

  • Ingrid Nunes
  • Camila Nunes
  • Uirá Kulesza
  • Carlos Lucena
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5386)


Software Product Line (SPL) approaches motivate the development and implementation of a flexible and adaptable architecture to enable software reuse in organizations. The SPL architecture addresses a set of common and variable features of a family of products. Based on this architecture, products can be derived in a systematic way. A multi-agent system product line (MAS-PL) defines a SPL architecture, whose design and implementation is accomplished using software agents to address its common and variable features. This paper presents the evolutionary development of a MAS-PL from an existing web-based system. The MAS-PL architecture developed is composed of: (i) the core architecture represented by the web-based system that addresses the main mandatory features; and (ii) a set of software agents that extends the core architecture to introduce in the web system new optional and alternative autonomous behavior features. We report several lessons learned from this exploratory study of definition of a MAS-PL.


Software product lines multi-agent systems object- oriented design aspect-oriented programming 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Alves, V., Gheyi, R., Massoni, T., Kulesza, U., Borba, P., Lucena, C.: Refactoring product lines. In: GPCE 2006, pp. 201–210. ACM, New York (2006)Google Scholar
  2. 2.
    Atkinson, C., Bayer, J., Muthig, D.: Component-based product line development: The kobrA approach. In: Donohoe, P. (ed.) SPLC 2000, pp. 289–309 (2000)Google Scholar
  3. 3.
    Bäumer, D., Riehle, D., Siberski, W., Wulf, M.: The Role Object Pattern. In: PLoP 1997 (1997) (submitted),
  4. 4.
    Cirilo, E., Kulesza, U., Coelho, R., Lucena, C., von Staa, A.: Integrating Component and Product Lines Technologies. In: Mei, H. (ed.) ICSR 2008. LNCS, vol. 5030, pp. 130–141. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  5. 5.
    Cirilo, E., Kulesza, U., Lucena, C.: A Product Derivation Tool Base on Model-Driven Techniques and Annotations. Journal of Universal Computer Science (2008)Google Scholar
  6. 6.
    Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Boston (2002)Google Scholar
  7. 7.
    Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Longman, Amsterdam (2000)Google Scholar
  8. 8.
    Deelstra, S., Sinnema, M., Bosch, J.: Product derivation in software product families: a case study. Journal of Systems and Software 74(2), 173–194 (2005)CrossRefGoogle Scholar
  9. 9.
    Dehlinger, J., Lutz, R.R.: A Product-Line Requirements Approach to Safe Reuse in Multi-Agent Systems. In: SELMAS 2005, pp. 1–7. ACM Press, New York (2005)Google Scholar
  10. 10.
    Figueiredo, E., Cacho, N., Sant’Anna, C., Monteiro, M., Kulesza, U., Garcia, A., Soares, S., Ferrari, F., Khan, S., Filho, F., Dantas, F.: Evolving software product lines with aspects: An empirical study on design stability. In: ICSE 2008, pp. 261–270. ACM, New York (2008)Google Scholar
  11. 11.
    Fowler, M.: Patterns of Enterprise Application Architecture. Addison-Wesley Professional, Reading (2002)Google Scholar
  12. 12.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-oriented Software. Addison-Wesley, Reading (1995)zbMATHGoogle Scholar
  13. 13.
    Garcia, A., Chavez, C., Kulesza, U., Lucena, C.: The role aspect pattern. In: EuroPLoP 2005, Isree, Germany (2005)Google Scholar
  14. 14.
    Garcia, A., Lucena, C., Cowan, D.: Agents in object-oriented software engineering. Software Practice Experience 34(5), 489–521 (2004)CrossRefGoogle Scholar
  15. 15.
    Gomaa, H.: Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures. Addison Wesley Longman Publishing Co., Inc., Redwood City (2004)Google Scholar
  16. 16.
    Greenfield, J., Short, K., Cook, S., Kent, S.: Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools. John Wiley and Sons, Chichester (2004)Google Scholar
  17. 17.
    Hannemann, J., Kiczales, G.: Design pattern implementation in Java and aspectJ. In: OOPSLA 2002, pp. 161–173. ACM, New York (2002)Google Scholar
  18. 18.
    Jennings, N.R.: An agent-based approach for building complex software systems. Commun. ACM 44(4), 35–41 (2001)CrossRefGoogle Scholar
  19. 19.
    Kiczales, G., Lamping, J., Menhdhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., Irwin, J.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  20. 20.
    Krueger, C.W.: Easing the transition to software mass customization. In: PFE 2001, London, UK, pp. 282–293. Springer, London (2002)Google Scholar
  21. 21.
    Kulesza, U., Alves, V., Garcia, A.F., de Lucena, C.J.P., Borba, P.: Improving Extensibility of Object-Oriented Frameworks with Aspect-Oriented Programming. In: Morisio, M. (ed.) ICSR 2006. LNCS, vol. 4039, pp. 231–245. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  22. 22.
    Nunes, C., Kulesza, U., SantÁnna, C., Nunes, I., Lucena, C.: On the modularity assessment of aspect-oriented multi-agent systems product lines: a quantitative study. In: SBCARS 2008, Porto Alegre, Brazil (2008)Google Scholar
  23. 23.
    Nunes, I., Kulesza, U., Nunes, C., Lucena, C.: Documenting and modeling multi-agent systems product lines. In: SEKE 2008, Redwood City, USA (2008)Google Scholar
  24. 24.
    Pena, J., Hinchey, M.G., Resinas, M., Sterritt, R., Rash, J.L.: Designing and managing evolving systems using a MAS product line approach. Science of Computer Programming 66(1), 71–86 (2007)MathSciNetCrossRefzbMATHGoogle Scholar
  25. 25.
    Pena, J., Hinchey, M.G., Ruiz-Cortés, A.: Multi-agent system product lines: challenges and benefits. Communications of the ACM 49(12), 82–84 (2006)CrossRefGoogle Scholar
  26. 26.
    Pohl, K., Bóckle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, Heidelberg (2005)CrossRefzbMATHGoogle Scholar
  27. 27.
    Pure systems. pure-systems GmbH (2008),
  28. 28.
    Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, Englewood Cliffs (1996)zbMATHGoogle Scholar
  29. 29.
    Wooldridge, M., Ciancarini, P.: Agent-Oriented Software Engineering: The State of the Art. In: Ciancarini, P., Wooldridge, M.J. (eds.) AOSE 2000. LNCS, vol. 1957, pp. 1–28. Springer, Heidelberg (2001)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Ingrid Nunes
    • 1
  • Camila Nunes
    • 1
  • Uirá Kulesza
    • 2
  • Carlos Lucena
    • 1
  1. 1.Computer Science Department, LESPUC-RioRio de JaneiroBrazil
  2. 2.New University of LisbonLisboaPortugal

Personalised recommendations