skip to main content
survey

Systematic Review of Software Behavioral Model Consistency Checking

Authors Info & Claims
Published:11 April 2017Publication History
Skip Abstract Section

Abstract

In software development, models are often used to represent multiple views of the same system. Such models need to be properly related to each other in order to provide a consistent description of the developed system. Models may contain contradictory system specifications, for instance, when they evolve independently. Therefore, it is very crucial to ensure that models conform to each other. In this context, we focus on consistency checking of behavior models. Several techniques and approaches have been proposed in the existing literature to support behavioral model consistency checking. This article presents a Systematic Literature Review (SLR) that was carried out to obtain an overview of the various consistency concepts, problems, and solutions proposed regarding behavior models. In our study, the identification and selection of the primary studies was based on a well-planned search strategy. The search process identified a total of 1770 studies, out of which 96 have been thoroughly analyzed according to our predefined SLR protocol. The SLR aims to highlight the state-of-the-art of software behavior model consistency checking and identify potential gaps for future research. Based on research topics in selected studies, we have identified seven main categories: targeted software models, types of consistency checking, consistency checking techniques, inconsistency handling, type of study and evaluation, automation support, and practical impact. The findings of the systematic review also reveal suggestions for future research, such as improving the quality of study design and conducting evaluations, and application of research outcomes in industrial settings. For this purpose, appropriate strategy for inconsistency handling, better tool support for consistency checking and/or development tool integration should be considered in future studies.

