Abstract: This article proposes a case study to evaluate the suitability of graph transformation tools for program refactoring. To qualify for this purpose, a graph transformation system must be able to (1) import a graph based representation of models of JAVA programs, (2) allow these models to be transformed interactively with well-known program refactorings and (3) export the resulting models in the same graph-based format used as input. The case study aims to enable comparison of various features of graph transformation tools, such as their expressiveness and their ability to interact with the user. The model of JAVA programs is presented and some examples for translating JAVA source code into the model are provided. The refactorings selected for the case study are specified in detail.
Abstract: One of the most important factors of success in the development of a software product line is the elicitation, management, and representation of variability. Feature models, are used as a key artifact to express requirements variability and are the basis for the domain architecture design. In this context, this article explores the possible advantages of Model Driven Engineering (MDE) and shows an automated transformation from the feature model to the architecture model. This transformation is understood as a graph transformation process because it offers a natural way to represent model transformations. The transformation is applied by the definition of a simple context-sensitive graph grammar where production rules are obtained from metamodels of both feature and architecture models.
Notes: Proceedings of the International Workshop on Graph and Model Transformation (GraMoT 2005) Graph and Model Transformation 2005