Achieving Software Robustness via Large-Scale Multiagent Systems

  • Michael N. Huhns
  • Vance T. Holderfield
  • Rosa Laura Zavala Gutierrez
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2603)


This paper describes how multiagent systems can be used to achieve robust software, one of the major goals of software engineering. The paper first positions itself within the software engineering domain. It then develops the hypothesis that robust software can be achieved through redundancy, where the redundancy is achieved by agents that have different algorithms but similar responsibilities. The agents are produced by wrapping conventional algorithms with a minimal set of agent capabilities, which we specify. We describe our initial experiments in verifying our hypothesis and present results that show an improvement in robustness due to redundancy. We conclude by speculating on the implications of multiagent-based redundancy for software development.


Software Engineering Multiagent System Sorting Algorithm Runtime Error Inform Message 
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.
    Anderson, T. and R. Kerr: “Recovery blocks in action: A system supporting high reliability.” Proc. 2nd International Conference on Software Engineering, October 13–15, 1976, San Francisco, CA, p.447–457.Google Scholar
  2. 2.
    Avizienis, Algirdas: “Fault-Tolerant Systems.” IEEE Transactions on Computers, 25(12), pp. 1304–1312, 1976.zbMATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Avizienis, Algirdas: “Toward Systematic Design of Fault-Tolerant Systems.” IEEE Computer, 30(4), pp. 51–58, 1997.Google Scholar
  4. 4.
    Chandy, K.N. and C. V. Ramamoorthy: “Rollback and recovery strategies for computer programs.” IEEE Transactions on Computers, June 1972, pp. 59–65.Google Scholar
  5. 5.
    Coelho, Helder, Luis Antunes, and Luis Moniz: “On Agent Design Rationale.” In Proceedings of the XI Simposio Brasileiro de Inteligencia Arti.cial (SBIA), Fortaleza (Brasil), October 17–21, 1994, pp. 43–58.Google Scholar
  6. 6.
    Cox, Brad J.: Planning the Software Industrial Revolution. IEEE Software, (Nov. 1990) 25–33.Google Scholar
  7. 7.
    DeLoach, S.: “Analysis and Design using MaSe and agentTool.” In Proc. 12th Midwest Artificial Intelligence and Cognitive Science Conference (MAICS 2001), 2001.Google Scholar
  8. 8.
    Eckhardt, D.E., and L.D. Lee: “A Theoretical Basis for the Analysis of Multiversion Software Subject to Coincident Errors.” IEEE Transactions on Software Engineering, SE-11(12), pp. 1511–1517, 1985.CrossRefGoogle Scholar
  9. 9.
    Hasling, John: Group Discussion and Decision Making, Thomas Y. Crowell Company, Inc. (1975).Google Scholar
  10. 10.
    Holderfield, Vance T. and Michael N. Huhns: “A Foundational Analysis of Software Robustness Using Redundant Agent Collaboration.” In Proceedings International Workshop on Agent Technology and Software Engineering, Erfurt, Germany, October 2002.Google Scholar
  11. 11.
    Huhns, Michael N.: “Interaction-Oriented Programming.” In Agent-Oriented Software Engineering, Paulo Ciancarini and Michael Wooldridge, editors, Springer Verlag, Lecture Notes in AI, Volume 1957, Berlin, pp. 29–44 (2001).Google Scholar
  12. 12.
    Iglesias, C. A., M. Garijo, J. C. Gonzales, and R. Velasco: “Analysis and Design of Multi-Agent Systems using MAS-CommonKADS.” In Proc. AAAI’97 Workshop on agent Theories, Architectures and Languages, Providence, USA, 1997.Google Scholar
  13. 13.
    C. Iglesias, M. Garijo, and J. Gonzalez: “A survey of agent-oriented methodologies.” In J. Muller, M. P. Singh, and A. S. Rao, editors, Proc. 5th International Workshop on Intelligent Agents V: Agent Theories, Architectures, and Languages (ATAL-98). Springer-Verlag: Heidelberg, Germany, 1999.Google Scholar
  14. 14.
    JADE: Java Agent Development Environment,
  15. 15.
    Jennings, Nick R.: “On Agent-Based Software Engineering.” Artificial Intelligence, 117(2) 277–296 (2000).zbMATHCrossRefGoogle Scholar
  16. 16.
    Juan, T., A. Pearce, and L. Sterling: “Extending the Gaia Methodology for Complex Open Systems.” In Proceedings of the 2002 Autonomous Agents and Multi-Agent Systems, Bologna, Italy, July 2002.Google Scholar
  17. 17.
    Kim, K.H. and Howard O. Welch, “Distributed Execution of Recovery Blocks: An Approach for Uniform Treatment of Hardware and Software Faults in Real-Time Applications.” IEEE Transactions on Computers, 38(5), May 1989, pp. 626–636.CrossRefGoogle Scholar
  18. 18.
    Kinny, David and Michael George.: “Modelling and Design of Multi-Agent Systems.” In J.P. Muller, M.J. Wooldridge, and N.R. Jennings, eds., Intelligent Agents III-Proc. Third International Workshop on Agent Theories, Architectures, and Languages, Springer-Verlag, Berlin, 1997, pp. 1–20.Google Scholar
  19. 19.
    Light, Donald, Suzanne Keller, and Craig Calhoun: Sociology Alfred A. Knopf/New York (1989).Google Scholar
  20. 20.
    Littlewood, Bev, Peter Popov, and Lorenzo Strigini: “Modelling software design diversity-a review.” ACM Computing Surveys, 33(2), June 2001, pp. 177–208.CrossRefGoogle Scholar
  21. 21.
    Lorge, I. and H. Solomon: “Two models of group behavior in the solution of Eurekatype problems.” Psychometrika (1955).Google Scholar
  22. 22.
    Nwana, Hyacinth S. and Michael Wooldridge: “Software Agent Technologies.” BT Technology Journal, 14(4):68–78 (1996).Google Scholar
  23. 23.
    Odell, J., H. Van Dyke Parunak, and Bernhard Bauer: “Extending UML for Agents.” In Proceedings of the Agent-Oriented Information Systems Workshop, Gerd Wagner, Yves Lesperance, and Eric Yu eds., Austin, TX, 2000.Google Scholar
  24. 24.
    Padgham, L. and M. Winiko.: “Prometheus: A Methodology for Developing Intelligent Agents.” In Proc. Third International Workshop on Agent-Oriented Software Engineering, July, 2002, Bologna, Italy.Google Scholar
  25. 25.
    Paulson, Linda Dailey: “Computer System, Heal Thyself.” IEEE Computer, (August 2002) 20–22.Google Scholar
  26. 26.
    Perini, A., P. Bresciani, F. Giunchiglia, P. Giorgini, and J. Mylopoulos: “A knowledge level software engineering methodology for agent oriented programming.” In Proceedings of Autonomous Agents, Montreal CA, 2001.Google Scholar
  27. 27.
    Randell, Brian and Jie Xu: “The Evolution of the Recovery Block Concept.” In Software Fault Tolerance, M. Lyu, Ed., Trends in Software, pp.1–22, J. Wiley, 1994.Google Scholar
  28. 28.
    Wooldridge, M., N. R. Jennings, and D. Kinny: “The Gaia Methodology for Agent-Oriented Analysis and Design.” Journal of Autonomous Agents and Multi-Agent Systems, 2000.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Michael N. Huhns
    • 1
  • Vance T. Holderfield
    • 1
  • Rosa Laura Zavala Gutierrez
    • 1
  1. 1.Department of Computer Science and EngineeringUniversity of South CarolinaColumbiaUSA

Personalised recommendations