skip to main content
research-article

Finite satisfiability of UML class diagrams with constrained class hierarchy

Published:30 July 2013Publication History
Skip Abstract Section

Abstract

Models lie at the heart of the emerging model-driven engineering approach. In order to guarantee precise, consistent, and correct models, there is a need for efficient powerful methods for verifying model correctness. Class diagram is the central language within UML. Its correctness problems involve issues of contradiction, namely the consistency problem, and issues of finite instantiation, namely the finite satisfiability problem.

This article analyzes the problem of finite satisfiability of class diagrams with class hierarchy constraints and generalization-set constraints. The article introduces the FiniteSat algorithm for efficient detection of finite satisfiability in such class diagrams, and analyzes its limitations in terms of complex hierarchy structures. FiniteSat is strengthened in two directions. First, an algorithm for identification of the cause for a finite satisfiability problem is introduced. Second, a method for propagation of generalization-set constraints in a class diagram is introduced. The propagation method serves as a preprocessing step that improves FiniteSat performance, and helps developers in clarifying intended constraints. These algorithms are implemented in the FiniteSatUSE tool [BGU Modeling Group 2011b], as part of our ongoing effort for constructing a model-level integrated development environment [BGU Modeling Group 2010a].

References

  1. Alanen, M. and Porres, I. 2008. A metamodeling language supporting subset and union properties. Softw. Syst. Model. 7, 1, 103--124.Google ScholarGoogle ScholarCross RefCross Ref
  2. Anastasakis, K., Bordbar, B., Georg, G., and Ray, I. 2010. On challenges of model transformation from uml to alloy. Softw. Syst. Model. 9, 1, 69--86.Google ScholarGoogle ScholarCross RefCross Ref
  3. Andre, P., Romanczuk-Requile, A., Royer, J.-C., and Vasconcelos. 2000. Checking the consistency of uml class diagrams using larch prover. In Proceedings of the International Conference on Rigorous Object-Oriented Methods. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Artale, A., Calvanese, D., and Ibanez-Garcia, A. 2010. Full satisfiability of uml class diagrams. In Proceedings of the 29th International Conference on Conceptual Modeling (ER'10). Lecture Notes in Computer Science, vol. 6412, Springer, 317--331. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Artale, A., Calvanese, D., Kontchakov, R., Ryzhikov, V., and Zakharyaschev, M. 2007. Complexity of reasoning in entity relationship models. In Proceedings of the Description Logic Workshop (DL'07).Google ScholarGoogle Scholar
  6. Balaban, M. and Maraee, A. 2008. A uml-based method for deciding finite satisfiability in description logics. In Proceedings of the 21st International Workshop on Description Logics.Google ScholarGoogle Scholar
  7. Balaban, M., Maraee, A., and Sturm, A. 2010. Management of correctness problems in uml class diagrams -- Towards a pattern-based approach. Int. J. Inf. Syst. Model. Des. 1, 4, 24--47. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Balaban, M. and Shoval, P. 2002. MEER -- An eer model enhanced with structure methods. Inf. Syst. 27, 4, 245--275.Google ScholarGoogle ScholarCross RefCross Ref
  9. Bayley, C. 2004. Modelling interlocking systems with uml. In Proceedings of the IEE Seminar on Railway System Modelling- Not Just for Fun. 1--3.Google ScholarGoogle ScholarCross RefCross Ref
  10. Berardi, D., Calvanese, D., and Giacomo, D. 2005. Reasoning on uml class diagrams. Artif. Intell. 168, 70--118. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Berrabah, D. and Boufares, F. 2008. Constraints satisfaction problems in data modeling. In Proceedings of the 5th International Conference on Soft Computing as Transdisciplinary Science and Technology (CSTST'08). ACM Press, New York, 292--297. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Bgu Modeling Group. 2010a. http://www.cs.bgu.ac.il/∼modeling/.Google ScholarGoogle Scholar
  13. Bgu Modeling Group. 2010b. UML Class Diagram Pattern Catalog. http://www.cs.bgu.ac.il/∼cd-patterns/.Google ScholarGoogle Scholar
  14. Bgu Modeling Group. 2011a. Description of the FiniteSatUSE Tool. http://www.cs.bgu.ac.il/∼modeling/?page_id=314.Google ScholarGoogle Scholar
  15. Bgu Modeling Group. 2011b. FiniteSatUSE -- A Class Diagram Correctness Tool. http://sourceforge.net/projects/usefsverif/.Google ScholarGoogle Scholar
  16. Bgu Modeling Group. 2011c. Model-driven integrated development environment (MIDE). http://www.cs.bgu.ac.il/∼modeling/?page_id=235.Google ScholarGoogle Scholar
  17. Blaha, M. and Premerlani, W. 1997. Object-Oriented Modeling and Design for Database Applications 1st Ed. Prentice Hall. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Boufares, F. and Bennaceur, H. 2004. Consistency problems in er-schemas for database systems. Inf. Sci. 163, 4, 263--274. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Brucker, A. and Wolff, B. 2006. The HOL-OCL book. Tech. rep. 525, Information Security, Swiss Federal Institute of Technolgy (ETH), 8092 Zurich, Switzerland. August.Google ScholarGoogle Scholar
  20. Brucker, A. and Wolff, B. 2008. HOL-OCL: A formal proof environment for uml/ocl. In Proceedings of the 11th International Conference on Fundamental Approaches to Software Engineering and Fundamental Approaches to Software Engineering. Lecture Notes in Computer Science, vol. 4961, Springer, 97--100. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Cabot, J., Clariso, R., and Riera, D. 2007. UML to csp: A tool for the formal verification of uml/ocl models using constraint programming. In Proceedings of the 22nd IEEE-ACM International Conference on Automated Software Engineering (ASE'07). ACM Press, New York, 547--548. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Cabot, J., Clariso, R., and Riera, D. 2008. Verification of uml/ocl class diagrams using constraint programming. In Proceedings of the IEEE International Conference on Software Testing Verification and Validation Workshop (ICSTW'08). IEEE Computer Society, 73--80. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Cadoli, M., Calvanese, D., De Giacomo, G., and Mancini, T. 2004. Finite satisfiability of uml class diagrams by constraint programming. In Proceedings of the CP Workshop on CSP Techniques with Immediate Application.Google ScholarGoogle Scholar
  24. Calvanese, D. and Lenzerini, M. 1994. On the interaction between isa and cardinality constraints. In Proceedings of the 10th International Conference on Data Engineering. IEEE Computer Society, 204--213. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Chanda, J., Kanjilal, A., and Sengupta, S. 2010. UML-compiler: A framework for syntactic and semantic verification of uml diagrams. In Proceedings of the 6th International Conference on Distributed Computing and Internet Technology. Lecture Notes in Computer Science, vol. 5966, Springer, 194--205. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Chen, P. 1976. The entity-relationship model toward a unified view of data. ACM Trans. Data. Syst. 1, 1, 9--36. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Engel, K. and Hartman, S. 1995. Constructing Realizers of Semantic Entity Relationship Schemes. Tech. rep., Universitat Rostock, Fachbereich Mathematik, Rostock, Germany.Google ScholarGoogle Scholar
  28. European Rail Traffic Management System. 2007. Euro- interlocking: European standards for railways interlocking systems. http://ertms.uic.asso.fr/documents/interlocking/interlock_brochure.pdf.Google ScholarGoogle Scholar
  29. Falkner, A., Feinerer, I., Salzer, G., and Schenner, G. 2010. Computing product configurations via uml and integer linear programming. Int. J. Mass Customisation 3, 4, 351--367.Google ScholarGoogle ScholarCross RefCross Ref
  30. Feinerer, I. 2007. A formal treatment of uml class diagrams as an efficient method for configuration management. Ph.D. thesis, Theory and Logic Group, Institute of Computer Languages, Vienna University of Technology.Google ScholarGoogle Scholar
  31. Feinerer, I., Salzer, G., and Sisel, T. 2011. Reducing multiplicities in class diagrams. In Proceedings of the 14th International Conference on Model Driven Engineering Languages and Systems. J. Whittle, T. Clark, and T. Kuhne, Eds, Lecture Notes in Computer Science, vol. 6981, Springer, 379--393. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Felfernig, A., Friedrich, G., and Jannach, D. 2001. Conceptual modeling for configuration of mass-customizable products. Art. Intell. Engin. 15, 2, 165--176.Google ScholarGoogle ScholarCross RefCross Ref
  33. Fleishanderl, G., Friedrich, G., Haselbock, A., Schreiner, H., and Stumptner, M. 1998. Configuring large systems using generative constraint satisfaction. IEEE Intell. Syst. Appl. 13, 4, 59--68. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Formica, A. 2002. Finite satisfiability of integrity constraints in object-oriented database schemas. IEEE Trans. Knowl. Data Engin. 14, 1, 123--139. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Georg, G., Bieman, J., and France, R. 2001. Using alloy and uml/ocl to specify run-time configuration management: A case study. In Practical UML-Based Rigorous Development Methods-- Countering or Integrating the eXtremists, A. Evans, R. France, A. Moreira, and B. Rumpe, Eds, LNI Series, vol. P-7, German Informatics Society, 128--141. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Gogolla, M., Bohling, J., and Richters, M. 2005. Validating uml and ocl models in use by automatic snapshot generation. J. Softw. System Model. 4, 386--398.Google ScholarGoogle ScholarCross RefCross Ref
  37. Gogolla, M., Kuhlmann, M., and Hamann, L. 2009. Consistency, independence and consequences in uml and ocl models. In Proceedings of the 3rd International Conference on Tests and Proofs. Lecture Notes in Computer Science, vol. 5668, Springer, 90--104. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Gogolla, M. and Richters, M. 2002. Expressing uml class diagram properties with ocl. In Object Modeling with the OCL, Lecture Notes in Computer Science, vol. 2263, Springer, 423--426. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Hartmann, S. 1995. Graph-theoretical methods to construct entity-relationship databases. In Proceedings of the 21st International Workshop on Graph-Theoretic Concepts in Computer Science. Lecture Notes in Computer Science, vol. 1017, Springer, 131--145. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Hartmann, S. 2001. Coping with Inconsistent Constraint Specifications. In Proceedings of the 20th International Conference on Conceptual Modeling. Lecture Notes in Computer Science, vol. 2224, Springer, 241--255. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Jackson, D. 2002. Alloy: A lightweight object modelling notation. ACM Trans. Softw. Engin. Methodol. 11, 2, 256--290. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Jackson, D. 2006. Software Abstractions: Logic, Language and Analysis. The MIT Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Jackson, D. and Rinard, M. 2004. Software analysis: A roadmap. In Proceedings of the Conference on the Future of Software Engineering. ACM Press, New York, 133--145. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Jarrar, M. and Heymans, S. 2008. Towards pattern-based reasoning for friendly ontology debugging. Int. J. Artif. Intell. Tools 17, 4, 607--634.Google ScholarGoogle ScholarCross RefCross Ref
  45. Kaneiwa, K. and Satoh, K. 2010. On the complexities of consistency checking for restricted uml class diagrams. Theor. Comput. Sci. 411, 2, 301--323. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Kleppe, A., Warmer, J., and Bast, W. 2003. MDA Explained: The Model Driven Architecture(TM): Practice and Promise. 1st Ed. Addison-Wesley Professional. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Korovin, K. and Voronkov, A. 2001. Verifying orientability of rewrite rules using the knuth-bendix order. In Proceedings of the 12th International Conference on Rewriting Techniques and Applications. Lecture Notes in Computer Science, vol. 2051, Springer, 137--153. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Kuhlmann, M., Hamann, L., and Gogolla, M. 2011. Extensive validation of ocl models by integrating sat solving into use. In Proceedings of the 49th International Conference on Objects, Models, Components, Patterns (TOOLS'11). Lecture Notes in Computer Science, vol. 6705. Springer, 290--306. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Lange, C., Chaudron, M., and J., M. 2006. In practice: UML software architecture and design description. IEEE Softw. 23, 2, 40--46. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Lenzerini, M. and Nobili, P. 1990. On the satisfiability of dependency constraints in entity-relationship schemata. Inf. Syst. 15, 4, 453--461. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. Lichtman, M. L. 1978. A unified approach for finding real and integer solutions to systems of linear inequalities. Appl. Math. Comput. 4, 177--186.Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. Lutz, C., Sattler, U., and Tendera, L. 2005. The complexity of finite model reasoning in description logics. Inf. Comput. 199, 132--171. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. Makarenkov, V., Jelnov, P., Maraee, A., and Balaban, M. 2009. Finite satisfiability of class diagrams: Practical occurrence and scalability of the finite-sat algorithm. In Proceedings of the 6th International Workshop on Model-Driven Engineering, Verification and Validation (MoDeVVa'09). ACM Press, New York, 1--10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Maoz, S., Ringert, J., and Rumpe, B. 2011. CD2Alloy: Class diagrams analysis using alloy revisited. In Proceedings of the 14th International Conference on Model Driven Engineering Languages and Systems Model Driven Engineering Languages and Systems. J. Whittle, T. Clark, and T. Kuhne, Eds, Lecture Notes in Computer Science, vol. 6981, Springer, 592--607. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. Maraee, A. 2007. Efficient methods for solving finite satisfiability Problems in uml class diagrams. M.S. thesis, Ben-Gurion University of the Negev.Google ScholarGoogle Scholar
  56. Maraee, A. and Balaban, M. 2007. Efficient reasoning about finite satisfiability of uml class diagrams with constrained generalization sets. In Proceedings of the 3rd European Conference on Model-Driven Architecture. Lecture Notes in Computer Science, vol. 4530, Springer, 17--31. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. Maraee, A. and Balaban, M. 2011. On the interaction of inter-relationship constraints. In Workshop on Model-Driven Engineering, Verification and Validation (MoDeVVA'11). Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. Maraee, A., Balaban, M., Sturm, A., and Ashrov, A. 2011. Model correctness patterns as an educational instrument. In Proceedings of the 7th Educators' Symposium, (MODELS'11): Software Modeling in Education.Google ScholarGoogle Scholar
  59. Maraee, A., Makarenkov, V., and Balaban, B. 2008. Efficient recognition and detection of finite satisfiability problems in uml class diagrams: Handling constrained generalization sets, qualifiers and association class constraints. In Proceedings of the 1st International Workshop on Model Co-Evolution and Consistency Management (MoDELS'08).Google ScholarGoogle Scholar
  60. Niederbrucker and Sisel 2011. Clews website. http://www.logic.at/clews/index.html.Google ScholarGoogle Scholar
  61. Object Management Group. 2006. UML 2.0 object constraint language specification. Object Management Group. http://www.omg.org/spec/OCL/2.0/.Google ScholarGoogle Scholar
  62. Omg. 2007. The UML 2.0 Superstructure specification. Specification version 2, Object Management Group. http://www.omg.org/spec/UML/2.1.2/.Google ScholarGoogle Scholar
  63. Paton, N., Khan, S., Hayes, A., Moussouni, F., Brass, A., Eilbeck, K., Goble, C., Hubbard, S., and Oliver, S. 2000. Conceptual modelling of genomic information. Bioinformat. 16, 6, 548--557.Google ScholarGoogle ScholarCross RefCross Ref
  64. Queralt, A., Rull, G., Teniente, E., Farre, C., and Urpi, T. 2010. AuRUS: Automated reasoning on uml/ocl schemas. In Proceedings of the 29th International Conference on Conceptual Modeling (ER'10). Lecture Notes in Computer Science, vol. 6412, Springer, 438--444. Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. Queralt, A. and Teniente, E. 2006. Reasoning on uml class diagrams with ocl constraints. In Proceedings of the 25th International Conference on Conceptual Modeling (ER'06). Vol. 4215, Springer, 497--512. Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. Queralt, A. and Teniente, E. 2008. Decidable reasoning in uml schemas with constraints. In Proceedings of the 20th International Conference on Advanced Information Systems Engineering. Lecture Notes in Computer Science, vol. 5074, Springer, 354--254. Google ScholarGoogle ScholarDigital LibraryDigital Library
  67. Schild, K. 1991. A correspondence theory for terminological logics: Preliminary report. In Proceedings of the 12th International Joint Conference on Artificial Intelligence (IJCAI'91), Vol. 1, Morgan Kaufmann Publishers, 466--471. Google ScholarGoogle ScholarDigital LibraryDigital Library
  68. Schrijver, A. 1998. Theory of Linear and Integer Programming. John Wiley and Sons.Google ScholarGoogle Scholar
  69. Shaikh, A., ClarisÓ, R.,Wiil, U., and Memon, N. 2010. Verification-driven slicing of uml/ocl models. In Proceedings of the IEEE/ACM International Conference on Automated Software Engineering. ACM Press, New York, 185--194. Google ScholarGoogle ScholarDigital LibraryDigital Library
  70. Shaikh, A., Wiil, U., and Memon, N. 2011. UOST: UML/OCL aggressive slicing technique for efficient verification of models. In Proceedings of the 6th Workshop on System Analysis and Modelling. Lecture Notes in Computer Science, vol. 6598, Springer, 173--192. Google ScholarGoogle ScholarDigital LibraryDigital Library
  71. Soeken, M., Wille, R., Kuhlmann, M., Gogolla, M., and Drechsler, R. 2010. Verifying uml/ocl models using boolean satisfiability. In Proceedings of the Conference on Design, Automation and Test in Europe (DATE'10). European Design and Automation Association, 1341--1344. Google ScholarGoogle ScholarDigital LibraryDigital Library
  72. Spaccapietra, E., Ed. 1987. Entity-relationship approach: Ten years of experience in information modeling. In Proceedings of the 5th International Conference on Entity-Relation. Elsevier Science Ltd.Google ScholarGoogle Scholar
  73. Sunye, G., Pollet, D., Le Taraon, Y., and J. -M, J. 2001. Refactoring uml models. In Proceedings of the 4th International Conference on the Unified Modeling Language, Modeling Languages, Concepts, and Tools (UML'01). Lecture Notes in Computer Science, vol. 2185, Springer, 134--148. Google ScholarGoogle ScholarDigital LibraryDigital Library
  74. Thalheim, B. 1992. Fundamentals of cardinality constraints. In Proceedings of the 11th International Conference on the Entity-Relationship Approach. Springer, 7--23. Google ScholarGoogle ScholarDigital LibraryDigital Library
  75. Thalheim, B. 2000. Entity Relationship Modeling, Foundation of Database Technology. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  76. Wahler, M., Basin, D., D. Brucker, D., and Koehler, K. 2010. Efficient analysis of pattern-based constraint specifications. Softw. Syst. Model. 9, 2, 225--255.Google ScholarGoogle ScholarCross RefCross Ref
  77. Warmer, J. and Kleppe, A. 2003. The Object Constraint Language: Getting Your Models Ready for MDA, 2nd ed. Addison-Wesley Longman Publishing. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Finite satisfiability of UML class diagrams with constrained class hierarchy

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader