Abstract
A design pattern is a recurring and well-understood design fragment, while an anti-pattern is a common design pitfall. In the context of a modeling language, both forms of patterns are represented as structures of constrained and inter-related model elements playing complementary roles. In a model-driven engineering methodology, detecting occurrences of design patterns supports model comprehension and maintenance, while detecting anti-patterns supports model verification. With the recent explosion of domain-specific modeling languages, each with its own syntax and semantics, there has been a corresponding explosion in approaches to detecting model design patterns and anti-patterns that are tailored to those many languages. This makes developing a generic analysis tool extremely hard. Such a tool is desirable to reduce the learning curve for pattern designers as they specify patterns for different languages used to model different aspects of a system. Such a tool would also help when patterns span multiple languages, which may likely happen since several languages are often used together to model a system (e.g., UML and BPMN). In this thesis, we propose a new unified approach to detecting both kinds of patterns for MOF-based modeling languages. MOF is an increasingly important standard that is used to define many popular modeling languages today, including UML, BPMN and SysML. In this approach, a pattern is modeled with a Visual Pattern Modeling Language (VPML) and its occurrences in a model are then detected with a corresponding QVT-Relations (QVTR) transformation. Such a transformation runs over an input model where pattern occurrences are to be detected and reports on those occurrences in a result model. The approach is prototyped on the Eclipse platform and validated in three large case studies, two of which involve detecting design patterns—specifically a subset of the GoF patterns in a UML model and a subset of the Control Flow patterns in a BPMN model—and the third involves detecting a newly defined set of MOF anti-patterns in the UML metamodel. Results show that the approach is adequate for modeling complex design patterns and anti-patterns for MOF-based languages and detecting their occurrences with high accuracy and performance.
Published Version (
Free)
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have