Automated Software Engineering

, Volume 24, Issue 1, pp 1–45 | Cite as

MaramaAIC: tool support for consistency management and validation of requirements

  • Massila KamalrudinEmail author
  • John Hosking
  • John Grundy


Requirements captured by requirements engineers (REs) are commonly inconsistent with their client’s intended requirements and are often error prone. There is limited tool support providing end-to-end support between the REs and their client for the validation and improvement of these requirements. We have developed an automated tool called MaramaAIC (Automated Inconsistency Checker) to address these problems. MaramaAIC provides automated requirements traceability and visual support to identify and highlight inconsistency, incorrectness and incompleteness in captured requirements. MaramaAIC provides an end-to-end rapid prototyping approach together with a patterns library that helps to capture requirements and check the consistency of requirements that have been expressed in textual natural language requirements and then extracted to semi-formal abstract interactions, essential use cases (EUCs) and user interface prototype models. It helps engineers to validate the correctness and completeness of the EUCs modelled requirements by comparing them to “best-practice” templates and generates an abstract prototype in the form of essential user interface prototype models and concrete User Interface views in the form of HTML. We describe its design and implementation together with results of evaluating our tool’s efficacy and performance, and user perception of the tool’s usability and its strengths and weaknesses via a substantial usability study. We also present a qualitative study on the effectiveness of the tool’s end-to-end rapid prototyping approach in improving dialogue between the RE and the client as well as improving the quality of the requirements.


Consistency management Requirements validation Essential use cases Essential user interface 



We acknowledge the support of the participants in our evaluation studies who willingly gave their time. Massila Kamalrudin acknowledges financial support from the University of Auckland, Swinburne University of Technology, Ministry of Higher Education Malaysia (FRGS/F00185) and Universiti Teknikal Malaysia Melaka (UTeM) for their assistance in this research. All authors acknowledge the support of the New Zealand Ministry of Business, Innovation & Employment via funding for the Software Process and Product Improvement project. We also thank Jun Huh for his assistance in developing MaramaAIC and Mark Young for his kindness in providing us the exemplar requirements. Finally, we thank the extremely thorough and detailed comments of the anonymous referees who went above and beyond the call of duty to give us very precise, detailed and very helpful assistance on earlier drafts of this article.


  1. Am, Sampaio, R., Chitchyan, R., Rashid, A., Rayson, P.: EA-Miner: a tool for automating aspect-oriented requirements identification. Paper presented at the Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering, Long Beach, CA, USA (2005)Google Scholar
  2. Ambler, S.W.: Essential (Low Fidelity) User Interface Prototypes. (2003–2009). Accessed 20 April 2010
  3. Ambler, S.W.: The Object Primer: Agile Model-Driven Development with UML 2.0, 3rd edn. Cambridge University Press, New York (2004)CrossRefGoogle Scholar
  4. Bjork, R.C.: Use Cases for Example ATM System. (June 1998). Accessed February 2009
  5. Biddle, R., Noble, J., Tempero, E.: Essential use cases and responsibility in object-oriented development. Aust. Comput. Sci. Commun. 24(1), 7–16 (2002)Google Scholar
  6. Biddle, R., Noble, J., Tempero.E.: Pattern for Essential Use Cases (C. science, Trans.) (Vol. CS-TR-01/02). Wellington, Victoria University of Wellington (2000)Google Scholar
  7. Blackwell, A., Britton, C., Cox, A., Green, T., Gurr, C., Kadoda, G., Young, R.: Cognitive dimensions of notations: design tools for cognitive technology. In: Beynon, M., Nehaniv, C., Dautenhahn, K. (eds.) Cognitive Technology: Instruments of Mind, vol. 2117, pp. 325–341. Springer, Berlin (2001)CrossRefGoogle Scholar
  8. Blackwell, T.G.a.A.: Cognitive Dimensions of Information Artefacts:a tutorial. Version 1.2. (1998)
  9. Buskirk, V.R., Moroney, B.W.: Extending prototyping. IBM Syst. J. 42(4), 613–623 (2003)CrossRefGoogle Scholar
  10. Constantine, L.L.: Rapid abstract prototyping. Softw. Dev. 6(11), (1998)Google Scholar
  11. Constantine, L.L., Lockwood, A.D.L.: Structure and style in use cases for user interface design. In: Object modeling and user interface design: designing interactive systems, Addison-Wesley, Longman Publishing Co., Inc., pp. 245–279 (2001)Google Scholar
  12. Constantine, L.L., Lockwood, L.A.D.: Software for Use: A Practical Guide to the Models and Methods of Usage-Centered Design. ACM Press/Addison-Wesley Publishing Co, New York (1999)Google Scholar
  13. Constantine, L.L., Lockwood, A.D.L.: Usage-centered software engineering: an agile approach to integrating users, user interfaces, and usability into software engineering practice. In: Proceedings 25th International Conference on Software Engineering, Portland, Oregon (2003)Google Scholar
  14. Corporation, B.S.: CaliberRM\(^{\rm TM}\) Enterprise Software Requirements Management System. (2011). Accessed 08 February 2011
  15. Cristian, B.: Generating an Abstract User Interface from a Discourse Model Inspired by Human Communication (2008)Google Scholar
  16. Dardenne, A., Van Lamsweerde, A., Fickas, S.: Goal-directed requirements acquisition. Sci. Comput. Program. 20(1), 3–50 (1993)CrossRefzbMATHGoogle Scholar
  17. Denger, C., Berry, D. M., Kamsties, E.: Higher quality requirements specifications through natural language patterns. Paper presented at the Proceedings of the IEEE International Conference on Software-Science, Technology \(\backslash \) & Engineering, IEEE Computer Society, pp. 80.80-7695-2047-7692 (2003)Google Scholar
  18. Egyed, A.: Scalable consistency checking between diagrams-The ViewIntegra Approach. In: Proceedings of the 16th IEEE International Conference on Automated Software Engineering, IEEE Computer Society, p. 387 (2001)Google Scholar
  19. Evans, G.: Getting from use cases to code, Part 1: Use-Case Analysis. Retrieved January 2009
  20. Fabbrini, F., Fusani, M., Gnesi, S., Lami, G.: The linguistic approach to the natural language requirements quality: benefit of the use of an automatic tool. Paper presented at the Software Engineering Workshop, 2001. Proceedings of the 26th Annual NASA Goddard (2001)Google Scholar
  21. Geisser, M., Hildenbrand, T., Riegel, N.: Evaluating the Applicability of Requirements Engineering Tools for Distributed Software Development (D. o. I. S. 1, Trans.) Working Paper 2/2007 (Working Papers in Information Systems ed.). University of Mannheim, Germany 2007Google Scholar
  22. Gervasi, V., Zowghi, D.: Reasoning about inconsistencies in natural language requirements. ACM Trans. Softw. Eng. Methodol. 14(3), 277–330 (2005)CrossRefGoogle Scholar
  23. Glinz, M.: A lightweight approach to consistency of scenarios and class models. In: Proceedings of the 4th International Conference on Requirements Engineering 2000, pp. 49–58 (2000)Google Scholar
  24. Grundy, J. C., Hosking, Huh, J., Li, N.: Marama: an eclipse meta-toolset for generating multi-view environments. Paper Presented at the 2008 IEEE/ACM International Conference on Software Engineering, Liepzig, Germany (2008)Google Scholar
  25. Guerra, E., de Lara, J., Wimmer, M., Kappel, G., Kusel, A., Retschitzegger, W., Schwinger, W.: Automated verification of model transformations based on visual contracts. Automat. Softw. Eng., pp. 1–42, doi: 10.1007/s10515-012-0102-y
  26. Horton, T.: Example Use Cases for PARTS. Accessed February 2009
  27. Hull, E., Jackson, K., Dick, J.: DOORS: A Tool to Manage Requirements Requirements Engineering, pp. 173–189. Springer, London (2005)Google Scholar
  28. Huzar, Z., Kuzniarz, L., Reggio, G., Sourrouille, J.L.: Consistency Problems in UML-Based Software Development UML Modeling Languages and Applications. Springer, Berlin, pp. 1–12 (2005)Google Scholar
  29. IBM. Rational RequisitePro A requirements management tool. Accessed 13 February 2011
  30. Inc., S.S.: Serena. Requirements Management The Proven Way to Accelerate Development. (2011). Accessed 14 February 2011
  31. Jacobson, I., Booch, G., Rumbaugh, J.: The unified software development process. Addison-Wesley, Reading (1999)Google Scholar
  32. Kim, J., Park, S., Sugumaran, V.: Improving use case driven analysis using goal and scenario authoring: a linguistics-based approach. Data Knowl. Eng. 58, 21–46 (2006)CrossRefGoogle Scholar
  33. Kamalrudin, M., Grundy, J., Hosking, J.: Tool support for essential use cases to better capture software requirements. Paper presented at the 25th IEEE/ACM International Conference on Automated Software Engineering, Antwerp, Belgium, 20–24 September 2010Google Scholar
  34. Kamalrudin, M., Grundy, J.: Generating essential user interface prototypes to validate requirements. Paper presented at the Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering (2011)Google Scholar
  35. Kamalrudin, M., Ahmad, S.S., Sidek, S., Daud, N.: A review of requirements engineering tools for requirements validation software engineering process. Int. J. Softw. Eng. IJSET, 1, (2014)Google Scholar
  36. Kamalrudin, M., Grundy, J., Hosking, J.: MaramaAI: tool support for capturing and managing consistency of multi-lingual requirements. In: 27th Automated software Engineering Conference, Essen, Germany (2012)Google Scholar
  37. Kotonya, G., Sommerville, I.: Requirement Engineering Process and Techniques. Wiley, West Sussex (1998)Google Scholar
  38. Kovacevic, S. UML and User Interface Modeling The Unified Modeling Language. « UML »’98: Beyond the Notation, pp. 514–514 (1999)Google Scholar
  39. Kutar, M., Britton, C., Wilson, J.: Cognitive dimensions an experience report. Paper presented at the Twelfth Annual Meeting ofthe Psychology of Programming Interest Group, Memoria, Cozenza Italy (2000)Google Scholar
  40. Lund, A.: USE Questionnaire Resource Page. (1998). Retrieved February 2010
  41. Lamport, L.: Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers. Addison-Wesley Longman Publishing Co., Inc., Boston (2002)Google Scholar
  42. Lamsweerde, A.V., Darimont, R., Letier, R.: Managing conflicts in goal-driven requirements engineering, IEEE Transactions Software Engineering, vol. 24, pp. 908–926 (1998)Google Scholar
  43. Lopez-Herrejon, R.E., Egyed, A.: Towards fixing inconsistencies in models with variability. Paper presented at the Proceedings of the Sixth International Workshop on Variability Modeling of Software-Intensive Systems. Leipzig, Germany (2012)Google Scholar
  44. Litvak, B.,Tyszberowicz, S., Yehudai, A.: Behavioral consistency validation of UML diagrams. In: Proceedings First International Conference on Software Engineering and Formal Methods 2003. Brisbane, Australia, pp. 118–125 (2003)Google Scholar
  45. Nentwich, C., Wolfgang, E., Anthony, F.: Consistency management with repair actions. Paper presented at the Proceedings of the 25th International Conference on Software Engineering, Portland, Oregon (2003)Google Scholar
  46. Nguyen, T.H., Vo, B.Q., Lumpe, M., Grundy, J.: REInDetector: a framework for knowledge-based requirements engineering. Paper presented at the Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering, Essen, Germany (2012)Google Scholar
  47. Nuseibeh, B., Easterbrook, S., Russo, A.: Leveraging inconsistency in software development. Computer 33(4), 24–29 (2000)CrossRefGoogle Scholar
  48. Perrouin, G., Brottier, E., Baudry, B., Le Traon, Y.: Composing Models for Detecting Inconsistencies: A Requirements Engineering Perspective Requirements Engineering: Foundation for Software Quality. Springer Berlin, pp. 89–103 (2009)Google Scholar
  49. Reder, A., Egyed, A.: Incremental consistency checking for complex design rules and larger model changes. In: France, R., Kazmeier, J., Breu, R., Atkinson, C. (eds.) Model Driven Engineering Languages and Systems, vol. 7590, pp. 202–218. Springer, Berlin (2012)CrossRefGoogle Scholar
  50. Robertson, S., Robertson, J.: Mastering the Requirements Process, 2nd edn. Addison-Wesley Professional, Boston (2006)Google Scholar
  51. Sardinha, A., Chitchyan, R., Weston, N., Greenwood, P., Rashid, A.: EA-Analyzer: automating conflict detection in a large set of textual aspect-oriented requirements. Autom. Softw. Eng. 20(1), 111–135 (2013)CrossRefGoogle Scholar
  52. Satyajit, A., Hrushikesha, M., George, C.: Domain consistency in requirements specification. In: Fifth International Conference on Quality Software, 2005 (QSIC 2005). pp. 231–238, 1550–6002 (2005)Google Scholar
  53. Some, S.S.: Use cases based requirements validation with scenarios. Paper presented at the Proceedings 13th IEEE International Conference in Requirements Engineering 2005 (2005)Google Scholar
  54. Tjong, S. F., Hallam, N., Hartley, M. : Improving the quality of natural language requirements specifications through natural language requirements patterns. Paper presented at The Sixth IEEE International Conference Computer and Information Technology, CIT ’06 (2006)Google Scholar
  55. Yijun, Y.: From goals to aspects: discovering aspects from requirements goal models. In: Proceedings of the 12th IEEE International Requirements Engineering Conference 2004, 6–11 Sept. 2004Google Scholar
  56. Yu, E. S.: Towards modelling and reasoning support for early-phase requirements engineering. In: Proceedings of the Third IEEE International Symposium Requirements Engineering, 1997, pp. 226–235 (1997)Google Scholar
  57. Yue, T., Briand, L.C., Labiche, Y.: aToucan: an automated framework to derive UML analysis models from use case models. ACM Trans. Softw. Eng. Methodol. 24(3), 13 (2015)CrossRefGoogle Scholar
  58. Yufei, X., Tao, T., Tianhua, X., Lin, Z.: Research on requirement management for complex systems. Paper presented at the 2nd International Conference Computer Engineering and Technology (ICCET), 2010, 16–18 April 2010, (2010)Google Scholar
  59. Zisman, G.S.a.A.: Handbook of Software Engineering and Knowledge Engineering. In: S. K. Chang (Ed.), Vol. 1, pp. 329–380, World Publishing co., Singapore (2001)Google Scholar
  60. Zowghi, D., Gervasi, V.: On the interplay between consistency, completeness, and correctness in requirements evolution, Information and Software Technology, vol. 45, pp. 993–1009 (2003)Google Scholar
  61. Zhang, G.: Aspect-oriented modeling of mutual exclusion in UML state machines. ECMFA 2012, 162–177 (2012)Google Scholar

Copyright information

© Springer Science+Business Media New York 2016

Authors and Affiliations

  1. 1.Innovative Software System & Services GroupUniversiti Teknikal Malaysia MelakaMelakaMalaysia
  2. 2.Faculty of ScienceUniversity of AucklandAucklandNew Zealand
  3. 3.School of Software and Electrical EngineeringSwinburne University of TechnologyHawthornAustralia

Personalised recommendations