MaramaAIC: tool support for consistency management and validation of requirements

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.

[1]  Didar Zowghi,et al.  Reasoning about inconsistencies in natural language requirements , 2005, TSEM.

[2]  Gefei Zhang Aspect-Oriented Modeling of Mutual Exclusion in UML State Machines , 2012, ECMFA.

[3]  Lionel C. Briand,et al.  aToucan: An Automated Framework to Derive UML Analysis Models from Use Case Models , 2015, TSEM.

[4]  Alexander Egyed,et al.  Towards fixing inconsistencies in models with variability , 2012, VaMoS '12.

[5]  Nasreddine Hallam,et al.  Improving the Quality of Natural Language Requirements Specifications through Natural Language Requirements Patterns , 2006, The Sixth IEEE International Conference on Computer and Information Technology (CIT'06).

[6]  Sooyong Park,et al.  Improving use case driven analysis using goal and scenario authoring: A linguistics-based approach , 2006, Data Knowl. Eng..

[7]  Jeremy Dick,et al.  DOORS: A Tool to Manage Requirements , 2010 .

[8]  John C. Grundy,et al.  Marama: an eclipse meta-toolset for generating multi-view environments , 2008, ICSE '08.

[9]  Tao Tang,et al.  Research on requirement management for complex systems , 2010, 2010 2nd International Conference on Computer Engineering and Technology.

[10]  John C. Grundy,et al.  Generating essential user interface prototypes to validate requirements , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

[11]  Ewan D. Tempero,et al.  Essential Use Cases and Responsibility in Object-Oriented Development , 2002, ACSC.

[12]  Suzanne Robertson,et al.  Mastering the Requirements Process (2nd Edition) , 2006 .

[13]  Markus Lumpe,et al.  REInDetector: a framework for knowledge-based requirements engineering , 2012, 2012 Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering.

[14]  Wolfgang Emmerich,et al.  Consistency management with repair actions , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[15]  Axel van Lamsweerde,et al.  Managing Conflicts in Goal-Driven Requirements Engineering , 1998, IEEE Trans. Software Eng..

[16]  Franz Rothlauf,et al.  An Evaluation Method for Requirements Engineering Approaches in Distributed Software Development Projects , 2007, International Conference on Software Engineering Advances (ICSEA 2007).

[17]  Stefanie Seiler Software For Use A Practical Guide To The Models And Methods Of Usage Centered Design , 2016 .

[18]  Maria Kutar,et al.  Cognitive Dimensions: An experience report , 2000, PPIG.

[19]  Eric S. K. Yu,et al.  Towards modelling and reasoning support for early-phase requirements engineering , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[20]  Ruzanna Chitchyan,et al.  EA-Analyzer: automating conflict detection in a large set of textual aspect-oriented requirements , 2012, Automated Software Engineering.

[21]  Michael Rovatsos,et al.  Handbook of Software Engineering and Knowledge Engineering , 2005 .

[22]  Ruzanna Chitchyan,et al.  EA-Miner: a tool for automating aspect-oriented requirements identification , 2005, ASE.

[23]  Larry Constantine Rapid Abstract Prototyping , 2002 .

[24]  Yves Le Traon,et al.  Composing Models for Detecting Inconsistencies: A Requirements Engineering Perspective , 2009, REFSQ.

[25]  Didar Zowghi,et al.  On the interplay between consistency, completeness, and correctness in requirements evolution , 2003, Inf. Softw. Technol..

[26]  Gianna Reggio,et al.  Consistency Problems in UML-Based Software Development , 2004, UML Satellite Activities.

[27]  Yijun Yu,et al.  From goals to aspects: discovering aspects from requirements goal models , 2004, Proceedings. 12th IEEE International Requirements Engineering Conference, 2004..

[28]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[29]  Alexander Egyed,et al.  Scalable consistency checking between diagrams - the VIEWINTEGRA approach , 2001, Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001).

[30]  Scott W. Ambler,et al.  The Object Primer: Agile Model-Driven Development with UML 2.0 , 2004 .

[31]  Larry Constantine,et al.  Structure and style in use cases for user interface design , 2001 .

[32]  Hermann Kaindl,et al.  Generating an Abstract User Interface from a Discourse Model Inspired by Human Communication , 2008, Proceedings of the 41st Annual Hawaii International Conference on System Sciences (HICSS 2008).

[33]  Brian W. Moroney,et al.  Extending prototyping , 2003, IBM Syst. J..

[34]  Srdjan Kovacevic,et al.  UML and User Interface Modeling , 1998, UML.

[35]  Amiram Yehudai,et al.  Behavioral consistency validation of UML diagrams , 2003, First International Conference onSoftware Engineering and Formal Methods, 2003.Proceedings..

[36]  Stephen Fickas,et al.  Goal-Directed Requirements Acquisition , 1993, Sci. Comput. Program..

[37]  Suzanne Robertson,et al.  Mastering the Requirements Process , 1999 .

[38]  John C. Grundy,et al.  Tool support for essential use cases to better capture software requirements , 2010, ASE '10.

[39]  Larry L. Constantine,et al.  Usage-centered software engineering: an agile approach to integrating users, user interfaces, and usability into software engineering practice , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[40]  Michael Geisser,et al.  Evaluating the Applicability of Requirements Engineering Tools for Distributed Software Development , 2007 .

[41]  Alan F. Blackwell,et al.  Cognitive Dimensions of Information Artefacts: a tutorial , 1998 .

[42]  Martin Glinz,et al.  A lightweight approach to consistency of scenarios and class models , 2000, Proceedings Fourth International Conference on Requirements Engineering. ICRE 2000. (Cat. No.98TB100219).

[43]  Maria Kutar,et al.  Cognitive Dimensions of Notations: Design Tools for Cognitive Technology , 2001, Cognitive Technology.

[44]  James Noble,et al.  Patterns for Essential Use Cases , .

[45]  Gerti Kappel,et al.  Automated verification of model transformations based on visual contracts , 2013, Automated Software Engineering.

[46]  Bashar Nuseibeh,et al.  Leveraging Inconsistency in Software Development , 2000, Computer.

[47]  Erik Kamsties,et al.  Higher quality requirements specifications through natural language patterns , 2003, Proceedings 2003 Symposium on Security and Privacy.

[48]  Leslie Lamport,et al.  Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers [Book Review] , 2002, Computer.

[49]  Stefania Gnesi,et al.  The linguistic approach to the natural language requirements quality: benefit of the use of an automatic tool , 2001, Proceedings 26th Annual NASA Goddard Software Engineering Workshop.

[50]  John Grundy,et al.  MaramaAI: tool support for capturing and managing consistency of multi-lingual requirements , 2012, 2012 Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering.

[51]  Alexander Egyed,et al.  Incremental consistency checking for complex design rules and larger model changes , 2012, MODELS'12.

[52]  Hrushikesha Mohanty,et al.  Domain consistency in requirements specification , 2005, Fifth International Conference on Quality Software (QSIC'05).

[53]  Stéphane S. Somé Use cases based requirements validation with scenarios , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).