skip to main content
10.1145/3652620.3687818acmconferencesArticle/Chapter ViewAbstractPublication PagesmodelsConference Proceedingsconference-collections
research-article

Semantic Difference Analysis with Invariant Tracing for Class Diagrams Extended by OCL

Published: 31 October 2024 Publication History

Abstract

Models are the primary source-artifacts in Model Driven Development (MDD) and are thus subject to changes and evolution throughout the development process. To better understand these model-changes, semantic differencing operators can be employed. In this paper, we present an approach for automatically detecting the semantic differences of Class Diagrams (CDs) that have been extended with Object Constraint Language (OCL) constraints. Previous works regarding OCL models focused mostly on validation and satisfiability of OCL invariants and conditions, not analyzing semantic differences between subsequent versions of CDs and OCL models. While implementations of semantic differencing operators for CDs already exist, they have yet to integrate OCL models in their analysis. Using a translation of CDs and OCL constraints to Satisfiability Modulo Theories (SMT), we developed a tool for detecting semantic differences between two compositions of CD and OCL models. The differences are reported in the form of Object Diagrams (ODs) that describe valid instances of one model but not the other. Additionally, invariants are traced across models. The implementation of this tool is publicly available.

References

[1]
Gail-Joon Ahn and Michael E Shin. 2001. Role-based authorization constraints specification using object constraint language. In Proceedings Tenth IEEE International Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises. WET ICE 2001. IEEE, 157--162.
[2]
Kshitij Bansal, Andrew Reynolds, Clark Barrett, and Cesare Tinelli. 2016. A new decision procedure for finite sets and cardinality constraints in SMT. In Automated Reasoning: 8th International Joint Conference, IJCAR 2016, Coimbra, Portugal, June 27--July 2, 2016, Proceedings. Springer, 82--98.
[3]
Clark Barrett, Christopher L Conway, Morgan Deters, Liana Hadarean, Dejan Jovanović, Tim King, Andrew Reynolds, and Cesare Tinelli. 2011. Cvc4. In International Conference on Computer Aided Verification. Springer, 171--177.
[4]
Clark Barrett, Aaron Stump, Cesare Tinelli, et al. 2010. The smt-lib standard: Version 2.0. In Proceedings of the 8th international workshop on satisfiability modulo theories (Edinburgh, UK), Vol. 13. 14.
[5]
Nikolaj Bjørner and Karthick Jayaraman. 2015. Checking cloud contracts in Microsoft Azure. In Distributed Computing and Internet Technology: 11th International Conference, ICDCIT 2015, Bhubaneswar, India, February 5--8, 2015. Proceedings 11. Springer, 21--32.
[6]
Arvid Butting, Oliver Kautz, Bernhard Rumpe, and Andreas Wortmann. 2017. Semantic Differencing for Message-Driven Component & Connector Architectures. In International Conference on Software Architecture (ICSA'17) (Gothenburg). IEEE, 145--154. http://www.se-rwth.de/publications/Semantic-Differencing-for-Message-Driven-Component-and-Connector-Architectures.pdf
[7]
Jordi Cabot, Robert Claris´o, and Daniel Riera. 2008. Verification of UML/OCL Class Diagrams using Constraint Programming. In 2008 IEEE International Conference on Software Testing Verification and Validation Workshop. 73--80.
[8]
J. Cabot, R. Clarisó, and D. Riera. 2014. On the verification of UML/OCL class diagrams using constraint programming. Journal of Systems and Software 93 (2014), 1--23.
[9]
María Victoria Cengarle, Hans Grönniger, and Bernhard Rumpe. 2008. System Model Semantics of Class Diagrams. Informatik-Bericht 2008-05. TU Braunschweig, Germany. http://www.se-rwth.de/staff/rumpe/publications20042008/System-Model-Semantics-of-Class-Diagrams.pdf
[10]
Stephen A Cook. 1971. The complexity of theorem-proving procedures. In Proceedings of the third annual ACM symposium on Theory of computing. 151--158.
[11]
Leonardo De Moura and Nikolaj Bjørner. 2008. Z3: An efficient SMT solver. In International conference on Tools and Algorithms for the Construction and Analysis of Systems. Springer, 337--340.
[12]
Morgan Deters, Andrew Reynolds, Tim King, Clark Barrett, and Cesare Tinelli. 2014. A tour of CVC4: how it works, and how to use it. In 2014 Formal Methods in Computer-Aided Design (FMCAD). IEEE, 7--7.
[13]
Imke Drave, Robert Eikermann, Oliver Kautz, and Bernhard Rumpe. 2019. Semantic Differencing of Statecharts for Object-oriented Systems. In Proceedings of the 7th International Conference on Model-Driven Engineering and Software Development (MODELSWARD'19) (Prague), Slimane Hammoudi, Luis Ferreira Pires, and Bran Selić (Eds.). SciTePress, 274--282. http://www.se-rwth.de/publications/Semantic-Differencing-of-Statecharts-for-Object-oriented-Systems.pdf
[14]
Imke Drave, Oliver Kautz, Judith Michael, and Bernhard Rumpe. 2019. Semantic Evolution Analysis of Feature Models. In International Systems and Software Product Line Conference (SPLC'19) (Paris), Thorsten Berger, Philippe Collet, Laurence Duchien, Thomas Fogdal, Patrick Heymans, Timo Kehrer, Jabier Martinez, Raúl Mazo, Leticia Montalvillo, Camille Salinesi, Xhevahire Tërnava, Thomas Thüm, and Tewfik Ziadi (Eds.). ACM, 245--255. http://www.serwth.de/publications/Semantic-Evolution-Analysis-of-Feature-Models.pdf
[15]
Uli Fahrenberg, Mathieu Acher, Axel Legay, and Andrzej Wąsowski. 2014. Sound Merging and Differencing for Class Diagrams. In Fundamental Approaches to Software Engineering, Stefania Gnesi and Arend Rensink (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 63--78.
[16]
Erich Gamma, Ralph Johnson, Richard Helm, Ralph E Johnson, and John Vlissides. 1995. Design patterns: elements of reusable object-oriented software. Pearson Deutschland GmbH.
[17]
Patrice Godefroid, Michael Y Levin, and David Molnar. 2012. SAGE: Whitebox Fuzzing for Security Testing: SAGE has had a remarkable impact at Microsoft. Queue 10, 1 (2012), 20--27.
[18]
Martin Gogolla, Fabian Büttner, and Mark Richters. 2007. USE: A UML-based specification environment for validating UML and OCL. Science of Computer Programming 69, 1 (2007), 27--34. Special issue on Experimental Software and Toolkits.
[19]
Martin Gogolla and Frank Hilken. 2016. Model validation and verification options in a contemporary UML and OCL analysis tool. In Modellierung 2016. Gesellschaft für Informatik e.V., Bonn, 205--220.
[20]
Object Management Group. 2017. OMG Unified Modeling Language (OMG UML). (2017).
[21]
ANN M. Hickey and Alan M. Davis. 2004. A Unified Model of Requirements Elicitation. Journal of Management Information Systems 20, 4 (2004), 65--84. arXiv:https://doi.org/10.1080/07421222.2004.11045786
[22]
Ethan Jackson and Wolfram Schulte. 2013. FORMULA 2.0: A Language for Formal Specifications. In Unifying Theories of Programming and Formal Engineering Methods. Springer Berlin Heidelberg, 156--206. https://www.microsoft.com/en-us/research/publication/formula-2-0-language-formal-specifications/
[23]
Jackson, Daniel. 2006. Software Abstractions: Logic, Language, and Analysis. The MIT Press.
[24]
Oliver Kautz. 2021. Model Analyses Based on Semantic Differencing and Automatic Model Repair. Shaker Verlag. http://www.se-rwth.de/phdtheses/Diss-Kautz-Model-Analyses-Based-on-Semantic-Differencing-and-Automatic-Model-Repair.pdf
[25]
Oliver Kautz, Shahar Maoz, Jan Oliver Ringert, and Bernhard Rumpe. 2017. CD2Alloy: A Translation of Class Diagrams to Alloy. Technical Report AIB-2017-06. RWTH Aachen University. http://www.se-rwth.de/publications/CD2Alloy-A-Translation-of-Class-Diagrams-to-Alloy.pdf
[26]
Oliver Kautz and Bernhard Rumpe. 2018. Semantic Differencing of Activity Diagrams by a Translation into Finite Automata. In Proceedings of MODELS 2018. Workshop ME (Copenhagen). http://www.se-rwth.de/publications/Semantic-Differencing-of-Activity-Diagrams-by-a-Translation-into-Finite-Automata.pdf
[27]
Stuart Kent, Andy Evans, and Bernhard Rumpe. 1999. UML Semantics FAQ. In Object-Oriented Technology, ECOOP'99 Workshop Reader (LNCS 1743), A. Moreira and S. Demeyer (Eds.). Springer Verlag, Berlin.
[28]
Mirco Kuhlmann and Martin Gogolla. 2012. From UML and OCL to Relational Logic and Back. In Model Driven Engineering Languages and Systems, Robert B. France, Jürgen Kazmeier, Ruth Breu, and Colin Atkinson (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 415--431.
[29]
Achim Lindt, Bernhard Rumpe, Max Stachon, and Sebastian Stüber. 2023. CD-Merge: Semantically Sound Merging of Class Diagrams for Software Component Integration. Journal of Object Technology 22, 2 (July 2023), 2:1--14.
[30]
Shahar Maoz, Jan Oliver Ringert, and Bernhard Rumpe. 2010. A Manifesto for Semantic Model Differencing. In Proceedings Int. Workshop on Models and Evolution (ME'10) (LNCS 6627). Springer, 194--203. http://www.se-rwth.de/publications/A-Manifesto-for-Semantic-Model-Differencing.pdf
[31]
Shahar Maoz, Jan Oliver Ringert, and Bernhard Rumpe. 2011. ADDiff: Semantic Differencing for Activity Diagrams. In Conference on Foundations of Software Engineering (ESEC/FSE '11). ACM, 179--189. http://www.se-rwth.de/publications/ADDiff-Semantic-Differencing-for-Activity-Diagrams.pdf
[32]
Shahar Maoz, Jan Oliver Ringert, and Bernhard Rumpe. 2011. An Operational Semantics for Activity Diagrams using SMV. Technical Report AIB-2011-07. RWTH Aachen University, Aachen, Germany. http://www.se-rwth.de/publications/An-Operational-Semantics-for-Activity-Diagrams-using-SMV.pdf
[33]
Shahar Maoz, Jan Oliver Ringert, and Bernhard Rumpe. 2011. CDDiff: Semantic Differencing for Class Diagrams. In ECOOP 2011 - Object-Oriented Programming, Mira Mezini (Ed.). Springer Berlin Heidelberg, 230--254. https://se-rwth.de/publications/CDDiff-Semantic-Differencing-for-Class-Diagrams.pdf
[34]
Rajdeep Mukherjee, Daniel Kroening, and Tom Melham. 2015. Hardware verification using software analyzers. In 2015 IEEE Computer Society Annual Symposium on VLSI. IEEE, 7--12.
[35]
Imke Nachmann, Bernhard Rumpe, Max Stachon, and Sebastian Stüber. 2022. Open-World Loose Semantics of Class Diagrams as Basis for Semantic Differences. In Modellierung 2022. Gesellschaft für Informatik, 111--127.
[36]
Jaideep Nijjar and Tevfik Bultan. 2012. Unbounded data model verification using SMT solvers. In 2012 Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering. 210--219.
[37]
Beatriz Pérez and Ivan Porres. 2019. Reasoning about UML/OCL class diagrams using constraint logic programming and formula. Information Systems 81 (2019), 152--177.
[38]
Mark Richters and Martin Gogolla. 1998. On Formalizing the UML Object Constraint Language OCL. In Conceptual Modeling - ER '98, Tok-Wang Ling, Sudha Ram, and Mong Li Lee (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 449--464.
[39]
Mark Richters and Martin Gogolla. 2000. Validating UML Models and OCL Constraints. In "UML "2000 --- The Unified Modeling Language, Andy Evans, Stuart Kent, and Bran Selic (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 265--277.
[40]
Jan Oliver Ringert, Bernhard Rumpe, and Max Stachon. 2023. On Implementing Open World Semantic Differencing for Class Diagrams. Journal of Object Technology 22, 2 (July 2023), 2:1--14.
[41]
Bernhard Rumpe. 2011. Modellierung mit UML, 2te Auflage. Springer Berlin. https://mbse.se-rwth.de/
[42]
Bernhard Rumpe. 2016. Modeling with UML: Language, Concepts, Methods. Springer International. https://mbse.se-rwth.de/
[43]
Bernhard Rumpe. 2017. Agile Modeling with UML: Code Generation, Testing, Refactoring. Springer International. https://mbse.se-rwth.de/
[44]
Mathias Soeken, Robert Wille, Mirco Kuhlmann, Martin Gogolla, and Rolf Drechsler. 2010. Verifying UML/OCL models using Boolean satisfiability. In 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010). 1341--1344.
[45]
EV Sunitha and Philip Samuel. 2018. Object constraint language for code generation from activity models. Information and Software Technology 103 (2018), 92--111.
[46]
Nikolai Tillmann and Jonathan De Halleux. 2008. Pex-white box test generation for. net. In Tests and Proofs: Second International Conference, TAP 2008, Prato, Italy, April 9--11, 2008. Proceedings 2. Springer, 134--153.
[47]
Emina Torlak and Daniel Jackson. 2007. Kodkod: A relational model finder. In Tools and Algorithms for the Construction and Analysis of Systems: 13th International Conference, TACAS 2007, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2007 Braga, Portugal, March 24-April 1, 2007. Proceedings 13. Springer, 632--647.
[48]
Hao Wu. 2023. QMaxUSE: A new tool for verifying UML class diagrams and OCL invariants. Science of Computer Programming 228 (2023), 102955.
[49]
Hao Wu and Marie Farrell. 2021. A formal approach to finding inconsistencies in a metamodel. Software and Systems Modeling 20, 4 (2021), 1271--1298.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
MODELS Companion '24: Proceedings of the ACM/IEEE 27th International Conference on Model Driven Engineering Languages and Systems
September 2024
1261 pages
ISBN:9798400706226
DOI:10.1145/3652620
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 the author(s) 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].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 31 October 2024

Check for updates

Author Tags

  1. OCL
  2. CD
  3. analysis
  4. semantics
  5. differences
  6. tracing
  7. UML
  8. model-driven

Qualifiers

  • Research-article

Funding Sources

Conference

MODELS Companion '24
Sponsor:

Acceptance Rates

Overall Acceptance Rate 144 of 506 submissions, 28%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 28
    Total Downloads
  • Downloads (Last 12 months)28
  • Downloads (Last 6 weeks)5
Reflects downloads up to 01 Mar 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media