P. Brosch, M. Seidl, K. Wieland, M. Wimmer, P. Langer: The Operation Recorder: Specifying Model Refactorings By-Example, in Companion to the 24th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2009, ACM, 2009, ISBN: 978-1-60558-768-4, pages791 - 792.


Predefined composite operations are handy for efficient software 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 our demonstration we present the Operation Recorder, a tool for specifying composite operations, like refactorings, 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 further modeling scenarios, like model refactoring and model versioning. We demonstrate our tool by creating two refactoring specifications for UML Class diagrams as well as the UML State Machine diagrams.

The Operation Recorder: Specifying Model Refactorings By-Example