Software & Systems Modeling

, Volume 18, Issue 4, pp 2717–2751 | Cite as

Removing redundant multiplicity constraints in UML class models

  • Mira Balaban
  • Azzam MaraeeEmail author
Regular Paper


Models are central for the development and management of complex systems. In order to be useful along the entire life cycle of software they must provide reliable support and enable automatic management. For that purpose, they must be precise, consistent, correct, and be subject to stringent quality verification and control criteria. Model automation calls for deep formal study of models, so that tools can provide inclusive support to users. This paper deals with optimization of multiplicity constraints in Class Models, i.e., models that provide abstraction on the static structure of software. The paper introduces an in-depth analysis of redundancy of multiplicity constraints, i.e., multiplicities that cannot be realized in any legal instance. The analysis includes: (1) a formal study of gaps of redundancies in multiplicity intervals; (2) algorithmic and rule-based methods for removing redundancies in multiplicity constraints; (3) a formal study of completeness of the algorithmic procedures, with respect to most UML class model constraints. The algorithmic procedures are implemented in our FiniteSatUSE tool. To the best of our knowledge, there is no previous study of properties of multiplicity redundancy, no completeness analysis of tightening methods, and no systematic study of these features with respect to most UML class model constraints.


Class models MBSE Formal semantics Multiplicity constraints Correctness Quality Redundancy Verification Boundary tight Tightening methods Model optimization Multiplicity tightening Tightening rules 


  1. 1.
    Maraee, A.: UML Class Diagrams—Semantics, Correctness and Quality. Ph.D. thesis, Ben Gurion University of the Negev (2012)Google Scholar
  2. 2.
    Balaban, M., Maraee, A.: Finite satisfiability of UML class diagrams with constrained class hierarchy. ACM Trans. Softw. Eng. Methodol. TOSEM 22, 24:1–24:42 (2013)Google Scholar
  3. 3.
    Maraee, A., Balaban, M.: Inter-association constraints in UML2: comparative analysis, usage recommendations, and modeling guidelines. In: MoDELS 2012 (2012)Google Scholar
  4. 4.
    Balaban, M., Maraee, A., Sturm, A., Jelnov, P.: A pattern-based approach for improving model design quality. Softw. Syst. Model. SoSyM 1–29 (2015)Google Scholar
  5. 5.
    Balaban, M., Maraee, A.: Simplification and correctness of UML class diagram—focusing on multiplicity and aggregation/composition constraints. In: Model-Driven Engineering Languages and Systems. Volume 8107 of LNSC, pp. 454–470. Springer, Berlin (2013)Google Scholar
  6. 6.
    Maraee, A., Balaban, M.: Removing redundancies and deducing equivalences in UML class diagrams. In: Model-Driven Engineering Languages and Systems, pp. 235–251. Springer (2014)Google Scholar
  7. 7.
  8. 8.
    OMG: Semantics of a Foundational Subset for Executable UML Models (fUML). (2017)
  9. 9.
    OMG: Action Language for Foundational UML Specification (ALF). (2017)
  10. 10.
    Costal, D., Gómez, C.: On the use of association redefinition in UML class diagrams. In: Conceptual Modeling-ER 2006, pp. 513–527. Springer (2006)Google Scholar
  11. 11.
    Kleppe, A., Rensink, A.: On a graph-based semantics for UML class and object diagrams. In: Ermel, C., Lara, J.D., Heckel, R. (eds.) Graph Transformation and Visual Modelling Techniques. Volume 10 of Electronic Communications of the EASST. EASST, Poznań (2008)Google Scholar
  12. 12.
    Alanen, M., Porres, I.: A metamodeling language supporting subset and union properties. Softw. Syst. Model. 7, 103–124 (2008)CrossRefGoogle Scholar
  13. 13.
    Costal, D., Gómez, C., Guizzardi, G.: Formal semantics and ontological analysis for understanding subsetting, specialization and redefinition of associations in UML. In: International Conference on Conceptual Modeling (ER 2011), pp. 189–203. Springer (2011)Google Scholar
  14. 14.
    Hamann, L., Gogolla, M.: Endogenous metamodeling semantics for structural UML 2 concepts. In: International Conference on Model Driven Engineering Languages and Systems (MODELS 2013), pp. 488–504. Springer (2013)Google Scholar
  15. 15.
    OMG: OMG Object Constraint Language (OCL). (2012)
  16. 16.
    Warmer, J., Kleppe, A.: The Object Constraint Language: Getting Your Models Ready for MDA. Addison-Wesley Longman Publishing Co. Inc, Boston (2003)Google Scholar
  17. 17.
    Balaban, M., Maraee, A.: UML Class Model: Abstract Syntax and Set-Based Semantics. (2018)
  18. 18.
    Berardi, D., Calvanese, D., Giacomo, D.: Reasoning on UML class diagrams. Artif. Intell. 168, 70–118 (2005)MathSciNetCrossRefzbMATHGoogle Scholar
  19. 19.
    Gogolla, M., Bohling, J., Richters, M.: Validating UML and OCL models in USE by automatic snapshot generation. J. Softw. Syst. Model. 4, 386–398 (2005)CrossRefGoogle Scholar
  20. 20.
    Balaban, M., Maraee, A., Sturm, A.: Management of correctness problems in UML class diagrams—towards a pattern-based approach. Int. J. Inf. Syst. Model. Des. 1, 24–47 (2010)CrossRefGoogle Scholar
  21. 21.
    Lenzerini, M., Nobili, P.: On the satisfiability of dependency constraints in entity-relationship schemata. Inf. Syst. 15, 453–461 (1990)CrossRefGoogle Scholar
  22. 22.
    BGU Modeling Group: FiniteSatUSE—A Class Diagram Correctness Tool. (2013)
  23. 23.
    Egyed, A.: Automated abstraction of class diagrams. ACM Trans. Softw. Eng. Methodol. TOSEM 11, 449–491 (2002)CrossRefGoogle Scholar
  24. 24.
    Shoval, P., Danoch, R., Balaban, M.: Hierarchical ER diagrams (HERD)—the method and experimental evaluation. In: Olivé, A., Yoshikawa, M., Yu, E. (eds.) Advanced Conceptual Modeling Techniques, pp. 264–274. Springer, Berlin, Heidelberg (2003)Google Scholar
  25. 25.
    Wahler, M., Basin, D., Brucker, D., Koehler, K.: Efficient analysis of pattern-based constraint specifications. Softw. Syst. Model. 9, 225–255 (2010)CrossRefGoogle Scholar
  26. 26.
    BGU Modeling Group: UML Class Diagram Patterns, Anti-Patterns and Inference Rules. (2014)
  27. 27.
    Diskin, Z., Easterbrook, S.M., Dingel, J.: Engineering associations: from models to code and back through semantics. In: TOOLS (46), pp. 336–355. Springer (2008)Google Scholar
  28. 28.
    OMG: UML 2.4 Superstructure Specification. (2011)
  29. 29.
    Cali, A., Gottlob, G., Orsi, G., Pieris, A.: Querying UML class diagrams. In: Foundations of Software Science and Computational Structures. Number 7213 in LNCS, pp. 1–25. Springer, Berlin (2012)Google Scholar
  30. 30.
    Artale, A., Calvanese, D., Ibánez-Garcıa, A.: Full satisfiability of UML class diagrams. In: Proceedings of the 29th International Conference on Conceptual Modeling (ER 2010) (2010)Google Scholar
  31. 31.
    Lutz, C., Sattler, U., Tendera, L.: The complexity of finite model reasoning in description logics. Inf. Comput. 199, 132–171 (2005)MathSciNetCrossRefzbMATHGoogle Scholar
  32. 32.
    Kaneiwa, K., Satoh, K.: On the complexities of consistency checking for restricted UML class diagrams. Theor. Comput. Sci. 411, 301–323 (2010)MathSciNetCrossRefzbMATHGoogle Scholar
  33. 33.
    Queralt, A., Artale, A., Calvanese, D., Teniente, E.: OCL-lite: finite reasoning on UML/OCL conceptual schemas. Data Knowl. Eng. 73, 1–22 (2012)CrossRefGoogle Scholar
  34. 34.
    Calvanese, D., Lenzerini, M., Nardi, D.: Description logics for conceptual data modeling. In: Chomicki, J., Saake, G. (eds.) Logics for Databases and Information Systems, pp. 229–263. Kluwer Academic Publishers (1998)Google Scholar
  35. 35.
    Satoh, K., Kaneiwa, K., Uno, T.: Contradiction finding and minimal recovery for UML class diagrams. In: The 21st IEEE International Conference on Automated Software Engineering, pp. 277–280 (2006)Google Scholar
  36. 36.
    Rosati, R.: Finite model reasoning in DL-lite. In: The Semantic Web: Research and Applications. Volume 5021 of LNCS, pp. 215–229. Springer, Berlin (2008)Google Scholar
  37. 37.
    Angélica Ibáñez-García, Y.: Finite model reasoning in DL-lite with cardinality constraints. In: Kazakov, Y., Lembo, D., Wolter. F. (eds.) Description Logics. CEUR Workshop Proceedings (2012)Google Scholar
  38. 38.
    Cadoli, M., Calvanese, D., De Giacomo, G., Mancini, T.: Finite model reasoning on UML class diagrams via constraint programming. In: AI*IA 2007: Artificial Intelligence and Human-Oriented Computing, pp. 36–47 (2007)Google Scholar
  39. 39.
    Thalheim, B.: Entity Relationship Modeling. Foundation of Database Technology. Springer, New York (2000)CrossRefzbMATHGoogle Scholar
  40. 40.
    Calvanese, D., Lenzerini, M.: On the interaction between ISA and cardinality constraints. In: The 10th IEEE International Conference on Data Engineering (1994)Google Scholar
  41. 41.
    Hartmann, S.: Coping with inconsistent constraint specifications. In: Proceedings of the 20th International Conference on Conceptual Modeling, pp. 241–255. Springer, London (2001)Google Scholar
  42. 42.
    Boufares, F., Bennaceur, H.: Consistency problems in ER-schemas for database systems. Inf. Sci. 163, 263–274 (2004)MathSciNetCrossRefzbMATHGoogle Scholar
  43. 43.
    Shaikh, A., Clarisó, R., Wiil, U., Memon, N.: Verification-driven Slicing of UML/OCL models. In: Proceedings of the IEEE/ACM International Conference on Automated Software Engineering, pp. 185–194. ACM (2010)Google Scholar
  44. 44.
    Feinerer, I., Salzer, G.: Numeric semantics of class diagrams with multiplicity and uniqueness constraints. Softw. Syst. Model. SoSyM 13, 1167–1187 (2013)Google Scholar
  45. 45.
    Formica, A.: Finite satisfiability of integrity constraints in object-oriented database schemas. IEEE Trans. Knowl. Data Eng. 14, 123–139 (2002)CrossRefGoogle Scholar
  46. 46.
    Maraee, A., Balaban, M.: Efficient recognition of finite satisfiability in UML class diagrams: strengthening by propagation of disjoint constraints. In: Proceedings of the International Conference on Model-Based Systems Engineering MBSE ’09, pp. 1–8 (2009)Google Scholar
  47. 47.
    Maraee, A., Makarenkov, V., Balaban, B.: Efficient recognition and detection of finite satisfiability problems in UML class diagrams: handling constrained generalization sets, qualifiers and association class constraints. In: MCCM08 (2008)Google Scholar
  48. 48.
    Makarenkov, V., Jelnov, P., Maraee, A., Balaban, M.: Finite satisfiability of class diagrams: practical occurrence and scalability of the finitesat algorithm. In: MoDeVVa ’09: Proceedings of the 6th International Workshop on Model-Driven Engineering, Verification and Validation, pp. 1–10. ACM (2009)Google Scholar
  49. 49.
    Baader, F., Calvanese, D., McGuinness, D.L., Nardi, D.: The Description Logic Handbook: Theory, Implementation, and Applications. Cambridge University Press, Cambridge (2003)zbMATHGoogle Scholar
  50. 50.
    Calì, A., Gottlob, G., Lukasiewicz, T.: A general datalog-based framework for tractable query answering over ontologies. Web Semant. Sci. Serv. Agents World Wide Web 14, 57–83 (2012)CrossRefGoogle Scholar
  51. 51.
    Balaban, M., Kifer, M.: Logic-based model-level software development with F-OML. In: Whittle, J., Clark, T., Kühne, T. (eds.) Model Driven Engineering Languages and Systems, pp. 517–532. Springer (2011)Google Scholar
  52. 52.
    Khitron, I., Balaban, M., Kifer, M.: The FOML Site. (2016)
  53. 53.
    Jackson, D.: Alloy: a lightweight object modelling notation. ACM Trans. Softw. Eng. Methodol. TOSEM 11, 256–290 (2002)CrossRefGoogle Scholar
  54. 54.
    Jackson, D.: Software Abstractions: Logic. Language and Analysis. MIT Press, Cambridge (2006)Google Scholar
  55. 55.
    Anastasakis, K., Bordbar, B., Georg, G., Ray, I.: On challenges of model transformation from UML to alloy. Softw. Syst. Model. 9, 69–86 (2010)CrossRefGoogle Scholar
  56. 56.
    Maoz, S., Ringert, J., Rumpe, B.: CD2Alloy: class diagrams analysis using alloy revisited. In: Whittle, J., Clark, T., Kühne, T. (eds.) Model Driven Engineering Languages and Systems. Volume 6981 of LNCS, pp. 592–607. Springer, Berlin (2011)CrossRefGoogle Scholar
  57. 57.
    Gogolla, M., Kuhlmann, M., Hamann, L.: Consistency, independence and consequences in UML and OCL models. In: Proceedings of the 3rd International Conference on Tests and Proofs. LNCS, pp. 90–104. Springer (2009)Google Scholar
  58. 58.
    Soeken, M., Wille, R., Kuhlmann, M., Gogolla, M., Drechsler, R.: 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, pp. 1341–1344 (2010)Google Scholar
  59. 59.
    Kuhlmann, M., Hamann, L., Gogolla, M.: Extensive validation of OCL models by integrating SAT solving into USE. In: TOOLS EUROPE 2011: Objects, Models, Components, Patterns, vol. 6705, pp. 290–306. Springer (2011)Google Scholar
  60. 60.
    Brucker, A., Wolff, B.: HOL-OCL: a formal proof environment for UML/OCL. In: Fundamental Approaches to Software Engineering. Volume 4961 of LNCS, pp. 97–100. Springer (2008)Google Scholar
  61. 61.
    Cabot, J., Clarisó, O., Riera, D.: UMLtoCSP: a tool for the formal verification of UML OCL models using constraint programming. In: ASE 07, The Twenty-Second IEEE-ACM International Conference on Automated Software Engineering, New York, NY, USA, pp. 547–548 (2007)Google Scholar
  62. 62.
    Cabot, J., Clarisó, R., Riera, D.: On the verification of UML/OCL class diagrams using constraint programming. J. Syst. Softw. 93, 1–23 (2014)CrossRefGoogle Scholar
  63. 63.
    Queralt, A., Teniente, E.: Verification and validation of UML conceptual schemas with OCL constraints. ACM Trans. Softw. Eng. Methodol. TOSEM 21, 131–1341 (2012)Google Scholar
  64. 64.
    Oriol, X., Teniente, E.: Simplification of UML/OCL schemas for efficient reasoning. J. Syst. Softw. 128, 130–149 (2017)CrossRefGoogle Scholar
  65. 65.
    Faitelson, D., Tyszberowicz, S.: UML diagram refinement (focusing on class- and use case diagrams). In: Proceedings of the 39th International Conference on Software Engineering (ICSE 2017). ICSE ’17, pp. 735–745. IEEE Press, Piscataway (2017)Google Scholar
  66. 66.
    Shoval, P., Danoch, R., Balaban, M.: Hierarchical entity-relationship diagrams: the model, method of creation and experimental evaluation. Requir. Eng. 9, 217–228 (2004)CrossRefGoogle Scholar
  67. 67.
    Hartmann, S.: On the implication problem for cardinality constraints and functional dependencies. Ann. Math. Artif. Intell. 33, 253–307 (2001)MathSciNetCrossRefzbMATHGoogle Scholar
  68. 68.
    Feinerer, I., Salzer, G., Sisel, T.: Reducing multiplicities in class diagrams. In: Whittle, J., Clark, T., Kühne, T. (eds.) Model Driven Engineering Languages and Systems. Volume 6981 of LNCS, pp. 379–393. Springer, Berlin (2011)CrossRefGoogle Scholar
  69. 69.
    Taupe, R., Falkner, A., Schenner, G.: Deriving tighter component cardinality bounds for product configuration. In: 18th International Configuration Workshop, vol. 47 (2016)Google Scholar
  70. 70.
    Damm, W., Harel, D.: LSCs: breathing life into message sequence charts. Form. Methods Syst. Des. 19, 45–80 (2001)CrossRefzbMATHGoogle Scholar
  71. 71.
    Barbier, F., Henderson-Sellers, B., Le Parc-Lacayrelle, A., Bruel, J.M.: Formalization of the whole-part relationship in the unified modeling language. IEEE Trans. Softw. Eng. 29, 459–470 (2003)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag GmbH Germany, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Computer Science DepartmentBen-Gurion University of the NegevBe’er ShevaIsrael

Personalised recommendations