Class Diagram Patterns, Anti-Patterns and Inference Rules

This site presents a catalog of modeling anti-patterns for problems of correctness and quality in class diagram design. It is developed by the BGU Modeling Group. The catalog presents knowledge on design problems as anti-patterns that are classified into categories based on the type of problem they explain.

Currently, the  categories in the catalog cover two correctness problems: inconsistency and finite satisfiability and two quality problems: redundancy, and incomplete designWithin categories, patterns are classified by kinds of constraint interactions that cause different problems.

Correctness and quality problems in class diagrams are caused by undesirable interactions of constraints. Due to the diversity of constraints in class diagrams, analysis of problematic constraint interaction is complex, and requires study of typical interactions. Such cases can be abstracted by anti-patterns, that group together problematic interactions admitting a similar structure, while separating interactions that have diverging causes. This analysis forms the basis for the study of class diagram anti-patterns.

The purposes of the catalog:

  • Educational.
  • Identifying design problems and providing explanations and repair advice.

Pattern Structure:
Anti patterns are presented with the following structure:

  1. Pattern name- Name of the pattern
  2. Problem- a textual description of the problem that the pattern deals with.
  3. Concrete Example- a concrete example for the pattern (an instance).
  4. Pattern Identification Structure- a class diagram pattern (see pattern language).
  5. Pattern verification- a formal constraint imposed on the pattern identification structure that verifies problem occurrence.
  6. Repair advice (refactoring).
  7. Related Patterns
  8. Pattern justification– a correctness proof for pattern identification, verification, and advice.

Publication: 

  1. Balaban, M., Maraee, A.,  Sturm, A., Jelnov, P.: A Pattern-based Approach for Improving Model Quality, Journal of Software & Systems ModelingAppear online (2014).
  2. Maraee, A, Balaban, M., Strum, A. Ashrov, A. Model Correctness Patterns as an Educational Instrument. Proceedings of the 7th Educators’ Symposium,(MODELS’11), 2011.
  3. Balaban, M., Maraee, A., & Sturm, A.:  Management of Correctness Problems in UML Class Diagrams Towards a Pattern-Based Approach.International. Journal of Information System Modeling and Design (IJISMD), (2010), 1(4), 24-47.