UML diagrams describe different views of one piece of software. These diagrams strongly depend on each other and must therefore be consistent with one another, since inconsistencies between diagrams may be a source of faults during software development activities that rely on these diagrams. It is therefore paramount that consistency rules be defined and that inconsistencies be detected, analyzed and fixed. Even though many researchers have proposed, explicitly or not, rules to detect inconsistencies, no well-accepted, as complete as possible set of consistency rules has so far been described and published. This lack of well-accepted list of UML consistency rules forces researchers to systematically define the consistency rules they rely on for their own research. Although this is good practice, researchers, describe similar or even identical consistency rules, over and over again. This fact motivated our main research objective, which is to identify and validate a set, as complete as possible, of well-accepted consistency rules for UML diagrams. To achieve this objective the following two research questions were identified:
1. What are the UML consistency rules proposed in the literature? To answer this question, we present the results of a Systematic Mapping Study about UML consistency rules. We finally identified a set of 116 UML consistency.
2. Is this list of UML diagram consistency rules relevant? To answer this question, we completed a process of validation of the rules in the following way: a) we organized the 1st WUCOR workshop during the MoDELS 2015 conference. The workshop represented a valid initial step in the process of validating the rules, but the limited number of attendees called to improve and continue this process; b) we developed a survey with MDSE experts from academia and industry to i) surveying the diffusion and importance of model consistency issues in the MDSE and UML contexts, ii) validating the UML consistency rules. This work identified a subset of 52 rules that should be enforced in every UML model; c) we developed a case study whereby we check 33 of the 52 consistency rules, translated in OCL, on 34 open source UML Papyrus models.