AuRUS: explaining the validation of UML/OCL conceptual schemas

Abstract

The validation and the verification of conceptual schemas have attracted a lot of interest during the last years, and several tools have been developed to automate this process as much as possible. This is achieved, in general, by assessing whether the schema satisfies different kinds of desirable properties which ensure that the schema is correct. In this paper we describe AuRUS, a tool we have developed to analyze UML/OCL conceptual schemas and to explain their (in)correctness. When a property is satisfied, AuRUS provides a sample instantiation of the schema showing a particular situation where the property holds. When it is not, AuRUS provides an explanation for such unsatisfiability, i.e., a set of integrity constraints which is in contradiction with the property.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16

Notes

  1. 1.

    \(\mathrm{{CQC}}_\mathrm{E}\) stands for CQC with explanations. Note that although the CQC method was initially designed for query containment, it reformulated containment in terms of query satisfiability. So, it is essentially a query satisfiability checking method.

  2. 2.

    We consider that if a literal appears in node \(i\)+1 as a consequence of an unfolding, then the node that caused the appearance of the literal is the parent node \(i\).

References

  1. 1.

    Abiteboul, S., Hull, R., Vianu, V.: Foundations of Databases, vol. 8. Addison-Wesley, Reading (1995)

    MATH  Google Scholar 

  2. 2.

    ArgoUML: http://argouml.tigris.org/ (2012)

  3. 3.

    Bailey, J., Stuckey, P.J.: Discovery of minimal unsatisfiable subsets of constraints using hitting set dualization. Practical Aspects of Declarative Languages. Lecture Notes in Computer Science, vol. 3350, pp. 174–186 (2005)

  4. 4.

    Bakker, R.R., Dikker, F., Tempelman, F., Wognum, P.M.: Diagnosing and solving over-determined constraint satisfaction problems. Int. Joint Conf. Artif. Intell. 13, 276–276 (1993)

    Google Scholar 

  5. 5.

    Borgida, A., Calvanese, D., Rodriguez-Muro, M.: Explanation in the dl-lite family of description logics. On the Move to Meaningful Internet Systems: OTM 2008. Lecture Notes in Computer Science, vol. 5332, pp. 1440–1457 (2008)

  6. 6.

    Brucker, A. D., Wolff, B.: HOL-OCL: A formal proof environment for UML/OCL. In: Fiadeiro, J.L., Inverardi, P. (eds.) Fundamental Approaches to Software Engineering. Lecture Notes in Computer Science, vol. 4961, pp. 97–100. Springer, Berlin, Heidelberg (2008)

  7. 7.

    Brüning, J., Gogolla, M., Hamann, L., Kuhlmann, M.: Evaluating and debugging OCL expressions in UML models. In: Brucker, A.D., Julliand, J. (eds.) Tests and Proofs, vol. 7305, pp. 156–162. Springer, Berlin (2012)

    Chapter  Google Scholar 

  8. 8.

    Cabot, J., Clarisó, R., Riera, D.: UMLtoCSP: a tool for the formal verification of UML/OCL models using constraint programming. In: Proceedings of the Twenty-Second IEEE/ACM International Conference on Automated Software Engineering, ASE ’07, pp. 547–548. New York, NY, USA (2007)

  9. 9.

    Calvanese, D., De Giacomo, G., Lembo, D., Lenzerini, M., Rosati, R.: Tractable reasoning and efficient query answering in description logics: the DL-Lite family. J. Autom. Reason. 39(3), 385–429 (2007)

    Article  MATH  Google Scholar 

  10. 10.

    Chiorean, D., Pasca, M., Cârcu, A., Botiza, C., Moldovan, S.: Ensuring UML models consistency using the OCL environment. Electron. Notes Theor. Comput. Sci. 102(November), 99–110 (2004)

    Article  Google Scholar 

  11. 11.

    Clavel, M., Egea, M.: ITP/OCL: a rewriting-based validation tool for UML+OCL static class diagrams. In: Johnson, M., Vene, V. (eds.) Algebraic Methodology and Software Technology, vol. 4019, pp. 368–373. Springer, Berlin (2006)

    Chapter  Google Scholar 

  12. 12.

    Decker, H., Teniente, E., Urpí, T.: How to tackle schema validation by view updating. In: Proceeding of the 5th International Conference on Extending Database Technology (EDBT), pp. 535–549 (1996)

  13. 13.

    EinaGMC Project: http://guifre.lsi.upc.edu/eina_GMC/ (2011)

  14. 14.

    Farré, C., Teniente, E., Urpí, T.: Checking query containment with the CQC method. Data Knowl. Eng. 53(2), 163–223 (2005)

    Article  Google Scholar 

  15. 15.

    Gogolla, M., Richters, M.: Expressing UML class diagrams properties with OCL. In: Object Modeling with OCL, Lecture Notes in Computer Science, vol. 2263, pp. 85–114 (2002)

  16. 16.

    Gogolla, M., Bohling, J., Richters, M.: Validating UML and OCL models in USE by automatic snapshot generation. Softw. Syst. Model. 4(4), 386–398 (2005)

    Article  Google Scholar 

  17. 17.

    Grégoire, É., Mazure, B., Piette, C: On approaches to explaining infeasibility of sets of Boolean clauses. In: 20th IEEE International Conference on Tools with Artificial Intelligence, 2008. ICTAI’08 vol. 1, pp. 74–83 (2008)

  18. 18.

    Liffiton, M.H., Sakallah, K.A.: On finding all minimally unsatisfiable subformulas. In: Theory and Applications of Satisfiability Testing, Lectur Notes in Computer Science, vol. 3569, pp. 173–186 (2005)

  19. 19.

    Liffiton, M.H., Sakallah, K.A.: Algorithms for computing minimal unsatisfiable subsets of constraints. J. Autom. Reason. 40(1), 1–33 (2008)

    Article  MATH  MathSciNet  Google Scholar 

  20. 20.

    Lloyd, J.W., Topor, R.W.: Making prolog more expressive. J. Logic Program. 1(3), 225–240 (1984)

    Article  MATH  MathSciNet  Google Scholar 

  21. 21.

    Meyer, T., Lee, K., Booth, R., Pan, J.Z.: Finding maximally satisfiable terminologies for the description logic ALC. In: Proceedings of the National Conference on Artificial Intelligence, vol. 21, p. 269 (2006)

  22. 22.

    Nebel, B.: Terminological reasoning is inherently intractable. Artif. Intell. 43(2), 235–249 (1990)

    Article  MATH  MathSciNet  Google Scholar 

  23. 23.

    OMG: (2011a). http://www.omg.org/spec/UML/

  24. 24.

    OMG: 2011b OCL http://www.omg.org/spec/OCL/

  25. 25.

    Queralt, A., Rull, G., Teniente, E., Farré, C., Urpí, T.: AuRUS: automated reasoning on UML/OCL schemas. In: Conceptual Modeling—ER 2010. http://www.springerlink.com/content/x15v9q081x602204/ (2010)

  26. 26.

    Queralt, A., Teniente, E.: Verification and validation of UML conceptual schemas with OCL constraints. ACM Trans. Softw. Eng. Methodol. 21(2), 13 (2012)

    Article  Google Scholar 

  27. 27.

    Rull, G.: Validation of mappings between data schemas. PhD Thesis. Universitat Politècnica de Catalunya (2011). http://hdl.handle.net/10803/22679

  28. 28.

    Rull, G., Farré, C., Teniente, E., Urpí, T.: Computing explanations for unlively queries in databases. In: Proceedings of the Sixteenth ACM Conference on Conference on Information and, Knowledge Management, pp. 955–958 (2007)

  29. 29.

    Rull, G., Farré, C., Teniente, E., Urpí, T.: Providing explanations for database schema validation. In: Database and Expert Systems Applications, pp. 660–667 (2008)

  30. 30.

    Schlobach, S., Cornet, R.: Non-standard reasoning services for the debugging of description logic terminologies. In: International Joint Conference on Artificial Intelligence vol. 18, pp. 355–362 (2003)

  31. 31.

    Schlobach, S., Huang, Z., Cornet, R., van Harmelen, F.: Debugging incoherent terminologies. J. Autom. Reason. 39(3), 317–349 (2007)

    Article  MATH  Google Scholar 

  32. 32.

    De Siqueira, J.L., Puget, J.F.: Explanation-based generalisation of failures. In: Proceedings of ECAI vol. 88, pp. 339–344 (1988)

  33. 33.

    Soeken, M., Wille, R., Drechsler, R.: Encoding OCL data types for SAT-based verification of UML/OCL models. In: Proceedings of the 5th International Conference on Tests and Proofs, TAP’11. pp. 152–170. Springer-Verlag, Berlin, Heidelberg (2011)

  34. 34.

    Ullman, J.D.: Principles of Database and Knowledge-Base Systems, vol. 2. Computer Science Press, New York (1989)

    Google Scholar 

  35. 35.

    Wahler, M., Basin, D.A., Brucker, A.D., Koehler, J.: Efficient analysis of pattern-based constraint specifications. Softw. Syst. Model. 9(2), 225–255 (2010)

    Article  Google Scholar 

  36. 36.

    Wille, R., Soeken, M., Drechsler, R.: Debugging of inconsistent UML/OCL models. In: Design, Automation Test in Europe Conference Exhibition (DATE) 2012, pp. 1078–1083 (2012)

  37. 37.

    Zhang, L., Malik, S.: Validating SAT solvers using an independent resolution-based checker: practical implementations and other applications. In: Design, Automation and Test in Europe (DATE). pp. 10880–10885 (2003)

Download references

Acknowledgments

Our thanks to Lluís Munguía and Xavier Oriol, for their valuable help in the development of this tool. This work has been partly supported by Ministerio de Ciencia and Tecnología under TIN2011-24747, TIN2008-00444, Grupo Consolidado, and the FEDER funds.

Author information

Affiliations

Authors

Corresponding author

Correspondence to Ernest Teniente.

Additional information

Communicated by Prof. Tony Clark.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Rull, G., Farré, C., Queralt, A. et al. AuRUS: explaining the validation of UML/OCL conceptual schemas. Softw Syst Model 14, 953–980 (2015). https://doi.org/10.1007/s10270-013-0350-8

Download citation

Keywords

  • Validation
  • Conceptual modeling
  • UML
  • OCL
  • Automated reasoning
  • Explanation