Definition and validation of consistency rules between uml diagrams

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. Although the UML standard provided by the OMG itself contains some consistency rules, often referred in the previous versions of the UML to as well-formedness rules, the standard does not offer a complete list since for instance some consistency rules may be specific to the way the UML notation is used. 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 and carried out: 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 and the results of a Systematic Mapping Study about UML synthesis techniques. We finally identified a set of 116 UML consistency rules avoiding redundant definitions or definitions already in the UML standard. 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 1 st International Workshop on UML Consistency Rules (WUCOR) during the 18 th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems (MoDELS 2015). 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 a questionnaire consisting of 21 questions ) with MDSE experts from academia and industry with the following main objectives: i) Surveying the diffusion and importance of model consistency issues in order to understand model consistency in the general MDSE context as well as in the specific UML context, ii) Validating the UML consistency rules, i.e. identifying the rules that should be always enforced. This work finally found a set of 52 rules that should be enforced in every UML model; c) we developed a case study whereby we presented the process and the results of checking 33 of these consistency 52 rules, translated in OCL, on 34 open source UML Papyrus models with a total of 206 different UML diagrams. Finally, the OCL consistency rules triggered 2731 different inconsistencies among the UML diagrams.