ABSTRACT
Context: The Unified Modeling Language (UML), with its 14 different diagram types, is the de-facto standard modeling language for object-oriented modeling and documentation. Since the various UML diagrams describe different aspects of one, and only one, software under development, they are not independent but strongly depend on each other in many ways. In other words, the UML diagrams describing a software product must be consistent. Inconsistencies between these diagrams may be a source of faults in software systems. It is therefore paramount that these inconsistencies be detected, analyzed and hopefully fixed.
Objective: The aim of this article is to deliver a comprehensive summary of UML consistency rules as they are described in the literature to date to obtain an extensive and detailed overview of the current research in this area.
Method: We performed a Systematic Mapping Study by following well-known guidelines. We selected 95 primary studies from a search with seven search engines performed in December 2012.
Results: Different results are worth mentioning. First it appears that researchers tend to discuss very similar consistency rules, over and over again. Most rules are horizontal (98.10%) and syntactic (88.21%). The most used diagrams are the class diagram (71.58%), the sequence diagram (47.37%) and the state machine diagram (42.11%).
Conclusion: The fact that many rules are duplicated in primary studies confirms the need for a well-accepted list of consistency rules. This paper is a first step in this direction. Results indicate that much more work is needed to develop consistency rules for all 14 UML diagrams, in all dimensions of consistency (e.g., semantic and syntactic on the one hand, horizontal, vertical and evolution on the other hand).
- Mukerji, J., and Miller, J. 2003. Overview and guide to OMG's architecture. MDA Guide V1.0.1. Object Management Group. http://www.omg.org/mda/.Google Scholar
- Thomas, D. 2004. MDA: Revenge of the modelers or UML utopia? IEEE Software. 21, 3, 15--17. Google ScholarDigital Library
- Lucas, F. J., Molina, F., and Toval, A. 2009. A systematic review of UML model consistency management. Information and Software Technology. 51, 12, 1631--1645. Google ScholarDigital Library
- Genero, M., Fernández-Saez, A. M., Nelson, H. J., Poels, G., and Piattini, M. 2011. A Systematic Literature Review on the Quality of UML Models. Journal of Database Management. 22, 3 (July-September 2011), 46--70. Google ScholarDigital Library
- Usman, M., Nadeem, A., Tai-hoon, K., and Eun-suk, C. 2008. A Survey of Consistency Checking Techniques for UML Models. In Proceedings of the Advanced Software Engineering and Its Applications. ASEA 2008. IEEE Computer Society, 57--62. Google ScholarDigital Library
- OMG. 2011. OMG Unified Modeling LanguageTM. Superstructure Version 2.4.1. Object Management Group.Google Scholar
- Ahmad, M. A., and Nadeem, A. 2010. Consistency checking of UML models using Description Logics: A critical review. In Proceedings of the 6th International Conference on Emerging Technologies. ICET '10. IEEE Computer Society, 310--315.Google Scholar
- Alanazi, M. N., and Gustafson, D. A. 2009. Super state analysis for UML state diagrams. In Proceedings of the 2009 WRI World Congress on Computer Science and Information Engineering. CSIE '09. EEE Computer Society, 560--565. Google ScholarDigital Library
- Balaban, M., and Maraee, A. 2006. Consistency of UML class diagrams with hierarchy constraints. In Proceedings of the 6th international Conference on Next Generation Information Technologies and Systems. NGITS'06. Springer, 71--82. Google ScholarDigital Library
- Chen, Z., and Motet, G. 2009. A language-theoretic view on guidelines and consistency rules of UML. In Proceedings of the 5th European Conf. ECMDA-FA '09. Springer, 66--81. Google ScholarDigital Library
- Labiche, Y. 2008. The UML is more than boxes and lines. In Proceedings of the Workshops and Symposia at MODELS 2008. MODELS '08. Springer-Verlag, 375--386.Google Scholar
- Lano, K. 2007. Formal specification using interaction diagrams. In Proceedings of the 5th IEEE International Conference on Software Engineering and Formal Methods. SEFM '07. IEEE Computer Society, 293--301. Google ScholarDigital Library
- Sapna, P. G., and Mohanty, H. 2007. Ensuring consistency in relational repository of UML models. In Proceedings of the 10th International Conference on Information Technology. ICIT '07. IEEE Computer Society, 217--222. Google ScholarDigital Library
- Petre, M. 2013. UML in practice. In Proceedings of the 35th International Conference on Software Engineering. ICSE '13. IEEE Press, 722--731. Google ScholarDigital Library
- Ibrahim, N., Ibrahim, R., Saringat, M. Z., Mansor, D., and Herawan, T. 2011. Consistency rules between UML use case and activity diagrams using logical approach. International Journal of Software Engineering and its Applications. 5, 3, 119--134.Google Scholar
- Simmonds, J., Straeten, R. V., Jonkers, V., and Mens, T. 2004. Maintaining Consistency between UML Models using Description LogicZ. RSTI -- L'Object LMO'04. 10, 2-3, 231--244.Google Scholar
- Muskens, J., Bril, R. J., and Chaudron, M. R. V. 2005. Generalizing Consistency Checking between Software Views. In Proceedings of the 5th Working IEEE/IFIP Conference on Software Architecture. WICSA '05. IEEE Computer Society, 169--180. Google ScholarDigital Library
- Huzar, Z., Kuzniarz, L., Reggio, G., and Sourrouille, J. L. 2005. Consistency problems in UML-based software development. In Proceedings of the International Conference on UML and Applications. UML'04. Springer, 1--12. Google ScholarDigital Library
- Spanoudakis, G., and Zisman, A. 2001. Inconsistency management in software engineering: Survey and open research issues. World Scientific Publishing Co. 329--380.Google Scholar
- Arksey, H., and O'Malley, L. 2005. Scoping studies: towards a methodological framework. International Journal of Social Research Methodology. 8, 1.Google ScholarCross Ref
- Budgen, D., Turner, M., Brereton, P., and Kitchenham, B. 2008. Using mapping studies in software engineering. In Proceedings of the Psychology of Programming Interest Group Workshop. PPIG '08.195--204.Google Scholar
- Kitchenham, B., and Charters, S. 2007. Guidelines for performing systematic literature reviews in software engineering. EBSE-2007-01. Keele University.Google Scholar
- Kalibatiene, D., Vasilecas, O., and Dubauskaite, R. 2013. Rule Based Approach for Ensuring Consistency in Different UML Models. In Proceedings of the 6th SIGSAND/PLAIS EuroSymposium. SIGSAND/PLAIS '03. Springer, 1--16.Google Scholar
- Brereton, P., Kitchenham, B., Budgen, D., Turner, M., and Khalil, M. 2007. Lessons from applying the systematic literature review process within the software engineering domain. Journal of Systems and Software. 80, 4, 571--583. Google ScholarDigital Library
- Torre, D., Labiche, Y., and Genero, M. 2014. UML consistency rules: a systematic mapping study. Tecnical Report. Carleton University. http://squall.sce.carleton.ca/mediawiki/index.php/Technical_reports.Google Scholar
- Mens, T., Van der Straeten, R., and Simmonds, J. 2005. A framework for managing consistency of evolving UML models. In Software Evolution with UML and XML. IGI Publishing, 1--30.Google Scholar
- Engels, G., Hausmann, J. H., and Heckel, R. 2002. Testing the consistency of dynamic UML diagrams. In Integrated Design and Process Technology. IDPT '02.Google Scholar
- Engels, G., Küster, J. M., Heckel, R., and Groenewegen, L. 2001. A methodology for specifying and analyzing consistency of object-oriented behavioral models. Sigsoft Software Engineering Notes. 26, 5, 186--195. Google ScholarDigital Library
- Wieringa, R., Maiden, N. A. M., Mead, N. R., and Rolland, C. 2006. Requirements engineering paper classification and evaluation criteria: a proposal and a discussion. Requirements Eng. 11, 1, 102--107. Google ScholarDigital Library
- ProQuest. 2014. RefWorks - A web-based bibliography and database manager. http://www.refworks.com/.Google Scholar
- Dobing, B., and Parsons, J. 2006. How UML is used. ACM 49, 5, 109--113. Google ScholarDigital Library
- Petersen, K., Feldt, R., Mujtaba, S., and Mattsson, M. 2008. Systematic mapping studies in software engineering. In Proceedings of the 12th International Conference on Evaluation and Assessment in Software Engineering. EASE '08. British Computer Society, 71--80. Google ScholarDigital Library
- Sjoberg, D. I. K., Hannay, J. E., Hansen, O., By Kampenes, V., Karahasanovic, A., Liborg, N.-K., and Rekdal, A. C. 2005. A Survey of Controlled Experiments in Software Engineering. IEEE Trans. Softw. Eng.. 31, 9, 733--753. Google ScholarDigital Library
- Bruegge, B., and Allen H., D. 2009 Object-Oriented Software Engineering Using Uml, Patterns, and Java (3rd ed.). Google ScholarDigital Library
- Kang, S., Kim, H., Baik, J., Choi, H., and Keum, C. 2010. Transformation Rules for Synthesis of UML Activity Diagram from Scenario-Based Specification. In Proceedings of the 34th Annual Computer Software and Applications Conference. COMPSAC '10. IEEE, 431--436. Google ScholarDigital Library
Index Terms
- UML consistency rules: a systematic mapping study
Recommendations
UML Consistency Rules: a Case Study with Open-Source UML Models
FormaliSE '20: Proceedings of the 8th International Conference on Formal Methods in Software EngineeringUML models are standard artifacts used by software engineers for designing software. As software is designed, different UML diagram types (e.g., class diagrams and sequence diagrams) are produced by software designers. Since the various UML diagram ...
On collecting and validating UML consistency rules: a research proposal
EASE '14: Proceedings of the 18th International Conference on Evaluation and Assessment in Software EngineeringThe main aim of my doctoral research is to create a comprehensive set of well-accepted consistency rules for UML diagrams that can be found in the literature, in reference textbooks or in the UML standard. Moreover, an important part of that aim will be ...
UML diagram synthesis techniques: a systematic mapping study
MiSE '18: Proceedings of the 10th International Workshop on Modelling in Software EngineeringContext: UML software development relies on different types of UML diagrams, which must be consistent with one another. UML Synthesis techniques suggest to generate diagram(s) from other diagram(s), thereby implicitly suggesting that input and output ...
Comments