Abstract Achieving a quality software system requires UML designers a good understanding of both design patterns and antipatterns. Unfortunately, UML models for real systems tend to be huge and so hardly manageable, especially for models automatically generated from source code. Thus it would be advisable to have tools to automatically identify particular instances of patterns. For this a formal language to express them is needed. However, a textual formalization of such a language is barely usable by UML practitioners. In this paper we propose a visual notation obtained by adding to UML as little graphical elements as possible in order to express both patterns and antipatterns (with the needed formality). As such additions are really few and intuitive, we believe that this approach has low cognitive load, thus being both usable by practitioners and still enough rigorous for implementation. This notation will be used to add a GUI front-end for a prototypical tool, that we have recently developed, which is able to discover (anti)patterns in models.
To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.