Event-Driven Inconsistency Detection Between UML Class and Sequence Diagrams
Luan Lazzari, Kleinner Farias
TL;DR
The paper tackles inconsistencies between UML class and sequence diagrams during modeling and teaching. It presents Harmony Validator, an event-driven, Papyrus-integrated tool with a Docker-based microservice backend and Redis caching that detects inconsistencies in real time. It describes architecture, detection mechanisms, and usage scenarios, plus a student case study showing perceived usefulness and reflective learning benefits. The results suggest real-time feedback improves model integrity, reduces cognitive load, and supports educational and industrial modeling workflows. It also discusses implications for transforming validated UML diagrams into textual forms and guiding future intelligent modeling assistants.
Abstract
Modeling is a central and demanding activity in software engineering that requires skills such as abstraction, consistency maintenance, and precise communication. These skills are difficult to master and even harder to teach effectively. Educators and students often struggle to understand and manage inconsistencies that arise during the modeling process. To address this challenge, we present \texttt{Harmony Validator}, a tool integrated as a plugin for the Papyrus modeling environment, designed to automatically detect and report inconsistencies in UML models, including class and sequence diagrams. The tool adopts an event-driven architecture that continuously monitors modeling actions and notifies users of emerging inconsistencies in real time. This approach enhances awareness of model integrity and supports the iterative refinement of design artifacts. The paper describes the architecture, detection mechanisms, and usage scenarios of Harmony Validator. It also includes a case study conducted with students in a software engineering course to evaluate the perceived usefulness and benefits of UML modeling in teaching and learning. Our results indicate that Harmony Validator fosters a better understanding of model consistency and promotes reflective learning practices in software modeling education.
