# Removing redundant multiplicity constraints in UML class models

## Abstract

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.

## Keywords

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

- 1.Maraee, A.: UML Class Diagrams—Semantics, Correctness and Quality. Ph.D. thesis, Ben Gurion University of the Negev (2012)Google Scholar
- 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.Maraee, A., Balaban, M.: Inter-association constraints in UML2: comparative analysis, usage recommendations, and modeling guidelines. In: MoDELS 2012 (2012)CrossRefGoogle Scholar
- 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.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.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.OMG: UML 2.5.1. http://www.omg.org/spec/UML/2.5.1/PDF (2017)
- 8.OMG: Semantics of a Foundational Subset for Executable UML Models (fUML). http://www.omg.org/spec/FUML/1.3 (2017)
- 9.OMG: Action Language for Foundational UML Specification (ALF). http://www.omg.org/spec/ALF/1.1 (2017)
- 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.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.Alanen, M., Porres, I.: A metamodeling language supporting subset and union properties. Softw. Syst. Model.
**7**, 103–124 (2008)CrossRefGoogle Scholar - 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.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.OMG: OMG Object Constraint Language (OCL). http://www.omg.org/spec/OCL/2.3.1/PDF/ (2012)
- 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.Balaban, M., Maraee, A.: UML Class Model: Abstract Syntax and Set-Based Semantics. https://goo.gl/UJzsjb (2018)
- 18.Berardi, D., Calvanese, D., Giacomo, D.: Reasoning on UML class diagrams. Artif. Intell.
**168**, 70–118 (2005)MathSciNetCrossRefGoogle Scholar - 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.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.Lenzerini, M., Nobili, P.: On the satisfiability of dependency constraints in entity-relationship schemata. Inf. Syst.
**15**, 453–461 (1990)CrossRefGoogle Scholar - 22.BGU Modeling Group: FiniteSatUSE—A Class Diagram Correctness Tool. https://goo.gl/svXQwj (2013)
- 23.Egyed, A.: Automated abstraction of class diagrams. ACM Trans. Softw. Eng. Methodol. TOSEM
**11**, 449–491 (2002)CrossRefGoogle Scholar - 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.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.BGU Modeling Group: UML Class Diagram Patterns, Anti-Patterns and Inference Rules. http://www.cs.bgu.ac.il/~cd-patterns/ (2014)
- 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.OMG: UML 2.4 Superstructure Specification. http://www.omg.org/docs/formal/07-11-04.pdf (2011)
- 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)zbMATHGoogle Scholar
- 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)CrossRefGoogle Scholar
- 31.Lutz, C., Sattler, U., Tendera, L.: The complexity of finite model reasoning in description logics. Inf. Comput.
**199**, 132–171 (2005)MathSciNetCrossRefGoogle Scholar - 32.Kaneiwa, K., Satoh, K.: On the complexities of consistency checking for restricted UML class diagrams. Theor. Comput. Sci.
**411**, 301–323 (2010)MathSciNetCrossRefGoogle Scholar - 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.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.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.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.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.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.Thalheim, B.: Entity Relationship Modeling. Foundation of Database Technology. Springer, New York (2000)CrossRefGoogle Scholar
- 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.Hartmann, S.: Coping with inconsistent constraint specifications. In: Proceedings of the 20th International Conference on Conceptual Modeling, pp. 241–255. Springer, London (2001)CrossRefGoogle Scholar
- 42.Boufares, F., Bennaceur, H.: Consistency problems in ER-schemas for database systems. Inf. Sci.
**163**, 263–274 (2004)MathSciNetCrossRefGoogle Scholar - 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.Feinerer, I., Salzer, G.: Numeric semantics of class diagrams with multiplicity and uniqueness constraints. Softw. Syst. Model. SoSyM
**13**, 1167–1187 (2013)CrossRefGoogle Scholar - 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.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.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.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.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.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.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.Khitron, I., Balaban, M., Kifer, M.: The FOML Site. https://goo.gl/AgxmMc (2016)
- 53.Jackson, D.: Alloy: a lightweight object modelling notation. ACM Trans. Softw. Eng. Methodol. TOSEM
**11**, 256–290 (2002)CrossRefGoogle Scholar - 54.Jackson, D.: Software Abstractions: Logic. Language and Analysis. MIT Press, Cambridge (2006)Google Scholar
- 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.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.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.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.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.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.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.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.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.Oriol, X., Teniente, E.: Simplification of UML/OCL schemas for efficient reasoning. J. Syst. Softw.
**128**, 130–149 (2017)CrossRefGoogle Scholar - 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.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.Hartmann, S.: On the implication problem for cardinality constraints and functional dependencies. Ann. Math. Artif. Intell.
**33**, 253–307 (2001)MathSciNetCrossRefGoogle Scholar - 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.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.Damm, W., Harel, D.: LSCs: breathing life into message sequence charts. Form. Methods Syst. Des.
**19**, 45–80 (2001)CrossRefGoogle Scholar - 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