Cabot, J., Claris
´
o, R., and Riera, D. (2009). Verifying
UML/OCL operation contracts. In 7th International
Conference on Integrated Formal Methods, pages 40–
55, D
¨
usseldorf, Germany. Springer.
Cabot, J., Claris
´
o, R., and Riera, D. (2014). On the veri-
fication of UML/OCL class diagrams using constraint
programming. Journal of Systems and Software, 93:1–
23.
Dania, C. and Clavel, M. (2013). Ocl2fol+: Coping with
undefinedness. In OCL@MoDELS.
Dania, C. and Clavel, M. (2016). Ocl2msfol: A mapping to
many-sorted first-order logic for efficiently checking
the satisfiability of ocl constraints. In 19th Interna-
tional Conference on Model Driven Engineering Lan-
guages and Systems, pages 65–75. ACM.
De Moura, L. and Bjørner, N. (2008). Z3: an efficient SMT
solver. In 14th International Conference on Tools and
Algorithms for the Construction and Analysis of Sys-
tems, pages 337–340, Budapest, Hungary. Springer.
Garis, A., Cunha, A., and Riesco, D. (2011). Translating Al-
loy Specifications to UML Class Diagrams Annotated
with OCL. In 9th International Conference on Soft-
ware Engineering and Formal Methods, pages 221–
236, Montevideo, Uruguay. Springer.
Gogolla, M., B
¨
uttner, F., and Richters, M. (2007). USE: A
UML-based specification environment for validating
UML and OCL. Science of Computer Programming,
69(1-3):27–34.
Gogolla, M., Hamann, L., Hilken, F., Kuhlmann, M., and
France, R. B. (2014). From application models to
filmstrip models: An approach to automatic validation
of model dynamics. In Modellierung.
Gogolla, M., Hilken, F., Doan, K., and Desai, N. (2017).
Checking UML and OCL model behavior with film-
stripping and classifying terms. In 11th International
Conference on Tests & Proofs, pages 119–128.
Gonz
´
alez P
´
erez, C. A., Buettner, F., Claris
´
o, R., and Cabot,
J. (2012). EMFtoCSP: A tool for the lightweight ver-
ification of EMF models. In Formal Methods in Soft-
ware Engineering: Rigorous and Agile Approaches,
Zurich, Suisse.
Hilken, F. and Gogolla, M. (2016). Verifying linear tempo-
ral logic properties in UML/OCL class diagrams using
filmstripping. In 2016 Euromicro Conference on Dig-
ital System Design, pages 708–713.
Hilken, F., Niemann, P., Gogolla, M., and Wille, R. (2014).
Filmstripping and unrolling: A comparison of verifi-
cation approaches for uml and ocl behavioral models.
In Tests and Proofs, pages 99–116. Springer Interna-
tional Publishing.
Jackson, D. (2002). Alloy: a lightweight object modelling
notation. ACM Transactions on Software Engineering
Methodologies, 11(2):256–290.
Kuhlmann, M. and Gogolla, M. (2012). From uml and ocl to
relational logic and back. In 15th International Con-
ference on Model Driven Engineering Languages and
Systems, pages 415–431. Springer.
Kyas, M., Fecher, H., de Boer, F. S., Jacob, J., Hooman,
J., van der Zwaag, M., Arons, T., and Kugler, H.
(2005). Formalizing UML models and OCL con-
straints in PVS. Electronic Notes in Theoretical Com-
puter Science, 115:39–47.
Niemann, P., Hilken, F., Gogolla, M., and Wille, R. (2015).
Extracting frame conditions from operation contracts.
In 18th International Conference on Model Driven
Engineering Languages and Systems, pages 266–275.
Niemetz, A., Preiner, M., and Biere, A. (2015). Boolec-
tor 2.0 system description. Journal on Satisfiability,
Boolean Modeling and Computation, 9:53–58.
Przigoda, N., Hilken, C., Wille, R., Peleska, J., and Drech-
sler, R. (2015). Checking concurrent behavior in
uml/ocl models. In 18th International Conference on
Model Driven Engineering Languages and Systems
(MODELS), pages 176–185.
Przigoda, N., Soeken, M., Wille, R., and Drechsler,
R. (2016). Verifying the structure and behav-
ior in uml/ocl models using satisfiability solvers.
IET Cyber-Physical Systems: Theory Applications,
1(1):49–59.
Reynolds, A., Kuncak, V., Tinelli, C., Barrett, C., and De-
ters, M. (2017). Refutation-based synthesis in smt.
Formal Methods in System Design.
Shah, S. M. A., Anastasakis, K., and Bordbar, B. (2009).
From UML to alloy and back again. In 6th Interna-
tional Workshop on Model-Driven Engineering, Veri-
fication and Validation, pages 4:1–4:10. ACM.
Soeken, M., Wille, R., and Drechsler, R. (2011a). En-
coding OCL data types for SAT-based verification of
UML/OCL models. In 5th International Conference
on Tests and Proofs, pages 152–170, Zurich, Switzer-
land. Springer.
Soeken, M., Wille, R., and Drechsler, R. (2011b). Verifying
dynamic aspects of uml models. In Design, Automa-
tion Test in Europe, pages 1–6.
Torlak, E. and Jackson, D. (2007). Kodkod: a rela-
tional model finder. In 13th International Confer-
ence on Tools and Algorithms for the Construction
and Analysis of Systems, pages 632–647, Braga, Por-
tugal. Springer.
Wille, R., Soeken, M., and Drechsler, R. (2012). Debug-
ging of inconsistent UML/OCL models. In 2012 De-
sign, Automation Test in Europe Conference Exhibi-
tion, pages 1078–1083.
Wu, H. (2016). Generating metamodel instances satisfying
coverage criteria via SMT solving. In The 4th Interna-
tional Conference on Model-Driven Engineering and
Software Development, pages 40–51.
Wu, H. (2017a). Finding achievable features and constraint
conflicts for inconsistent metamodels. In 13th Euro-
pean Conference on Modelling Foundations and Ap-
plications, pages 179–196. Springer.
Wu, H. (2017b). Maxuse: A tool for finding achievable
constraints and conflicts for inconsistent UML class
diagrams. In Integrated Formal Methods, pages 348–
356. Springer.
Wu, H. (2019). Synthesising call sequences from OCL op-
erational contracts. In The 34th ACM/SIGAPP Sym-
posium on Applied Computing.
Wu, H., Monahan, R., and Power, J. F. (2013). Exploit-
ing attributed type graphs to generate metamodel in-
stances using an SMT solver. In 7th International
Symposium on Theoretical Aspects of Software Engi-
neering, Birmingham, UK.
Verifying OCL Operational Contracts via SMT-based Synthesising
259