Abstract
Precision and consistency are important prerequisites for class models to conform to their intended domain semantics. Precision can be achieved by augmenting models with design constraints and consistency can be achieved by avoiding contradictory constraints. However, there are different views of what constitutes a contradiction for design constraints. Moreover, state-of-the-art analysis approaches for proving constrained models consistent either scale poorly or require the use of interactive theorem proving. In this paper, we present a heuristic approach for efficiently analyzing constraint specifications built from constraint patterns. This analysis is based on precise notions of consistency for constrained class models and exploits the semantic properties of constraint patterns, thereby enabling syntax-based consistency checking in polynomial-time. We introduce a consistency checker implementing these ideas and we report on case studies in applying our approach to analyze industrial-scale models. These studies show that pattern-based constraint development supports the creation of concise specifications and provides immediate feedback on model consistency.
Similar content being viewed by others
References
Ackermann, J., Turowski, K.: A library of OCL specification patterns to simplify behavioral specification of software components. In: Proceedings of Conference on Advanced Information Systems Engineering. Lecture Notes in Computer Science, vol. 4001, pp. 255–269 (2006)
Ahrendt W., Baar T., Beckert B., Bubel R., Giese M., Hähnle R., Menzel W., Mostowski W., Roth A., Schlager S., Schmitt P.H.: The KeY Tool. Softw. Syst. Model. 4(1), 32–54 (2005)
Aichernig, B.K., Larsenz, P.G.: A proof obligation generator for VDM-SL. In: FME ’97: Industrial Applications and Strengthened Foundations of Formal Methods. Lecture Notes in Computer Science, vol. 1313, pp. 338–357 (1997)
Basin D., Doser J., Lodderstedt T.: Model driven security: from UML models to access control infrastructures. ACM Trans. Softw. Eng. Methodol. 15(1), 39–91 (2006)
Berardi D., Calvanese D., De Giacomo G.: Reasoning on UML class diagrams. Artif. Intell. 168(1), 70–118 (2005)
Bordbar, B., Anastasakis, K.: UML2Alloy: a tool for lightweight modelling of discrete event systems. In: Proceedings of IADIS International Conference in Applied Computing 2005, pp. 209–216, Algarve, Portugal (2005)
Brucker, A.D.: An interactive proof environment for object-oriented specifications. PhD Thesis, ETH Zurich, March 2007. ETH Dissertation No. 17097
Brucker, A.D., Doser, J., Wolff, B.: Semantic issues of OCL: past, present, and future. Electronic Communications of the EASST, 5 (2006)
Brucker A.D., Wolff B.: HOL-OCL—a formal proof environment for UML/OCL. In: Fiadeiro, J., Inverardi, P. (eds) Fundamental Approaches to Software Engineering (FASE08) Lecture Notes in Computer Science, vol. 4961, pp. 97–100. Springer, Budapest (2008)
Bry, F., Manthey, R.: Checking consistency of database constraints: a logical basis. In: VLDB ’86: Proceedings of the 12th International Conference on Very Large Data Bases, San Francisco, CA, USA, pp. 13–20. Morgan Kaufmann, Menlo Park (1986)
Cabot, J., Clarisó, R., Riera, D.: UMLtoCSP: a tool for the formal verification of UML/OCL models using constraint programming. In: ASE ’07: Proceedings of the Twenty-Second Ieee/Acm International Conference on Automated Software Engineering, New York, NY, USA, pp. 547–548. ACM, New York (2007)
Cabot J., Teniente E.: Transformation techniques for OCL constraints. Sci. Comput. Program. 68(3), 179–195 (2007)
Cadoli, M., Calvanese, D., De Giacomo, G., Mancini, T.: Finite model reasoning on UML class diagrams via constraint programming. AIIA 2007: Artificial Intelligence and Human-Oriented Computing, pp. 36–47 (2007)
Chiorean, D., Paşca, M., Cârcu, A., Botiza, C., Moldovan, S.: Ensuring UML models consistency using the OCL environment. In: UML 2003—Workshop: OCL 2.0—Industry Standard or Scientific Playground? (2003)
Clarke E.M., Grumberg O., Peled D.A.: Model Checking. MIT Press, Cambridge (2000)
Correa A.L., Werner C.: Refactoring object constraint language specifications. Softw. Syst. Model. 6(2), 113–138 (2007)
Costal D., Gómez C., Queralt A., Raventós R., Teniente E.: Facilitating the definition of general constraints in UML. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds) MoDELS 2006, Lecture Notes in Computer Science, vol. 4199, pp. 260–274. Springer, Berlin (2006)
Costal, D., Gómez, C., Queralt, A., Raventós, R., Teniente, E.: Improving the definition of general constraints in UML. Soft. Syst. Model. (2008)
Damm, F.M., Hansen, B., Bruun, H.: On type checking in VDM and related consistency issues. In: 4th International Symposium of VDM Europe on Formal Software Development, Volume I, Lecture Notes in Computer Science, vol. 551, pp. 45–62 (1991)
Darvas A., Müller P.: Reasoning about method calls in interface specifications. J. Object Technol. 5, 59–85 (2006)
Davis J.P., Bonnell R.D.: Propositional logic constraint patterns and their use in UML-based conceptual modeling and analysis. IEEE Trans. Knowl. Data Eng. 19(3), 427–440 (2007)
Davis M., Logemann G., Loveland D.: A machine program for theorem-proving. Commun. ACM 5(7), 394–397 (1962)
Distefano, D., Katoen, J.-P., Rensink, A.: Towards model checking OCL. In: Proceedings of the ECOOP Workshop on Defining a Precise Semantics for UML (2000)
Dwyer, M.B., Avrunin, G.S., Corbett, J.C.: Property specification patterns for finite-state verification. In: FMSP ’98: Proceedings of the Second Workshop on Formal Methods in Software Practice, pp. 7–15, ACM Press, New York (1998)
Emmerich, W., Finkelstein, A., Nentwich, C.: Consistency management with repair actions. In: Proceedings of the 25th International Conference on Software Engineering, pp. 455–464, IEEE Computer Society, Portland, Oregon (2003)
Farré C., Teniente E., Urpí T.: Checking query containment with the CQC method. Data Knowl. Eng. 53(2), 163–223 (2005)
Gallier Jean H.: Logic for computer science: foundations of automatic theorem proving. Harper & Row, New York (1986)
Giese M., Larsson D.: Simplifying transformations of OCL constraints. In: Briand Lionel, C., Williams, C. (eds) MoDELS., pp. 309–323. MoDELS. Lecture Notes in Computer Science, vol. 3713, Springer (2005)
Glubrecht, J.-M., Oberschelp, A., Todt, G.: Klassenlogik. Bibliographisches Institut, Mannheim/Wien/Zürich (1983)
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)
Gogolla, M., Richters, M.: Expressing UML class diagrams properties with OCL. In: Object modeling with the OCL, the rationale behind the object constraint language, pp. 85–114 Springer, London (2002)
Hartmann S.: Coping with inconsistent constraint specifications. In: Kunii Hideko, S., Jajodia, S., Sølvberg, A. (eds.) ER, Lecture Notes in Computer Science, vol. 2224, pp. 241–255. Springer, Berlin (2001)
IBM. developerWorks. http://www.ibm.com/developerworks/, December 2007
Jackson D.: Alloy: a lightweight object modelling notation. ACM Trans. Softw. Eng. Methodol. 11(2), 256–290 (2002)
Jackson, D., Schechter, I., Shlyakhter, I.: Alcoa: the alloy constraint analyzer. In: Proceedings of the International Conference on Software Engineering, pp. 730–733 (2000)
Jonckers V., Mens T., Simmonds J., VanDer Straeten R.: Using description logic to maintain consistency between UML models. In: Stevens, P., Whittle, J., Booch, G. (eds) UML. Lecture Notes in Computer Science, vol. 2863, pp. 326–340. Springer, Berlin (2003)
Jones C.B.: Systematic software development using VDM. Prentice-Hall, Englewood Cliffs (1990) ISBN 0-13-880733-7
Kaneiwa K., Satoh K.: Consistency checking algorithms for restricted UML class diagrams. In: Dix, J., Hegner Stephen, J. (eds) FoIKS. Lecture Notes in Computer Science, vol. 3861, pp. 219–239. Springer, Berlin (2006)
Kent S.: Model driven engineering. In: Butler Michael, J., Petre, L., Sere, K. (eds) IFM. Lecture Notes in Computer Science, vol. 2335, pp. 286–298. Springer, Berlin (2002)
Kleppe A., Warmer J.: The object constraint language, 2nd edn. Addison-Wesley, Reading (2003)
Küster, J.M.: Consistency management of object-oriented behavioral models. PhD Thesis, University of Paderborn (2004)
Küster, J.M., Ryndina, K., Gall, H.: Generation of business process models for object life cycle compliance. In: Proceedings of the 5th International Conference on Business Process Management (BPM) Lecture Notes in Computer Science, vol. 4714, pp. 165–181. Springer, Berlin (2007)
Kyas M., Fecher H., de Boer F.S., Jacob J., Hooman J., van der Zwaag M., Arons T., Kugler H.: Formalizing UML models and OCL constraints in PVS. Electron. Notes Theor. Comput. Sci. 115, 39–47 (2005)
Leuschel M., Butler M.J.: ProB: an automated analysis toolset for the B method. STTT 10(2), 185–203 (2008)
Liskov B.H., Wing J.M.: A behavioral notion of subtyping. ACM Trans. Programm. Lang. Syst. 16(6), 1811–1841 (1994)
Maraee A., Balaban M.: Efficient reasoning about finite satisfiability of UML class diagrams with constrained generalization sets. In: Akehurst David, H., Vogel, R., Paige Richard, F. (eds) ECMDA-FA, Lecture Notes in Computer Science, vol. 4530, pp. 17–31. Springer, Berlin (2007)
Miliauskaitė E., Nemuraitė L.: Representation of integrity constraints in conceptual models. Inf. Technol. Control 34(4), 355–365 (2005)
Nipkow T., Paulson L.C., Wenzel M.: Isabelle/HOL—a proof assistant for higher-order logic. Lecture Notes in Computer Science, vol. 2283. Springer, Berlin (2002)
Object Management Group (OMG): UML 2.0 OCL Final Adopted Specification. http://www.omg.org/cgi-bin/apps/doc?ptc/03-10-14.pdf (2003)
Object Management Group (OMG): Unified Modeling Language: Superstructure. Version 2.1. http://www.omg.org/cgi-bin/doc?ptc/2006-04-02, April (2006)
Owre S., Rajan S., Rushby J.M., Shankar N., Srivas M.: PVS: combining specification, proof checking, and model checking. Comput. Aided Verif. CAV 96, 411–414 (1996)
Queralt, A., Teniente, E.: Reasoning on UML class diagrams with OCL constraints. In: Proceedings of the 25th International Conference on Conceptual Modeling (ER 2006). Lecture Notes in Computer Science, vol. 4215, pp. 497–512. Springer, Berlin (2006)
Queralt A., Teniente E.: Decidable reasoning in UML schemas with constraints. In: Bellahsene, Z., Léonard, M. (eds) CAiSE. Lecture Notes in Computer Science, vol. 5074, pp. 281–295. Springer, Berlin (2008)
Sabetzadeh, M., Nejati, S., Liaskos, S., Easterbrook, S., Chechik, M.: Consistency checking of conceptual models via model merging. In: Proceedings of the 15th IEEE International Requirements Engineering Conference 2007 (2007)
Snook C.F., Butler M.J.: UML-B: formal modeling and design aided by UML. ACM Trans. Softw. Eng. Methodol. 15(1), 92–122 (2006)
Wahler, M.: Model-driven software development: integrating quality assurance, Chap A. Pattern approach to increasing the maturity level of class models. Idea Group Inc. (2008)
Wahler, M.: Using patterns to develop consistent design constraints. PhD thesis, No. 17643. ETH Zurich, Switzerland, February (2008)
Wahler, M., Ackerman, L., Schneider, S.: Using the IBM constraint patterns and consistency analysis extension. A step by step guide. http://www.ibm.com/developerworks/edu/dw-r-conpatcon.html?S_TACT=105AGX15&S_CMP=EDU. May (2008)
Wahler, M., Koehler, J., Brucker, A.D.: Model-driven constraint engineering. Electronic Communications of the EASST, 5 (2006)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Dr. Alessandra Cavarra.
Rights and permissions
About this article
Cite this article
Wahler, M., Basin, D., Brucker, A.D. et al. Efficient analysis of pattern-based constraint specifications. Softw Syst Model 9, 225–255 (2010). https://doi.org/10.1007/s10270-009-0123-6
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-009-0123-6