For my Ph.D. thesis, I have investigated ways to model model management tools in the context of the Model Driven Engineering paradigm. I have focused on model refactoring, model synthesis and model synchronization.
I have focused on domain model refactorings in 2002-2003. First of all, I have contributed to a research roadmap of refactoring. Next, I have evaluated (and subsequently extended) the UML metamodel, I have used OCL to automate the refactoring process (by means of formal refactoring contracts) and I have investigated how Fujaba could be used to generate refactoring code from visual model transformation specifications. In 2003-2004, we made our approach applicable in any UML compliant tool by designing a UML profile for Story Diagrams and developing an open source compiler towards JMI standard compliant repository manipulation code.
After I had identified the need for more declarative transformation modeling language constructs in a series of model synthesis case studies, I have contributed a <<copy>> operator to the graph/model transformation community. The operator is made executable (and understandable) using a higher order transformation. The higher order transformation is modeled using plain Story Diagrams. Remark that I still do not consider the extended version of Story Diagrams the ultimate language for modeling transformations (e.g., we need at least a <<merge>> operator and non-deterministic matching too). However, I do consider the language architecture proposed in my thesis and SLE paper (UML profile + Higher Order Transformations) the way to contribute new transformation language operators. In contrast to related work, the proposed approach clearly separates and reuses mainstream graph transformation infrastructure and minimizes tool lock-in.
For a gentle introduction to the approach, please check out the recording of my Ph.D. presentation for the general public:
Model-driven Development of Model Transformations from Pieter Van Gorp on Vimeo.