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.
Similar content being viewed by others
Notes
\(\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.
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
Abiteboul, S., Hull, R., Vianu, V.: Foundations of Databases, vol. 8. Addison-Wesley, Reading (1995)
ArgoUML: http://argouml.tigris.org/ (2012)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
EinaGMC Project: http://guifre.lsi.upc.edu/eina_GMC/ (2011)
Farré, C., Teniente, E., Urpí, T.: Checking query containment with the CQC method. Data Knowl. Eng. 53(2), 163–223 (2005)
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)
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)
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)
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)
Liffiton, M.H., Sakallah, K.A.: Algorithms for computing minimal unsatisfiable subsets of constraints. J. Autom. Reason. 40(1), 1–33 (2008)
Lloyd, J.W., Topor, R.W.: Making prolog more expressive. J. Logic Program. 1(3), 225–240 (1984)
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)
Nebel, B.: Terminological reasoning is inherently intractable. Artif. Intell. 43(2), 235–249 (1990)
OMG: (2011a). http://www.omg.org/spec/UML/
OMG: 2011b OCL http://www.omg.org/spec/OCL/
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)
Queralt, A., Teniente, E.: Verification and validation of UML conceptual schemas with OCL constraints. ACM Trans. Softw. Eng. Methodol. 21(2), 13 (2012)
Rull, G.: Validation of mappings between data schemas. PhD Thesis. Universitat Politècnica de Catalunya (2011). http://hdl.handle.net/10803/22679
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)
Rull, G., Farré, C., Teniente, E., Urpí, T.: Providing explanations for database schema validation. In: Database and Expert Systems Applications, pp. 660–667 (2008)
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)
Schlobach, S., Huang, Z., Cornet, R., van Harmelen, F.: Debugging incoherent terminologies. J. Autom. Reason. 39(3), 317–349 (2007)
De Siqueira, J.L., Puget, J.F.: Explanation-based generalisation of failures. In: Proceedings of ECAI vol. 88, pp. 339–344 (1988)
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)
Ullman, J.D.: Principles of Database and Knowledge-Base Systems, vol. 2. Computer Science Press, New York (1989)
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)
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)
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)
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
Authors and Affiliations
Corresponding author
Additional information
Communicated by Prof. Tony Clark.
Rights 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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-013-0350-8