Temporarily manipulating the structure of the formal
model (such as adding new states and transitions, or
changing existing ones) may make it easier to nav-
igate the model and handle CTL expressions that
would otherwise prove difficult. The second weak-
ness is that the approach is mainly designed to deal
with static constraints on the source model. It is not
capable of interpreting functions. Thus, it is not in-
tended to verify dynamic behavior. If that is required,
a static view of the dynamic behavior would be re-
quired, such as Abstract Syntax Trees (AST). Finally,
defining CTL expressions requires proficiency in for-
mal verification. For this reason, in the future, a Do-
main Specific Language (DSL) (Fowler, 2010) must
be created to hide the complexity of writing CTL ex-
pressions from the model designer.
In terms of future work, thoroughly evaluating
the expressive power of CTL on real-world models
and constraints is our main priority. Depending on
the results of the evaluation, an extension of CTL
or a whole new language might be needed. In the
first case, by introducing model transformations on
Kripke Structures, constraints that are difficult to ex-
press through CTL may become easier. In the sec-
ond case, along with the new language, significant
enhancements to a model checker tool might be nec-
essary. The performance of the approach will also be
evaluated, making sure it is efficient enough to be ap-
plicable in practice, even on larger models and a sig-
nificant amount of constraints to be verified.
REFERENCES
Anastasakis, K., Bordbar, B., Georg, G., and Ray, I.
(2007). Uml2alloy: A challenging model transfor-
mation. In ACM/IEEE International Conference on
Model Driven Engineering Languages and Systems,
pages 436–450.
Behrmann, G., David, A., and Larsen, K. (2004). A tutorial
on uppaal. In International School on Formal Meth-
ods for the Design of Computer, Communication and
Software Systems, volume 3185, pages 200–236.
Brucker, A. and Wolff, B. (2008). Hol-ocl: A formal proof
environment for uml/ocl. pages 97–100.
Cabot, J., Calegari, D., Claris
´
o, R., Gogolla, M., Vallecillo,
A., and Willink, E. D. (2021). A swot analysis of the
object constraint language. pages 178–184.
Cabot, J., Claris
´
o, R., and Riera, D. (2007). Umltocsp: A
tool for the formal verification of uml/ocl models us-
ing constraint programming. In Proceedings of the
Twenty-Second IEEE/ACM International Conference
on Automated Software Engineering, ASE ’07, page
547–548, New York, NY, USA. Association for Com-
puting Machinery.
Cabot, J. and Gogolla, M. (2012). Object constraint lan-
guage (ocl): A definitive guide. volume 7320, pages
58–90.
Cimatti, A., Clarke, E., Giunchiglia, E., Giunchiglia, F., Pi-
store, M., Roveri, M., Sebastiani, R., and Tacchella,
A. (2002a). Nusmv 2: An opensource tool for sym-
bolic model checking. 14th International Conference,
CAV, Copenhagen, Denmark.
Cimatti, A., Giunchiglia, E., Pistore, M., Roveri, M., Sebas-
tiani, R., and Tacchella, A. (2002b). Integrating bdd-
based and sat-based symbolic model checking. vol-
ume 2309.
Fowler, M. (2010). Domain Specific Languages. Addison-
Wesley Professional, 1st edition.
Jackson, D. (2012). Software Abstractions: Logic, Lan-
guage, and Analysis. The MIT Press.
Mahajan, Y., Fu, Z., and Malik, S. (2004). Zchaff2004: An
efficient sat solver. volume 3542, pages 360–375.
MOF (2005). OMG: MetaObject Facility.
http://www.omg.org/mof/. Accessed:2022-11-24.
Muller-olm, M., Schmidt, D., and Steffen, B. (1999).
Model-checking: A tutorial introduction. volume
1694, pages 330–354.
Nobakht, M. and Truscan, D. (2013). Tool Support for
Transforming UML-Based Specifications to UPPAAL
Timed Automata. Turku Centre for Computer Sci-
ence (TUCS). TUCS Technical Report No 1087, June
2013.
Przigoda, N., Soeken, M., Wille, R., and Drechsler, R.
(2016). Verifying the structure and behavior in um-
l/ocl models using satisfiability solvers. IET Cyber-
Physical Systems: Theory & Applications, 1.
Shaikh, A., Claris
´
o, R., Wiil, U. K., and Memon, N. (2010).
Verification-driven slicing of uml/ocl models. In Pro-
ceedings of the IEEE/ACM International Conference
on Automated Software Engineering, ASE ’10, page
185–194, New York, NY, USA. Association for Com-
puting Machinery.
S
¨
orensson, N. and Een, N. (2005). Minisat v1.13-a sat
solver with conflict-clause minimization. Interna-
tional Conference on Theory and Applications of Sat-
isfiability Testing.
UML (2017). OMG: Unified Modeling Language.
https://www.omg.org/spec/UML/2.5.1/PDF/.
Accessed:2022-11-24.
Vaziri, A. and Jackson, D. (2003). Some shortcomings of
ocl, the object constraint language of uml.
Verifying Static Constraints on Models Using General Formal Verification Methods
93