P. Brosch, P. Langer, M. Seidl, K. Wieland, M. Wimmer, G. Kappel, W. Retschitzegger, W. Schwinger: An Example Is Worth a Thousand Words: Composite Operation Modeling By-Example, 12th International Conference on Model Driven Engineering Languages and Systems (MoDELS'09), Denver, USA; 04.10.2009 - 09.10.2009; in Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems (MoDELS'09), Springer, LNCS 5795 (2009), ISBN: 978-3-642-04424-3, pages 271 - 285. Doi: 10.1007/978-3-642-04425-0_20
Predefined composite operations are handy for efficient modeling, e.g., for the automatic execution of refactorings, and for the introduction of patterns in existing models. Some modeling environments provide an initial set of basic refactoring operations, but hardly offer any extension points for the user. Even if extension points exist, the introduction of new composite operations requires programming skills and deep knowledge of the respective metamodel.
In this paper, we introduce a method for specifying composite operations within the user´s modeling language and environment of choice. The user models the composite operation by-example, which enables the semi-automatic derivation of a generic composite operation specification. This specification may be used in various modeling scenarios, like model refactoring and model versioning. We implemented the approach in the Operation Recorder and performed an evaluation by defining multiple complex refactorings for UML diagrams.