Autonomous Agents and Multi-Agent Systems

, Volume 31, Issue 3, pp 423–468 | Cite as

Requirements specification via activity diagrams for agent-based systems

  • Yoosef AbusharkEmail author
  • Tim Miller
  • John Thangarajah
  • Michael Winikoff
  • James Harland


Goal-oriented agent systems are increasingly popular for developing complex applications that operate in highly dynamic environments. As with any software these systems have to be designed starting with the specification of system requirements. In this paper, we extend a popular agent design methodology, Prometheus, and improve the understandability and maintainability of requirements by automatically generating UML activity diagrams from existing requirements models; namely scenarios and goal hierarchies. This approach aims to overcome some of the ambiguity present in the current requirements specification in Prometheus and provide more structure for representing variations. Even though our approach is grounded in Prometheus, it can be generalised to all the methodologies that support similar notions in specifying requirements (i.e. notions of goals and scenarios). We present our approach and an evaluation based on user experiments. The evaluation showed that the activity diagram based approach enhances people’s understanding of the requirements, makes it easier to modify requirements, and easier to check them against the detailed design of the agents for coverage.


Requirements specification AOSE Prometheus methodology 



Y. Abushark acknowledges King Abdulaziz University for scholarship. J. Thangarajah acknowledges the support of the Australian Research Council under Discovery Grant DP1094627.


  1. 1.
    Akehurst, D. H., Howells, W. G., & McDonald-Maier, K. D. (2005). Kent model transformation language. In: Proceedings of model transformations in practice workshop (MTIP) at MoDELS conference, Montego Bay.Google Scholar
  2. 2.
    Al-Hashel, E., Balachandran, B. M., & Sharma, D. (2007). A comparison of three agent-oriented software development methodologies: ROADMAP, Prometheus, and MaSE. Knowledge-Based Intelligent Information and Engineering Systems (pp. 909–916). Berlin: Springer.CrossRefGoogle Scholar
  3. 3.
    Alam, M. N., Hossain, S., & Alam, K. N. E. (2015). Use case application in requirements analysis using secure tropos to umlsec-security issues. International Journal of Computer Applications, 109(4), 21–25.CrossRefGoogle Scholar
  4. 4.
    Beydoun, G., Low, G., Henderson-Sellers, B., Mouratidis, H., Gomez-Sanz, J. J., Pavó, J., et al. (2009). FAML: a generic metamodel for MAS development. IEEE Transactions on Software Engineering, 35(6), 841–863.CrossRefGoogle Scholar
  5. 5.
    Bolloju, N., & Sun, S. X. (2012). Benefits of supplementing use case narratives with activity diagramsan exploratory study. Journal of Systems and Software, 85(9), 2182–2191.CrossRefGoogle Scholar
  6. 6.
    Bratthall, L., & Wohlin, C. (2002). Is it possible to decorate graphical software design and architecture models with qualitative information?-an experiment. IEEE Transactions on Software Engineering, 28(12), 1181–1193.CrossRefGoogle Scholar
  7. 7.
    Bresciani, P., Perini, A., Giorgini, P., Giunchiglia, F., & Mylopoulos, J. (2004). Tropos: An agent-oriented software development methodology. Journal of Autonomous Agents and Multi-agent Systems JAAMAS, 8(3), 203–236.CrossRefzbMATHGoogle Scholar
  8. 8.
    Cossentino, M. (2005). From requirements to code with the PASSI methodology. Agent-Oriented Methodologies, 3690, 79–106.CrossRefGoogle Scholar
  9. 9.
    Dam, H. K., & Winikoff, M. (2013). Towards a next-generation AOSE methodology. Science of Computer Programming, 78(6), 684–694.CrossRefGoogle Scholar
  10. 10.
    Dardenne, A., Van Lamsweerde, A., & Fickas, S. (1993). Goal-directed requirements acquisition. Science of Computer Programming, 20(1), 3–50.CrossRefzbMATHGoogle Scholar
  11. 11.
    Deloach, S. (2004). The MaSE methodology. Methodologies and Software Engineering for Agent Systems, 11, 107–125.CrossRefGoogle Scholar
  12. 12.
    DeLoach, S., Padgham, L., Perini, A., & Susi, A. (2009). Using three aose toolkits to develop a sample design. International Journal of Agent-Oriented Software Engineering IJAOSE, 3(4), 416–476.CrossRefGoogle Scholar
  13. 13.
    DeLoach, S. A. (2001). Analysis and design using MaSE and agentTool. Technical report, DTIC Document.Google Scholar
  14. 14.
    DeLoach, S. A., & Garcia-Ojeda, J. C. (2010). O-MaSE: A customisable approach to designing and building complex, adaptive multi-agent systems. International Journal of Agent-Oriented Software Engineering IJAOSE, 4(3), 244–280.CrossRefGoogle Scholar
  15. 15.
    DeLoach, S. A., Wood, M. F., & Sparkman, C. H. (2001). Multiagent systems engineering. International Journal of Software Engineering and Knowledge Engineering, 11(3), 231–258.CrossRefGoogle Scholar
  16. 16.
    Duran-Faundez, C., Ramos, M., & Rodriguez, P. (2015). Applying gaia and auml for the development of multiagent-based control software for flexible manufacturing systems: addressing methodological and implementation issues. Software: Practice and Experience, 45, 1719–1737.Google Scholar
  17. 17.
    Garcia-Ojeda, J. C., DeLoach, S. A., et al. (2009). agentTool III: From process definition to code generation. In: Proceedings of the 8th international conference on autonomous agents and multiagent systems (vol. 2, pp. 1393–1394). International Foundation for Autonomous Agents and Multiagent Systems.Google Scholar
  18. 18.
    Gomez-Sanz, J. J., & Fuentes-Fernández, R. (2015). Understanding agent-oriented software engineering methodologies. The Knowledge Engineering Review, 30(04), 375–393.CrossRefGoogle Scholar
  19. 19.
    Gomez-Sanz, J. J., Fuentes, R., Pavón, J., & García-Magariño, I. (2008). INGENIAS development kit: A visual multi-agent system development environment. In: Proceedings of the 7th international joint conference on autonomous agents and multiagent systems: Demo papers (pp. 1675–1676). International Foundation for Autonomous Agents and Multiagent Systems.Google Scholar
  20. 20.
    Gross, A., & Doerr, J. (2009). Epc vs. uml activity diagram-two experiments examining their usefulness for requirements engineering. In: 17th IEEE international requirements engineering conference, 2009. RE’09 (pp. 47–56). Atlanta: IEEE.Google Scholar
  21. 21.
    Gutiérrez, J. J., Nebut, C., Escalona, M. J., Mejías, M., & Ramos, I. M. (2008). Visualization of use cases through automatically generated activity diagrams. Model driven engineering languages and systems (pp. 83–96). Berlin: Springer.CrossRefGoogle Scholar
  22. 22.
    Henderson-Sellers, B. & Giorgini, P. (Eds). (2005). Agent-oriented methodologies. Hershey: Idea Group Publishing.Google Scholar
  23. 23.
    Hollander, M., Wolfe, D. A., & Chicken, E. (2013). Nonparametric statistical methods. New York: Wiley.zbMATHGoogle Scholar
  24. 24.
    Jacobson, I. (1992). Object-oriented software engineering: a use case driven approach., ACM Press Series New York: ACM.zbMATHGoogle Scholar
  25. 25.
    Jennings, N. R. (2001). An agent-based approach for building complex software systems. Communications of the ACM, 44(4), 35–41.CrossRefGoogle Scholar
  26. 26.
    Juan, T., Pearce, A., & Sterling, L. (2002). ROADMAP: Extending the GAIA methodology for complex open systems. In: Proceedings of the first international joint conference on autonomous agents and multiagent systems: part 1 (pp. 3–10).Google Scholar
  27. 27.
    Jürjens, J. (2002). Umlsec: Extending uml for secure systems development. In: ł UML 2002 the unified modeling language (pp. 412–425). Berlin: Springer.Google Scholar
  28. 28.
    Misra, S., Kumar, V., & Kumar, U. (2005). Goal-oriented or scenario-based requirements engineering technique-what should a practitioner select? In: Canadian conference on electrical and computer engineering (pp. 2288–2292).Google Scholar
  29. 29.
    Morandini, M., Nguyen, D. C., Perini, A., Siena, A., & Susi, A. (2008). Tool-supported development with Tropos: The conference management system case study. In: Agent-oriented software engineering VIII (pp. 182–196). Berlin: Springer.Google Scholar
  30. 30.
    Müller, J. P., & Fischer, K. (2014). Application impact of multi-agent systems and technologies: A survey. In: Agent-oriented software engineering (pp. 27–53). Berlin: Springer.Google Scholar
  31. 31.
    Munroe, S., Miller, T., Belecheanu, R., Pechoucek, M., McBurney, P., & Luck, M. (2006). Crossing the agent technology chasm: Lessons, experiences and challenges in commercial applications of agents. Knowledge Engineering Review, 21(4), 345.CrossRefGoogle Scholar
  32. 32.
    Object Management Group. I. (2011). OMG Unified Modelling Language version 2.4 (OMG UML), Superstructure. Needham, MA: Object Management Group.Google Scholar
  33. 33.
    Padgham, L., & Winikoff, M. (2004). Developing intelligent agent systems: A practical guide. Chichester: Wiley.CrossRefzbMATHGoogle Scholar
  34. 34.
    Padgham, L., Thangarajah, J., & Winikoff, M. (2005). Tool support for agent development using the Prometheus methodology. In: International conference on quality software (pp. 383–388). IEEE.Google Scholar
  35. 35.
    Pavón, J., Gómez-Sanz, J. J., & Fuentes-Fernández, R. (2005). The INGENIAS methodology and tools (Chap. IX). In: Henderson-Sellers and Giorgini [22] (vol. 9, pp. 236–276).Google Scholar
  36. 36.
    Royston, P. (1995). The w-test for normality. Applied Statistics, 44, 547–551.CrossRefGoogle Scholar
  37. 37.
    Sommerville, I., & Sawyer, P. (1997). Requirements engineering: A good practice guide. New York: Wiley.zbMATHGoogle Scholar
  38. 38.
    Sterling, L., & Taveter, K. (2009). The art of agent-oriented modeling. New York: MIT.Google Scholar
  39. 39.
    Thangarajah, J., Jayatilleke, G., & Padgham, L. (2011). Scenarios for system requirements traceability and testing. In: The 10th international conference on autonomous agents and multiagent systems (vol. 1, pp. 285–292).Google Scholar
  40. 40.
    Tilley, S., & Huang, S. (2003). A qualitative assessment of the efficacy of uml diagrams as a form of graphical documentation in aiding program understanding. In: Proceedings of the 21st annual international conference on documentation (pp. 184–191). New York: ACM.Google Scholar
  41. 41.
    Trencansky, I., & Cervenka, R. (2005). Agent modeling language (AML): A comprehensive approach to modeling mas. Informatica, 29(4), 391–400.Google Scholar
  42. 42.
    Van Lamsweerde, A. (2001). Goal-oriented requirements engineering: A guided tour. In: Proceedings of fifth IEEE international symposium on requirements engineering, 2001 (pp. 249–262).Google Scholar
  43. 43.
    van Lamsweerde, A. (2009). Requirements Engineering: From System Goals to UML Models to Software Specifications. New York: Wiley.Google Scholar
  44. 44.
    Winikoff, M., & Padgham, L. (2013). Agent oriented software engineering (Chap. 15). In G. Weiß (Ed.), Multiagent Systems (2nd ed.). Cambridge: MIT.Google Scholar
  45. 45.
    Wooldridge, M., Jennings, N. R., & Kinny, D. (2000). The Gaia methodology for agent-oriented analysis and design. Journal of Autonomous Agents and Multi-agent Systems JAAMAS, 3(3), 285–312.CrossRefGoogle Scholar
  46. 46.
    Yu, E. (1995). Modelling Strategic Relationships for Process Reengineering. PhD Thesis, Department of Computer Science, University of Toronto, Toronto.Google Scholar
  47. 47.
    Yue, T., Briand, L. C., & Labiche, Y. (2009). A use case modeling approach to facilitate the transition towards analysis models: Concepts and empirical evaluation. Model Driven Engineering Languages and Systems (pp. 484–498). Berlin: Springer.CrossRefGoogle Scholar
  48. 48.
    Yue, T., Briand, L. C., & Labiche, Y. (2010). An automated approach to transform use cases into activity diagrams. Modelling Foundations and Applications (pp. 337–353). Berlin: Springer.CrossRefGoogle Scholar
  49. 49.
    Zambonelli, F., Jennings, N. R., & Wooldridge, M. (2003). Developing multiagent systems: The gaia methodology. ACM Transactions on Software Engineering and Methodology (TOSEM), 12(3), 317–370.CrossRefGoogle Scholar

Copyright information

© The Author(s) 2016

Authors and Affiliations

  1. 1.RMIT UniversityMelbourneAustralia
  2. 2.University of MelbourneMelbourneAustralia
  3. 3.University of OtagoDunedinNew Zealand

Personalised recommendations