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.
- 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 ScholarDigital Library
- Luigi Atzori, Antonio Iera, and Giacomo Morabito. 2010. The internet of things: A survey. Computer Networks 54, 15 (Oct 2010), 2787--2805. Google ScholarDigital Library
- 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 ScholarDigital Library
- Eerke Boiten, Howard Bowman, John Derrick, Peter Linington, and Maarten Steen. 2000. Viewpoint consistency in {ODP}. Computer Networks 34, 3 (2000), 503--537. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- Edmund M. Clarke, Jr., Orna Grumberg, and Doron A. Peled. 1999. Model Checking. MIT Press, Cambridge, MA. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- David Frankel. 2002. Model Driven Architecture: Applying MDA to Enterprise Computing. John Wiley 8 Sons, Inc., New York, NY. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- G. Goth. 2008. Ultralarge systems: Redefining software engineering? Software, IEEE 25, 3 (May 2008), 91--94. Google ScholarDigital Library
- Henri Habrias and Marc Frappier. 2006. Software Specification Methods - An Overview Using a Case Study. ISTE Ltd., London, UK.Google Scholar
- David Harel. 1987. Statecharts: A visual formalism for complex systems. Science of Computer Programming 8, 3 (1987), 231--274. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Barbara Kitchenham. 2004. Procedures for performing systematic reviews. Keele, UK, Keele University 33, 2004 (2004), 1--26.Google Scholar
- 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 ScholarDigital Library
- Barbara Kitchenham, David Budgen, and Pearl Brereton. 2015. Evidence-Based Software Engineering, Empirical SE, Software Design. CRC Press, Boca Raton, FL.Google Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- MathWorks. 2015. Stateflow®: Model and simulate decision logic using state machines and flow charts. Retrieved from http://www.mathworks.com/products/stateflow.Google Scholar
- Tom Mens and Pieter Van Gorp. 2006. A taxonomy of model transformation. Electronic Notes Theoretical Computer Science 152 (March 2006), 125--142. Google ScholarDigital Library
- Gero Mühl, Ludger Fiege, and Peter Pietzuch. 2006. Distributed Event-Based Systems. Springer, Secaucus, NJ.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- Nayan B. Ruparelia. 2010. Software development lifecycle models. SIGSOFT Software Engineering Notes 35, 3 (May 2010), 8--13. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- Thomas Stahl and Markus Völter. 2006. Model-Driven Software Development: Technology, Engineering, Management. John Wiley 8 Sons, Hoboken, NJ. Google ScholarDigital Library
- 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 ScholarDigital Library
- Wil M. P. van der Aalst. 2013. Business process management: A comprehensive survey. ISRN Software Engineering 2013 (2013), 1--37.Google ScholarCross Ref
- Ragnhild Van der Straeten. 2005. Inconsistency Management in Model-Driven Engineering. Ph.D. Dissertation. Vrije University Brussel, Dept. of Computer Science.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
Index Terms
- Systematic Review of Software Behavioral Model Consistency Checking
Recommendations
A systematic review of UML model consistency management
Information System (IS) development has been beset by consistency problems since its infancy. These problems are greater still in UML software development, and are principally caused by the existence of multiple views (models) for the same system, and ...
Consistency Checking of Multiviews Based on Agent
CIT '04: Proceedings of the The Fourth International Conference on Computer and Information TechnologyConsistency checking of intra-viewpoint and inter-viewpoint is very important in viewpoint-oriented requirements engineering, and the automatic check of these two kinds of consistency is rather difficult. Based on the researches of multiple viewpoint ...
Guidelines for snowballing in systematic literature studies and a replication in software engineering
EASE '14: Proceedings of the 18th International Conference on Evaluation and Assessment in Software EngineeringBackground: Systematic literature studies have become common in software engineering, and hence it is important to understand how to conduct them efficiently and reliably.
Objective: This paper presents guidelines for conducting literature reviews using ...
Comments