Skip to main content
Log in

MaramaAIC: tool support for consistency management and validation of requirements

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17

Similar content being viewed by others

References

  • 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)

  • Ambler, S.W.: Essential (Low Fidelity) User Interface Prototypes. http://www.agilemodeling.com/artifacts/essentialUI.htm (2003–2009). Accessed 20 April 2010

  • Ambler, S.W.: The Object Primer: Agile Model-Driven Development with UML 2.0, 3rd edn. Cambridge University Press, New York (2004)

    Book  Google Scholar 

  • Bjork, R.C.: Use Cases for Example ATM System. http://www.math-cs.gordon.edu/courses/cs320/ATM_Example/UseCases.html (June 1998). Accessed February 2009

  • 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 

  • 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)

  • 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)

    Chapter  Google Scholar 

  • Blackwell, T.G.a.A.: Cognitive Dimensions of Information Artefacts:a tutorial. Version 1.2. https://www.cl.cam.ac.uk/~afb21/CognitiveDimensions/CDtutorial.pdf (1998)

  • Buskirk, V.R., Moroney, B.W.: Extending prototyping. IBM Syst. J. 42(4), 613–623 (2003)

    Article  Google Scholar 

  • Constantine, L.L.: Rapid abstract prototyping. Softw. Dev. 6(11), (1998)

  • 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)

  • 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 

  • 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)

  • Corporation, B.S.: CaliberRM\(^{\rm TM}\) Enterprise Software Requirements Management System. http://www.borland.com/us/products/caliber/index.html (2011). Accessed 08 February 2011

  • Cristian, B.: Generating an Abstract User Interface from a Discourse Model Inspired by Human Communication (2008)

  • Dardenne, A., Van Lamsweerde, A., Fickas, S.: Goal-directed requirements acquisition. Sci. Comput. Program. 20(1), 3–50 (1993)

    Article  MATH  Google Scholar 

  • 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)

  • 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)

  • Evans, G.: Getting from use cases to code, Part 1: Use-Case Analysis. http://www.ibm.com/developerworks/rational/library/5383.html. Retrieved January 2009

  • 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)

  • 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 2007

  • Gervasi, V., Zowghi, D.: Reasoning about inconsistencies in natural language requirements. ACM Trans. Softw. Eng. Methodol. 14(3), 277–330 (2005)

    Article  Google Scholar 

  • 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)

  • 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)

  • 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

  • Horton, T.: Example Use Cases for PARTS. http://www.cs.virginia.edu/~horton/cs494/examples/parts/usecases-ex1.html. Accessed February 2009

  • Hull, E., Jackson, K., Dick, J.: DOORS: A Tool to Manage Requirements Requirements Engineering, pp. 173–189. Springer, London (2005)

    Google Scholar 

  • 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)

  • IBM. Rational RequisitePro A requirements management tool. http://www-01.ibm.com/software/awdtools/reqpro/. Accessed 13 February 2011

  • Inc., S.S.: Serena. Requirements Management The Proven Way to Accelerate Development. http://www.serena.com/docs/repository/products/rm/wp900-001-0505.pdf (2011). Accessed 14 February 2011

  • Jacobson, I., Booch, G., Rumbaugh, J.: The unified software development process. Addison-Wesley, Reading (1999)

    Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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 2010

  • 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)

  • 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)

  • 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)

  • Kotonya, G., Sommerville, I.: Requirement Engineering Process and Techniques. Wiley, West Sussex (1998)

    Google Scholar 

  • Kovacevic, S. UML and User Interface Modeling The Unified Modeling Language. « UML »’98: Beyond the Notation, pp. 514–514 (1999)

  • 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)

  • Lund, A.: USE Questionnaire Resource Page. http://usesurvey.com/IntroductionToUse.html (1998). Retrieved February 2010

  • Lamport, L.: Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers. Addison-Wesley Longman Publishing Co., Inc., Boston (2002)

    Google Scholar 

  • Lamsweerde, A.V., Darimont, R., Letier, R.: Managing conflicts in goal-driven requirements engineering, IEEE Transactions Software Engineering, vol. 24, pp. 908–926 (1998)

  • 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)

  • 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)

  • 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)

  • 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)

  • Nuseibeh, B., Easterbrook, S., Russo, A.: Leveraging inconsistency in software development. Computer 33(4), 24–29 (2000)

    Article  Google Scholar 

  • 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)

  • 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)

    Chapter  Google Scholar 

  • Robertson, S., Robertson, J.: Mastering the Requirements Process, 2nd edn. Addison-Wesley Professional, Boston (2006)

    Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

  • Scenario examples: http://www.opensrs.com/resources/documentation/sync/scenarioexamples.htm. Accessed February 2009

  • Some, S.S.: Use cases based requirements validation with scenarios. Paper presented at the Proceedings 13th IEEE International Conference in Requirements Engineering 2005 (2005)

  • 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)

  • 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. 2004

  • 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)

  • 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)

    Article  Google Scholar 

  • 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)

  • 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)

  • 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)

  • Zhang, G.: Aspect-oriented modeling of mutual exclusion in UML state machines. ECMFA 2012, 162–177 (2012)

    Google Scholar 

Download references

Acknowledgments

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.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Massila Kamalrudin.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Kamalrudin, M., Hosking, J. & Grundy, J. MaramaAIC: tool support for consistency management and validation of requirements. Autom Softw Eng 24, 1–45 (2017). https://doi.org/10.1007/s10515-016-0192-z

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10515-016-0192-z

Keywords

Navigation