Highlights► Detection of applications of composite operations in evolving software models. ► Automatic generation of detection rules from executable operation specifications. ► Real-world study showing that 70% of all applied composite operations can be detected. ► Performance analysis showing that detection algorithm scales well for large models.
Abstract. 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 further 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.
Abstract. The employment of optimistic model versioning systems allows multiple developers of a team to work independently on their local copies of a software model. The merging process towards one consolidated version obviously turns out to be challenging when performed without any tool support. Recently, several sophisticated approaches for model merging have been presented. However, even for multi-view modeling languages like UML, which distribute the information on the system under development over different diagrams, diagrams of different views are merged independently of each other. Hence, inconsistencies between different views are likely to be introduced into the merged model. We suggest to solve this problem by exploiting information stored in one view as constraint for the computation of a consolidated version of another view. More specifically, we demonstrate how state machines can guide the integration of parallel changes performed on a sequence diagram. We give a concise formal description of this problem and suggest a translation to propositional logic.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.