Skip to main content

Lightweight String Reasoning for OCL

  • Conference paper
Modelling Foundations and Applications (ECMFA 2012)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 7349))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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)

    Google Scholar 

  2. 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)

    Chapter  Google Scholar 

  3. 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)

    Article  Google Scholar 

  4. 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)

    Google Scholar 

  5. 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

    Google Scholar 

  6. 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)

    Article  Google Scholar 

  7. 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)

    Google Scholar 

  8. 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)

    Google Scholar 

  9. Clavel, M., Egea, M., de Dios, M.A.G.: Checking Unsatisfiability for OCL Constraints. Electronic Communications of the EASST 24, 1–13 (2009)

    Google Scholar 

  10. The EMFtoCSP tool. Website, http://code.google.com/a/eclipselabs.org/p/emftocsp/

  11. 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)

    Chapter  Google Scholar 

  12. 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)

    Article  MATH  Google Scholar 

  13. Golden, K., Pang, W.: Constraint Reasoning over Strings. In: Rossi, F. (ed.) CP 2003. LNCS, vol. 2833, pp. 377–391. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  14. 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

  15. Grahne, G., Nykänen, M., Ukkonen, E.: Reasoning about Strings in Databases. J. Comput. Syst. Sci. 59(1), 116–162 (1999)

    Article  MATH  Google Scholar 

  16. 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)

    Chapter  Google Scholar 

  17. 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)

    Google Scholar 

  18. 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)

    Google Scholar 

  19. 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)

    Chapter  Google Scholar 

  20. 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

  21. 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

    Chapter  Google Scholar 

  22. OMG: Object Constraint Language Specification, version 2.3.1 (Document formal/2012-01-01) (2012)

    Google Scholar 

  23. 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)

    Chapter  Google Scholar 

  24. Sneyers, J., Weert, P.V., Schrijvers, T., Koninck, L.D.: As time goes by: Constraint Handling Rules. TPLP 10(1), 1–47 (2010)

    MATH  Google Scholar 

  25. 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)

    Chapter  Google Scholar 

  26. Veanes, M., de Halleux, P., Tillmann, N.: Rex: Symbolic Regular Expression Explorer. In: ICST, pp. 498–507. IEEE Computer Society (2010)

    Google Scholar 

  27. 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)

    Article  Google Scholar 

  28. 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

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics