A Product-Line Approach to Promote Asset Reuse in Multi-agent Systems

  • Josh Dehlinger
  • Robyn R. Lutz
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3914)


Software reuse technologies have been a driving force in significantly reducing both the time and cost of software specification, development, maintenance and evolution. However, the dynamic nature of highly autonomous agents in distributed systems is difficult to specify with existing requirements analysis and specification techniques. This paper offers an approach for open, agent-based distributed software systems to capture requirements specifications in such a way that they can be easily reused during the initial requirements phase as well as later if the software needs to be updated. The contribution of this paper is to provide a reusable requirements specification pattern to capture the dynamically changing design configurations of agents and reuse them for future similar systems. This is achieved by adopting a product-line approach for agent-based software engineering. We motivate and illustrate this work through a specific application, a phased deployment of an agent-based, distributed microsatellite constellation.


Multiagent System Variation Point Software Product Line Intelligence Level Role Schema 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Ardis, M.A., Weiss, D.M.: Defining Families: The Commonality Analysis. In: Proc. 19th Int’l Conf. on Software Engineering, pp. 649–650 (1997)Google Scholar
  2. 2.
    Bresciani, P., Giorgini, P., Guinchiglia, F., Perini, A.: TROPOS: An Agent-Oriented Software Development Methodology. Journal of Autonomous Agents and Multi-Agent Systems 8(1), 203–236 (2004)CrossRefGoogle Scholar
  3. 3.
    Castro, J., Kolp, M., Myopoulos, J.: Towards Requirements-Driven Information Systems Engineering: The Tropos Project. Information Systems 27(6), 365–389 (2002)CrossRefMATHGoogle Scholar
  4. 4.
    Cernuzzi, L., Juan, T., Sterling, L., Zambonelli, F.: The Gaia Methodology: Basic Concepts and Extensions. In: Methodologies and Software Engineering for Agent Systems.The Agent-Oriented Software Engineering Handbook Series: Multiagent Systems, Artificial Societies, and Simulated Organizations, vol. 11, pp. 69–88 (2004)Google Scholar
  5. 5.
    Chan, K., Sterling, L.: Specifying Roles within Agent-Oriented Software Engineering. In: Proc. 10th Asia-Pacific Software Engineering Conf., pp. 390–395 (2003)Google Scholar
  6. 6.
    Chien, S., Sherwood, R., Tran, D., Cichy, B., Rabideau, G., Castano, R., Davies, A., Mandl, D., Frye, S., Trout, B., D’Agostino, J., Shulman, S., Boyer, D., Hayden, S., Sweet, A., Christina, S.: Lessons Learned from Autonomous Sciencecraft Experiment. In: Proc. Autonomous Agents and Multi-Agent Systems Conf. (2005)Google Scholar
  7. 7.
    Chien, S., Sherwood, R., Rabideau, G., Castano, R., Davies, A., Burl, M., Knight, R., Stough, T., Roden, J., Zetocha, P., Wainwright, R., Klupar, P., Van Gaasbeck, J., Cappelaere, P., Oswald, D.: The Techsat-21 Autonomous Space Science Agent. In: Proc. 1st Int’l Conf. on Autonomous Agents, pp. 570–577 (2002)Google Scholar
  8. 8.
    Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Reading (2002)Google Scholar
  9. 9.
    Das, S., Krikorian, R., Truszkowski, W.: Distributed Planning and Scheduling for Enhancing Spacecraft Autonomy. In: Proc. 3rd Conf. on Autonomous Agents, pp. 422–423 (1999)Google Scholar
  10. 10.
    Dehlinger, J., Lutz, R.R.: PLFaultCAT: A Product-Line Software Fault Tree Analysis Tool. The Automated Software Engineering Journal (to appear)Google Scholar
  11. 11.
    DeLoach, S.A.: The MaSE Methodology. Methodologies and Software Engineering for Agent Systems-The Agent-Oriented Software Engineering Handbook Series: Multiagent Systems, Artificial Societies, and Simulated Organizations 11, 107–125 (2004)CrossRefGoogle Scholar
  12. 12.
    Feng, Q., Lutz, R.R.: Bi-Directional Safety Analysis of Product Lines. Journal of Systems and Software (to appear)Google Scholar
  13. 13.
    Girardi, R.: Reuse in Agent-based Application Development. In: Proc. 1st Int’l Workshop on Software Engineering for Large-Scale Multi-Agent Systems (2002)Google Scholar
  14. 14.
    Hara, H., Fujita, S., Sugawara, K.: Reusable Software Components Based on an Agent Model. In: Proc. Workshop on Parallel and Distributed Systems (2000)Google Scholar
  15. 15.
    Kang, K.C., Kim, S., Lee, J., Lee, K.: Feature-Oriented Engineering of PBX Software for Adaptability and Reusability. Software Practice and Experience 29(10), 167–177 (1999)CrossRefGoogle Scholar
  16. 16.
    Lutz, R.R.: Extending the Product Family Approach to Support Safe Reuse. Journal of Systems and Software 53(3), 207–217 (2000)CrossRefGoogle Scholar
  17. 17.
    Northrop, L.: A Framework for Product Line Practice. Software Engineering Institute (November 2005),
  18. 18.
    Padmanabhan, P., Lutz, R.R.: Tool-Supported Verification of Product Line Requirements. The Automated Software Engineering Journal 12(4), 447–465 (2005)CrossRefGoogle Scholar
  19. 19.
    Schetter, T., Campbell, M., Surka, D.: Multiple Agent-Based Autonomy for Satellite Constellations. In: Proc. 2nd Int’l Symposium on Agent Systems and Applications (2000)Google Scholar
  20. 20.
    Sommerville, I.: Software Engineering. Addison-Wesley, Reading (2004)MATHGoogle Scholar
  21. 21.
    Sutandiyo, W., Chhetri, M.B., Krishnaswamy, S., Loke, S.W.: Experiences with Software Engineering of Mobile Agent Applications. In: Proc. 2004 Australian Software Engineering Conf., pp. 339–349 (2004)Google Scholar
  22. 22.
    TechSat21 - Space Missions Using Satellite Clusters, Space Vehicles Factsheets, (current February 2005)
  23. 23.
    Tveit, A.: A Survey of Agent-Oriented Software Engineering. In: NTNU Computer Science Graduate Student Conf. (2001)Google Scholar
  24. 24.
    United States Department of Defense, Draft DoD Software Technology Strategy, Office of the Director, Defense Research & Engineering, DRAFT (December 1991)Google Scholar
  25. 25.
    Weiss, D.M., Lai, C.T.R.: Software Product-Line Engineering. Addison-Wesley, Reading (1999)Google Scholar
  26. 26.
    Wooldridge, M., Jennings, N.R.: Agent Theories, Architectures and Languages: A Survey. In: Workshop on Agent Theories, Architecture and Languages, pp. 1–32 (1995)Google Scholar
  27. 27.
    Wooldridge, M., Jennings, N.R., Kinny, D.: The Gaia Methodology for Agent-Oriented Analysis and Design. Journal of Autonomous Agents and Multi-Agent Systems 3(3), 285–312 (2000)CrossRefGoogle Scholar
  28. 28.
    Zambonelli, F., Jennings, N.R., Wooldridge, M.: Developing Multiagent Systems: The Gaia Methodology. ACM Transactions on Software Engineering and Methodology 12(3), 317–370 (2003)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Josh Dehlinger
    • 1
  • Robyn R. Lutz
    • 1
    • 2
  1. 1.Department of Computer ScienceIowa State UniversityAmesUSA
  2. 2.Jet Propulsion Laboratory/CaltechUSA

Personalised recommendations