Abstract
Models play a key role in assuring software quality in the model-driven approach. Precise models usually require the definition of OCL expressions to specify model constraints that cannot be expressed graphically. Techniques that check the satisfiability of such models and find corresponding instances of them are important in various activities, such as model-based testing and validation. Several tools to check model satisfiability have been developed but to our knowledge, none of them yet supports the analysis of OCL expressions including operations on Strings in general terms. As, in contrast, many industrial models do contain such operations, there is evidently a gap.
There has been much research on formal reasoning on strings in general, but so far the results could not be included into model finding approaches. For model finding, string reasoning only contributes a sub-problem, therefore, a string reasoning approach for model finding should not add up front too much computational complexity to the global model finding problem. We present such a lightweight approach based on constraint satisfaction problems and constraint rewriting. Our approach efficiently solves several common kinds of string constraints and it is integrated into the EMFtoCSP model finder.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Ali, S., Iqbal, M.Z.Z., Arcuri, A., Briand, L.C.: A Search-Based OCL Constraint Solver for Model-Based Test Data Generation. In: QSIC, pp. 41–50 (2011)
Anastasakis, K., Bordbar, B., Georg, G., Ray, I.: UML2Alloy: A Challenging Model Transformation. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 436–450. Springer, Heidelberg (2007)
Baudry, B., Ghosh, S., Fleurey, F., France, R.B., Traon, Y.L., Mottu, J.M.: Barriers to systematic model transformation testing. Commun. ACM 53(6), 139–143 (2010)
Bjorner, N., Nieuwenhuis, R., Veith, H., Voronkov, A. (eds.): Decision Procedures in Soft, Hard and Bio-ware - Follow Up, vol. 1(7). Dagstuhl Reports (2011)
Büttner, F., Cabot, J., Gogolla, M.: On Validation of ATL Transformation Rules By Transformation Models. In: Weißleder, S., Lúcio, L., Cichos, H., Fondement, F. (eds.) Proceedings of MoDeVVa 2011. ACM Digital Library (2012), doi:10.1145/2095654.2095666
Cabot, J., Clarisó, R., Guerra, E., de Lara, J.: Verification and validation of declarative model-to-model transformations through invariants. Journal of Systems and Software 83(2), 283–302 (2010)
Cabot, J., Clarisó, R., Riera, D.: UMLtoCSP: a tool for the formal verification of UML/OCL models using constraint programming. In: Stirewalt, R.E.K., Egyed, A., Fischer, B. (eds.) Proceedings of Automated Software Engineering, ASE 2007. ACM (2007)
Cadoli, M., Calvanese, D., De Giacomo, G., Mancini, T.: Finite Satisfiability of UML Class Diagrams by Constraint Programming. In: Proc. of the CP 2004 Workshop on CSP Techniques with Immediate Application (2004)
Clavel, M., Egea, M., de Dios, M.A.G.: Checking Unsatisfiability for OCL Constraints. Electronic Communications of the EASST 24, 1–13 (2009)
The EMFtoCSP tool. Website, http://code.google.com/a/eclipselabs.org/p/emftocsp/
Frühwirth, T.W.: Constraint Handling Rules. In: Podelski, A. (ed.) Constraint Programming: Basics and Trends. LNCS, vol. 910, pp. 90–107. Springer, Heidelberg (1995)
Gogolla, M., Büttner, F., Richters, M.: USE: A UML-based specification environment for validating UML and OCL. Sci. Comput. Program. 69(1-3), 27–34 (2007)
Golden, K., Pang, W.: Constraint Reasoning over Strings. In: Rossi, F. (ed.) CP 2003. LNCS, vol. 2833, pp. 377–391. Springer, Heidelberg (2003)
González, C.A., Büttner, F., Clarisó, R., Cabot, J.: EMFtoCSP: A Tool for the Lightweight Verification of EMF Models. In: Proc. of Formal Methods in Software Engineering: Rigorous and Agile Approaches (FormSERA), Workshop at ICSE (to appear, 2012), http://www.formsera.org/FormSERA
Grahne, G., Nykänen, M., Ukkonen, E.: Reasoning about Strings in Databases. J. Comput. Syst. Sci. 59(1), 116–162 (1999)
Hooimeijer, P., Veanes, M.: An Evaluation of Automata Algorithms for String Analysis. In: Jhala, R., Schmidt, D. (eds.) VMCAI 2011. LNCS, vol. 6538, pp. 248–262. Springer, Heidelberg (2011)
Kiezun, A., Ganesh, V., Guo, P.J., Ernst, M.D., Hooimeijer, P., Ganesh, V., Guo, P.J., Ernst, M.D.: HAMPI: A solver for string constraints. In: International Symposium on Software Testing and Analysis (2009)
Kuhlmann, M., Gogolla, M.: Strengthening SAT-Based Validation of UML/OCL Models by Representing Collections as Relations. In: Kolovos, D. (ed.) ECMFA 2012. LNCS, vol. 7349, pp. 32–48. Springer, Heidelberg (2012)
Kuhlmann, M., Hamann, L., Gogolla, M.: Extensive Validation of OCL Models by Integrating SAT Solving into USE. In: Bishop, J., Vallecillo, A. (eds.) TOOLS 2011. LNCS, vol. 6705, pp. 290–306. Springer, Heidelberg (2011)
Malgouyres, H., Motet, G.: A UML model consistency verification approach based on meta-modeling formalization. In: Proceedings of the 2006 ACM Symposium on Applied Computing, SAC 2006, pp. 1804–1809. ACM, New York (2006), http://doi.acm.org/10.1145/1141277.1141703
Maraee, A., Balaban, M.: Efficient Reasoning About Finite Satisfiability of UML Class Diagrams with Constrained Generalization Sets. In: Akehurst, D.H., Vogel, R., Paige, R.F. (eds.) ECMDA-FA. LNCS, vol. 4530, pp. 17–31. Springer, Heidelberg (2007), http://dl.acm.org/citation.cfm?id=1768765.1768767
OMG: Object Constraint Language Specification, version 2.3.1 (Document formal/2012-01-01) (2012)
Sen, S., Baudry, B., Mottu, J.-M.: Automatic Model Generation Strategies for Model Transformation Testing. In: Paige, R.F. (ed.) ICMT 2009. LNCS, vol. 5563, pp. 148–164. Springer, Heidelberg (2009)
Sneyers, J., Weert, P.V., Schrijvers, T., Koninck, L.D.: As time goes by: Constraint Handling Rules. TPLP 10(1), 1–47 (2010)
Soeken, M., Wille, R., Drechsler, R.: Encoding OCL Data Types for SAT-Based Verification of UML/OCL Models. In: Gogolla, M., Wolff, B. (eds.) TAP 2011. LNCS, vol. 6706, pp. 152–170. Springer, Heidelberg (2011)
Veanes, M., de Halleux, P., Tillmann, N.: Rex: Symbolic Regular Expression Explorer. In: ICST, pp. 498–507. IEEE Computer Society (2010)
Winkelmann, J., Taentzer, G., Ehrig, K., Küster, J.M.: Translation of Restricted OCL Constraints into Graph Constraints for Generating Meta Model Instances by Graph Grammars. Electr. Notes Theor. Comput. Sci. 211, 159–170 (2008)
Bjørner, N., Tillmann, N., Voronkov, A.: Path Feasibility Analysis for String-Manipulating Programs. In: Kowalewski, S., Philippou, A. (eds.) TACAS 2009. LNCS, vol. 5505, pp. 307–321. Springer, Heidelberg (2009), http://dblp.uni-trier.de , doi: http://dx.doi.org/10.1007/978-3-642-00768-2_27
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Büttner, F., Cabot, J. (2012). Lightweight String Reasoning for OCL. In: Vallecillo, A., Tolvanen, JP., Kindler, E., Störrle, H., Kolovos, D. (eds) Modelling Foundations and Applications. ECMFA 2012. Lecture Notes in Computer Science, vol 7349. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-31491-9_19
Download citation
DOI: https://doi.org/10.1007/978-3-642-31491-9_19
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-31490-2
Online ISBN: 978-3-642-31491-9
eBook Packages: Computer ScienceComputer Science (R0)