Verifying UML Models Annotated with OCL Strings
Published in ACM/IEEE 27th International Conference on Model Driven Engineering Languages and Systems (MODELS 2024), 2024
The Object Constraint Language (OCL) is a specification language that allows users to write precise constraints or rules over models that are built using the Unified Modeling Language (UML). Many OCL constraints used in real-world models specify a set of rules over string data types. This makes reasoning about UML models that are annotated with OCL string constraints very challenging. In this short paper, we demonstrate the feasibility of using Satisfiability Modulo Theories (SMT) solvers for verifying OCL string-type constraints. Specifically, we compare the string reasoning capabilities of three SMT solvers in terms of their usability, performance, and the diversity of instances generated. We believe that the Model-Driven Engineering (MDE) community can benefit from our preliminary results in identifying the strength and limitations of the state-of-the-art SMT solvers for OCL string verification
Recommended citation: A. Jha, R. Monahan, H. Wu (2024). "Verifying UML Models Annotated with OCL Strings." ACM/IEEE MODELS 2024.
Download Paper