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].
- Alanen, M. and Porres, I. 2008. A metamodeling language supporting subset and union properties. Softw. Syst. Model. 7, 1, 103--124.Google ScholarCross Ref
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- Balaban, M. and Shoval, P. 2002. MEER -- An eer model enhanced with structure methods. Inf. Syst. 27, 4, 245--275.Google ScholarCross Ref
- 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 ScholarCross Ref
- Berardi, D., Calvanese, D., and Giacomo, D. 2005. Reasoning on uml class diagrams. Artif. Intell. 168, 70--118. Google ScholarDigital Library
- 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 ScholarDigital Library
- Bgu Modeling Group. 2010a. http://www.cs.bgu.ac.il/∼modeling/.Google Scholar
- Bgu Modeling Group. 2010b. UML Class Diagram Pattern Catalog. http://www.cs.bgu.ac.il/∼cd-patterns/.Google Scholar
- Bgu Modeling Group. 2011a. Description of the FiniteSatUSE Tool. http://www.cs.bgu.ac.il/∼modeling/?page_id=314.Google Scholar
- Bgu Modeling Group. 2011b. FiniteSatUSE -- A Class Diagram Correctness Tool. http://sourceforge.net/projects/usefsverif/.Google Scholar
- Bgu Modeling Group. 2011c. Model-driven integrated development environment (MIDE). http://www.cs.bgu.ac.il/∼modeling/?page_id=235.Google Scholar
- Blaha, M. and Premerlani, W. 1997. Object-Oriented Modeling and Design for Database Applications 1st Ed. Prentice Hall. Google ScholarDigital Library
- Boufares, F. and Bennaceur, H. 2004. Consistency problems in er-schemas for database systems. Inf. Sci. 163, 4, 263--274. Google ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Chen, P. 1976. The entity-relationship model toward a unified view of data. ACM Trans. Data. Syst. 1, 1, 9--36. Google ScholarDigital Library
- Engel, K. and Hartman, S. 1995. Constructing Realizers of Semantic Entity Relationship Schemes. Tech. rep., Universitat Rostock, Fachbereich Mathematik, Rostock, Germany.Google Scholar
- 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 Scholar
- 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 ScholarCross Ref
- 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 Scholar
- 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 ScholarDigital Library
- Felfernig, A., Friedrich, G., and Jannach, D. 2001. Conceptual modeling for configuration of mass-customizable products. Art. Intell. Engin. 15, 2, 165--176.Google ScholarCross Ref
- 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 ScholarDigital Library
- Formica, A. 2002. Finite satisfiability of integrity constraints in object-oriented database schemas. IEEE Trans. Knowl. Data Engin. 14, 1, 123--139. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Jackson, D. 2002. Alloy: A lightweight object modelling notation. ACM Trans. Softw. Engin. Methodol. 11, 2, 256--290. Google ScholarDigital Library
- Jackson, D. 2006. Software Abstractions: Logic, Language and Analysis. The MIT Press. Google ScholarDigital Library
- 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 ScholarDigital Library
- Jarrar, M. and Heymans, S. 2008. Towards pattern-based reasoning for friendly ontology debugging. Int. J. Artif. Intell. Tools 17, 4, 607--634.Google ScholarCross Ref
- 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 ScholarDigital Library
- Kleppe, A., Warmer, J., and Bast, W. 2003. MDA Explained: The Model Driven Architecture(TM): Practice and Promise. 1st Ed. Addison-Wesley Professional. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Lange, C., Chaudron, M., and J., M. 2006. In practice: UML software architecture and design description. IEEE Softw. 23, 2, 40--46. Google ScholarDigital Library
- Lenzerini, M. and Nobili, P. 1990. On the satisfiability of dependency constraints in entity-relationship schemata. Inf. Syst. 15, 4, 453--461. Google ScholarDigital Library
- 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 ScholarDigital Library
- Lutz, C., Sattler, U., and Tendera, L. 2005. The complexity of finite model reasoning in description logics. Inf. Comput. 199, 132--171. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Maraee, A. 2007. Efficient methods for solving finite satisfiability Problems in uml class diagrams. M.S. thesis, Ben-Gurion University of the Negev.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- Niederbrucker and Sisel 2011. Clews website. http://www.logic.at/clews/index.html.Google Scholar
- Object Management Group. 2006. UML 2.0 object constraint language specification. Object Management Group. http://www.omg.org/spec/OCL/2.0/.Google Scholar
- Omg. 2007. The UML 2.0 Superstructure specification. Specification version 2, Object Management Group. http://www.omg.org/spec/UML/2.1.2/.Google Scholar
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Schrijver, A. 1998. Theory of Linear and Integer Programming. John Wiley and Sons.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- Thalheim, B. 1992. Fundamentals of cardinality constraints. In Proceedings of the 11th International Conference on the Entity-Relationship Approach. Springer, 7--23. Google ScholarDigital Library
- Thalheim, B. 2000. Entity Relationship Modeling, Foundation of Database Technology. Springer. Google ScholarDigital Library
- 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 ScholarCross Ref
- Warmer, J. and Kleppe, A. 2003. The Object Constraint Language: Getting Your Models Ready for MDA, 2nd ed. Addison-Wesley Longman Publishing. Google ScholarDigital Library
Index Terms
- Finite satisfiability of UML class diagrams with constrained class hierarchy
Recommendations
Consistency of UML class diagrams with hierarchy constraints
NGITS'06: Proceedings of the 6th international conference on Next Generation Information Technologies and SystemsUML class diagrams are probably the most important, well-established, UML model. They play an essential role in the analysis and design of complex systems. UML class diagrams allow the specification of constraints such as cardinality constraints, class ...
Efficient reasoning about finite satisfiability of UML class diagrams with constrained generalization sets
ECMDA-FA'07: Proceedings of the 3rd European conference on Model driven architecture-foundations and applicationsUML class diagrams play a central role in the design and specification of software, databases and ontologies. The model driven architecture approach emphasizes the central role that models play, towards achieving reliable software. It is important that ...
Finite satisfiability of class diagrams: practical occurrence and scalability of the FiniteSat algorithm
MoDeVVa '09: Proceedings of the 6th International Workshop on Model-Driven Engineering, Verification and ValidationModels lie at the heart of the emerging Model Driven Development (MDD) approach, in which software is developed by repeated transformations of models. Since models are intended as executable specifications, there is a need to provide correctness ...
Comments