References

  1. Vander Alves, Nan Niu, Carina Alves, and George Valença. 2010. Requirements engineering for software product lines: A systematic literature review. Information and Software Technology 52, 8 (Aug. 2010), 806--820. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Luigi Atzori, Antonio Iera, and Giacomo Morabito. 2010. The internet of things: A survey. Computer Networks 54, 15 (Oct 2010), 2787--2805. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Victor R. Basili and David M. Weiss. 1984. A methodology for collecting valid software engineering data. IEEE Transactions on Software Engineering 10, 6 (Nov. 1984), 728--738. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Eerke Boiten, Howard Bowman, John Derrick, Peter Linington, and Maarten Steen. 2000. Viewpoint consistency in {ODP}. Computer Networks 34, 3 (2000), 503--537. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Pearl Brereton, Barbara A. Kitchenham, David Budgen, Mark Turner, and Mohamed Khalil. 2007. Lessons from applying the systematic literature review process within the software engineering domain. Journal of Systems and Software 80, 4 (2007), 571--583. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. David Budgen, Andy J. Burn, O. Pearl Brereton, Barbara A. Kitchenham, and Rialette Pretorius. 2011. Empirical evidence about the UML: A systematic literature review. Software: Practice and Experience. 41, 4 (April 2011), 363--392. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Lianping Chen and Muhammad Ali Babar. 2011. A systematic review of evaluation of variability management approaches in software product lines. Information and Software Technology 53, 4 (2011), 344--362. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. E. M. Clarke, William Klieber, M. Nováček, and P. Zuliani. 2011. Model checking and the state explosion problem. In International Summer School on Tools for Practical Software Verification (LASER) - Revised Tutorial Lectures. Springer, 1--30.Google ScholarGoogle Scholar
  9. Edmund M. Clarke, Jr., Orna Grumberg, and Doron A. Peled. 1999. Model Checking. MIT Press, Cambridge, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Gregor Engels, Jochem M. Küster, Reiko Heckel, and Luuk Groenewegen. 2001. A methodology for specifying and analyzing consistency of object-oriented behavioral models. In Proceedings of the 8th European Software Engineering Conference, Held jointly with 9th ACM SIGSOFT International Symposium on Foundations of Software Engineering (ESEC/FSE). ACM, New York, NY, 186--195. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Rik Eshuis and Paul Grefen. 2007. Structural matching of BPEL processes. In Proceedings of the 5th European Conference on Web Services (ECOWS’07). IEEE, 171--180. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Anthony Finkelsteiin, Dov M. Gabbay, Anthony Hunter, Jeff Kramer, and Bashar Nuseibeh. 1993. Inconsistency handling in multi-perspective specifications. In Proceedings of the 4th European Software Engineering Conference on Software Engineering (ESEC’93). Springer-Verlag, Berlin, 84--99. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Pascal Fradet, Daniel Le Métayer, and Michaël Périn. 1999. Consistency checking for multiple view software architectures. ACM SIGSOFT Software Engineering Notes 24, 6 (Nov. 1999), 410--428. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. David Frankel. 2002. Model Driven Architecture: Applying MDA to Enterprise Computing. John Wiley 8 Sons, Inc., New York, NY. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Matthias Galster, Danny Weyns, Dan Tofan, Bartosz Michalik, and Paris Avgeriou. 2014. Variability in software systems--A systematic literature review. IEEE Transactions on Software Engineering 40, 3 (March 2014), 282--306. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Dimitra Giannakopoulou and Klaus Havelund. 2001. Runtime Analysis of Linear Temporal Logic Specifications. Technical Report August. Research Institute for Advanced Computer Science. 1--11 pages. Google ScholarGoogle Scholar
  17. Stijn Goedertier, Jan Vanthienen, and Filip Caron. 2015. Declarative business process modelling: principles and modelling languages. Enterprise Information Systems 9, 2 (2015), 161--185. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. G. Goth. 2008. Ultralarge systems: Redefining software engineering? Software, IEEE 25, 3 (May 2008), 91--94. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Henri Habrias and Marc Frappier. 2006. Software Specification Methods - An Overview Using a Case Study. ISTE Ltd., London, UK.Google ScholarGoogle Scholar
  20. David Harel. 1987. Statecharts: A visual formalism for complex systems. Science of Computer Programming 8, 3 (1987), 231--274. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Zbigniew Huzar, Ludwik Kuzniarz, Gianna Reggio, and Jean Louis Sourrouille. 2005. Consistency problems in UML-based software development. In Proceedings of the International Conference on UML Modeling Languages and Applications (UML) Satellite Activities -- Revised Selected Papers. Springer, Berlin, 1--12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Martin Ivarsson and Tony Gorschek. 2011. A method for evaluating rigor and industrial relevance of technology evaluations. Empirical Software Engineering 16, 3 (2011), 365--395. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Barbara Kitchenham. 2004. Procedures for performing systematic reviews. Keele, UK, Keele University 33, 2004 (2004), 1--26.Google ScholarGoogle Scholar
  24. Barbara Kitchenham and Pearl Brereton. 2013. A systematic review of systematic review process research in software engineering. Information and Software Technology 55, 12 (2013), 2049--2075. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Barbara Kitchenham, David Budgen, and Pearl Brereton. 2015. Evidence-Based Software Engineering, Empirical SE, Software Design. CRC Press, Boca Raton, FL.Google ScholarGoogle Scholar
  26. Barbara Kitchenham and Stuart Charters. 2007. Guidelines for Performing Systematic Literature Reviews in Software Engineering. Technical Report EBSE 2007-001. Keele University and Durham University Joint Report.Google ScholarGoogle Scholar
  27. Barbara Kitchenham, O. Pearl Brereton, David Budgen, Mark Turner, John Bailey, and Stephen Linkman. 2009. Systematic literature reviews in software engineering - A systematic literature review. Information and Software Technology 51, 1 (Jan. 2009), 7--15. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Francisco J. Lucas, Fernando Molina, and Ambrosio Toval. 2009. A systematic review of UML model consistency management. Information and Software Technology 51, 12 (Dec. 2009), 1631--1645. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Frank D. Macías-Escrivá, Rodolfo Haber, Raul Del Toro, and Vicente Hernandez. 2013. Self-adaptive systems: A survey of current approaches, research challenges and applications. Expert Systems with Applications 40, 18 (Dec. 2013), 7267--7279.Google ScholarGoogle ScholarCross RefCross Ref
  30. MathWorks. 2015. Stateflow®: Model and simulate decision logic using state machines and flow charts. Retrieved from http://www.mathworks.com/products/stateflow.Google ScholarGoogle Scholar
  31. Tom Mens and Pieter Van Gorp. 2006. A taxonomy of model transformation. Electronic Notes Theoretical Computer Science 152 (March 2006), 125--142. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Gero Mühl, Ludger Fiege, and Peter Pietzuch. 2006. Distributed Event-Based Systems. Springer, Secaucus, NJ.Google ScholarGoogle Scholar
  33. OASIS. 2007. Web Services Business Process Execution Language Version 2.0. Retrieved from http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html.Google ScholarGoogle Scholar
  34. OMG. 2011a. Business Process Model and Notation (BPMN) Version 2.0.2. Retrieved from http://www.omg.org/spec/BPMN/2.0.2/PDF.Google ScholarGoogle Scholar
  35. OMG. 2011b. OMG Unified Modeling LanguageTM (OMG UML), Superstructure, Version 2.4.1. Retrieved from http://www.omg.org/spec/UML/2.4.1/Superstructure/PDF.Google ScholarGoogle Scholar
  36. Nayan B. Ruparelia. 2010. Software development lifecycle models. SIGSOFT Software Engineering Notes 35, 3 (May 2010), 8--13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. August-Wilhelm Scheer and Markus Nüttgens. 2000. ARIS architecture and reference models for business process management. In Business Process Management, Models, Techniques, and Empirical Studies. Springer, London, UK, 376--389. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Ian Sommerville, Dave Cliff, Radu Calinescu, Justin Keen, Tim Kelly, Marta Kwiatkowska, John Mcdermid, and Richard Paige. 2012. Large-scale complex IT systems. Communications of the ACM 55, 7 (July 2012), 71--77. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. George Spanoudakis and Andrea Zisman. 2001. Handbook of Software Engineering and Knowledge Engineering. World Scientific, Singapore, Chapter Inconsistency management in software engineering: Survey and open research issues, 329--380.Google ScholarGoogle Scholar
  40. Thomas Stahl and Markus Völter. 2006. Model-Driven Software Development: Technology, Engineering, Management. John Wiley 8 Sons, Hoboken, NJ. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Muhammad Usman, Aamer Nadeem, Tai-hoon Kim, and Eun-suk Cho. 2008. A survey of consistency checking techniques for UML models. In Proceedings of the International Conference on Advanced Software Engineering and Its Applications (ASEA). IEEE, 57--62. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Wil M. P. van der Aalst. 2013. Business process management: A comprehensive survey. ISRN Software Engineering 2013 (2013), 1--37.Google ScholarGoogle ScholarCross RefCross Ref
  43. Ragnhild Van der Straeten. 2005. Inconsistency Management in Model-Driven Engineering. Ph.D. Dissertation. Vrije University Brussel, Dept. of Computer Science.Google ScholarGoogle Scholar
  44. Axel van Lamsweerde, Emmanual Letier, and Robert Darimont. 1998. Managing conflicts in goal-driven requirements engineering. IEEE Transactions on Software Engineering. 24, 11 (Nov. 1998), 908--926. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. He Zhang, Muhammad Ali-Babar, and Paolo Tell. 2011. Identifying relevant studies in software engineering. Information and Software Technology 53, 6 (2011), 625--637. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Systematic Review of Software Behavioral Model Consistency Checking

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in

              Full Access

              • Published in

                cover image ACM Computing Surveys
                ACM Computing Surveys  Volume 50, Issue 2
                March 2018
                567 pages
                ISSN:0360-0300
                EISSN:1557-7341
                DOI:10.1145/3071073
                • Editor:
                • Sartaj Sahni
                Issue’s Table of Contents

                Copyright © 2017 ACM

                Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 11 April 2017
                • Accepted: 1 January 2017
                • Revised: 1 November 2016
                • Received: 1 April 2014
                Published in csur Volume 50, Issue 2

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Qualifiers

                • survey
                • Research
                • Refereed

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader