Model Refactoring in Eclipse by LTK, EWL, and EMF Refactor: A Case Study
|
|
- Tracey Alicia Benson
- 5 years ago
- Views:
Transcription
1 Model Refactoring in Eclipse by LTK, EWL, and EMF Refactor: A Case Study Thorsten Arendt 1, Florian Mantz 1, Lars Schneider 2, Gabriele Taentzer 1 1 Philipps-Universität Marburg, Germany, FB 12 - Mathematics and Computer Science, Software-Engineering {arendt,mantz,taentzer}@mathematik.uni-marburg.de 2 Capgemini sd&m, Offenbach, Germany derlarsschneider@googl .com Abstract. Since model-driven development (MDD) has evolved to a promising trend in software development, models become the primary artifacts of the software development process. To ensure high model quality, using appropriate quality assurance techniques like model refactoring is an essential task. So far, tool support for model refactoring is limited, particularly for models using the Eclipse Modeling Framework (EMF). In this paper we present the results of a case study that examines three solutions for EMF model refactoring, namely the Language Toolkit (LTK), the Epsilon Wizard Language (EWL) and EMF Refactor, a new approach in the field of model refactoring. 1 Introduction Model-driven development (MDD) has become a promising trend in software development. Here, models are in the focus of work and represent the primary artifacts in the software development process. Considering code generation, software quality depends directly on the quality of the input models. Furthermore, the Unified Modeling Language (UML) evolved to a quasi-standard, so modelers have to respect the development of high quality models, in particular UML2 models. To obtain high quality models the existing model quality has to be determined regarding selective quality aspects of interest. During and after using appropriate quality assurance techniques an ongoing revision of this quality is required. An obvious approach for quality assurance of UML2 models is to lift software assurance techniques to the level of models where possible. Here, wellknown techniques like software metrics, code smells, and code refactorings [10] have been taken into account. A variety of tools for quality assurance of code exist, in particular for the refactoring of Java code. But for model refactoring tool support is limited so far. Since the Eclipse Modeling Framework (EMF) [1] has become a key reference in the field of MDD, it is obvious to adapt tools supporting quality assurance techniques for EMF models. In this paper, we present three approaches for specifying and applying EMF model refactorings. We specify a sample UML2 model refactoring by means of
2 the Language Toolkit (LTK) [6] and the Epsilon Wizard Language (EWL) [4], two existing solutions to handle refactorings in Eclipse. Furthermore, the case study investigates EMF Refactor [2] which relies on EMF Tiger [3], a model transformation tool based on graph transformation concepts. The approaches are analyzed with respect to seven defined evaluation criteria. As a result, the different ways of specifying and executing the sample model refactoring are discussed and the benefits and drawbacks of each approach are pointed out. In [15], EMF Tiger and a number of other graph transformation-based tools were compared with each other using a compact practical model transformation case study. The following sections are organized as follows: In Section 2, the evaluation criteria for the case study and the sample model refactoring Change Attribute to Association End are defined. Section 3 shows brief explanations how the sample refactoring is specified using the investigated approaches. Their differences as well as their benefits and drawbacks are discussed in Chapter 4. In Chapter 5 we summarize our contributions and discuss future work. 2 Case Study Description and Evaluation Criteria This chapter introduces the sample UML2 model refactoring Change Attribute to Association End and specifies the evaluation criteria for the case study. 2.1 Sample Refactoring Since UML2 class diagrams are very closely related to source code, many existing code refactorings can be directly adopted to UML2 class diagrams. However, there are few model refactorings which are specific to the model level and therefore cannot be adopted from code refactorings. The sample refactoring used in this case study is one of the latter category which changes an attribute to an association end. Fig. 1. Sample Class Diagram before Refactoring (excerpt) Fig. 1 shows an excerpt of a class diagram. At a first glance, one might suppose that class Address is isolated from all other model elements. But if we take a closer look to the model, we identify attribute address in class Customer which is of type Address. For a better understanding of class structures, it would be worthwhile to represent this relationship more explicitly. This can be achieved by applying model refactoring Change Attribute to Association End. After refactoring application, attribute address of class Customer will be depicted as an association end (see specification of UML2.1 [5]).
3 2.2 Evaluation Criteria Each approach is investigated considering the following evaluation criteria. For each criterion questions are defined which are evaluated during the specification and execution of sample refactoring solutions. Refactoring Specification Complexity - How complex is the effort to specify the refactoring? Are there ways to reduce this effort? Here, LoC and the number of specified rules have to be compared. Correctness - Is it possible to specify a refactoring which application results in an inconsistent model? Are there any precautions to avoid it? Testability - Which effort is needed to test the specified refactoring in detail? Are there ways to automate these tests? Modularity - Can the specified refactoring be combined with other refactorings? (This is an important aspect when defining more complex refactorings by reusing existing ones.) Refactoring Application Interaction - How convenient is it to apply the refactoring? Are there any facilities to simplify user inputs? Here, differences considering UI features have to be evaluated from a (subjective) user s point of view. Features - Does the refactoring provide a preview in order to be able to cancel or commit the refactoring? Does it provide undo and redo functionality? Malfunction - What happens if the appropriate refactoring cannot be executed in the given situation? Are there reasonable error messages? 3 Case Study Execution The sample model refactoring was implemented using LTK, EWL and EMF Refactor. Due to space limitations the implementations are presented in a very compact form. The entire specifications (source code, rules, etc.) can be found on the EMF Refactor web site [2]. 3.1 Refactoring Implementation using LTK The Language Toolkit (LTK) [6] is a language neutral API to specify and execute refactorings in an Eclipse-based IDE. So it is possible to handle EMF model refactorings by LTK. The API can be found in the org.eclipse.ltk.core. refactoring and org.eclipse.ltk.ui.refactoring plug-ins. The API classes of LTK incorporate an exact, predefined procedure for refactorings in Eclipse.
4 For specifying the sample model refactoring 7 classes have to be implemented. During implementation it became obvious that only 4 classes are refactoring specific (RefactoringInfo, RefactoringInputWizardPage, RefactoringAction, and RefactoringProcessor). Classes EMFChange and Refactoring are generic for EMF model refactorings. Class RefactoringWizard is refactoring specific only since it initializes RefactoringInputWizardPage. The refactoring specific classes are: RefactoringInfo - This class manages all required informations like the selected Property object, the name of the new association and the name of the association s ownedend property. RefactoringInputWizardPage - This class is responsible for displaying and handling the required user input (name of the new association and name of the association s ownedend property). Fig. 2. LTK: method body RefactoringProcessor.checkInitialConditions() RefactoringAction - This class is responsible for refactoring initiation. It sets the selected Property and initializes instances of RefactoringWizard, RefactoringProcessor, Refactoring, and RefactoringInfo. The refactoring is initiated by invoking method RefactoringWizardOpenOperation 3 ::run(). The extension point org.eclipse.ui.popupmenus is served by this class. Fig. 3. LTK: method createchange() (excerpt) RefactoringProcessor - This is the main class for executing the sample refactoring. Method checkinitialconditions() checks whether the type of the selected Property is an instance of Class and whether it is not already part of an Association (see Fig. 2). The most important method of class RefactoringProcessor is createchange(). This method creates an instance of EMFChange by generating a ChangeDescription 4 that describes 3 org.eclipse.ltk.ui.refactoring.refactoringwizardopenoperation 4 org.eclipse.emf.ecore.change.changedescription
5 all required model changes and is also used for undo and redo functionality. Fig. 3 shows an excerpt of method createchange(). Here, feature name of the newly created Association is set to the appropriate String managed by the RefactoringInfo object. 3.2 Refactoring Implementation using EWL The Epsilon Wizard Language (EWL) is an integral part of Epsilon [13], a platform for building consistent and interoperable task-specific languages for model management tasks. For this purpose, Epsilon consolidates common facilities in a base language, the Epsilon Object Language (EOL) [11], that new task-specific languages can reuse. EWL is a tool-supported language for specifying and executing automated model refactorings which the authors of EWL call update transformations in the small [12]. These model refactorings are applied on model elements that have been explicitly selected by the user. Epsilon provides an Eclipse-based interpreter that can execute programs written in EWL. Fig. 4. EWL: guard section In EWL, the sample refactoring has been implemented as follows: First, the type of the selected model element has to be checked to be a Property of type Class. Furthermore, this property does not already have to be part of an Association. These preconditions are checked in the guard section of the EWL program. Variable self refers to the model object which is used to invoke the refactoring and is a Property in this example. If the guard conditions fail, the refactoring will not be performed. Fig. 4 shows the guard section of the EWL solution. The next step is to specify the label that will be provided to the user in the context menu of the selected model element. This is done in the title section of the EWL program. The final and most important part of the EWL solution is the do section that specifies the effects of the refactoring when applied to a compatible selection of model elements (see Fig. 5). Regarding the sample refactoring we have to organize the required user input first, in particular the name of the new association and the name of the association s ownedend property. After obtaining the user input all necessary new objects are created and the appropriate features are set. These are in particular: Fig. 5. EWL: do section (excerpt)
6 A new Property with features name, type, uppervalue, and lowervalue (that are set to 1 each). A new Association with features name, ownedend, and memberend. Again, global variable self is used to get the appropriate features of the selected Property. Finally, the new association has to be added to the including package. 3.3 Refactoring Implementation using EMF Refactor A new approach to specify and execute EMF model refactorings is EMF Refactor [2]. The development of new refactorings in EMF Refactor is based on EMF Tiger [3] [8], an Eclipse plug-in that performs in-place EMF model transformations [7] [14]. The model transformation concepts of EMF Tiger are based on algebraic graph transformation concepts. It provides a graphical editor for the design of transformation rules and a Java code generator which has been extended by EMF Refactor. Model refactorings are designed by ordered sets of rules. Each rule describes an if-then statement on model changes. If the pattern specified in the left-hand side (LHS) exists, it is transformed into another pattern defined in the right-hand side (RHS). Here, several input parameters can be used to specify the LHS pattern in more detail. Additionally, several negative application conditions (NACs) can be specified which represent patterns that prevent the rule from being applied. Mappings between objects in LHS and RHS and/or between objects in LHS and NACs are used to express preservation, deletion, and creation of objects. A LHS object being mapped to a RHS object is preserved, while an object without mapping to a RHS object is deleted from the model including all its possible children. A RHS object without an original LHS object is newly created and attached to the model. Fig. 6. EMF Refactor: LHS To specify the sample refactoring in EMF Refactor we have to define one rule. The LHS of this rule is shown in Fig. 6. This pattern represents the abstract syntax which has to be found when starting the refactoring from within the context menu of a Property named propname whose type is a Class. To ensure that the selected Property is not already part of an Association an appropriate NAC is defined, that is similar to the LHS but with an additional Association instance that references the selected Property as memberend (not shown here). Fig. 7 shows the RHS of the sample refactoring rule. It contains a new Association object with a new opposite association end (Property). This end
7 Fig. 7. EMF Refactor: RHS is equipped with multiplicity 1 as lower and upper bound. The newly created objects are named by additional input variables associationname and srcproperty. During rule specification one can show that the specified transformation rule is consistent. This means that applying the appropriate EMF model transformation always leads to EMF models consistent with typing and containment constraints. To do so, you have to check whether the rules perform restricted changes of containments only. Consistent EMF model transformations behave like algebraic graph transformations. Hence, the rich theory of algebraic graph transformation can be applied to show functional behavior and correctness [9]. The sample refactoring rule is consistent because all new object nodes (Association, Property, and two LiteralIntegers) are connected immediately to their according container (see Fig. 7). After rule definition the corresponding refactoring code is generated, including a wizard for parameter specification. Here, default values for the parameters associationname and srcproperty are set. 4 Case Study Results and Evaluation This chapter presents the results of the case study. First, all three solutions are compared along the criteria introduced in Chapter 2 and finally they are interpreted. Complexity - All approaches require a comprehensive understanding of the UML2 meta model [5]. In LTK, 7 Java classes including 711 LoC were implemented. 416 LoC can be generated and 195 are refactoring specific, in particular methods checkinitialconditions() and createchange() of class Refactor ingprocessor. Here, the most challenging task is to exactly implement the corresponding ChangeDescription object because of its general and complex API. In EWL, one single file with 47 LoC was implemented which is a much better value than LTK s 195 LoC. Automatically generating generic parts would not lead to a significant reduction. Finally, in EMF Refactor the whole refactoring
8 code was generated from one rule only containing 32 objects (EClasses and textttereferences). This number of objects is hardly comparable to any LoC value. However, specifying refactorings using EMF Refactor seems to be similar extensive than using EWL. Additionally, in EMF Refactor individual parameter settings for code generation are supported by a convenient wizard. Correctness - In LTK, an incorrectly specified ChangeDescription object would lead to an inconsistent model after executing the refactoring. There are no known precautions available to avoid this. Since all model changes in EWL are directly implemented, there is also no special support to specify refactorings which yield consistent models only. EMF Refactor instead uses EMF Tiger that provides consistency checks regarding containment and multiplicity issues. This is done using the underpinning graph transformation concepts. Hence, it is almost impossible to specify transformations, especially refactorings leading to inconsistent models. Testability - A specified refactoring has to be tested by applying it to various models that represent possible situations. Since every refactoring in LTK is a single Eclipse plug-in, it is very time-consuming to start a new Eclipse instance after each code change. This tasks could be significantly facilitated by generating test code or using PDEUnit, which is a test framework for Eclipse plug-ins. Because EWL is an interpreted language, testing is not that time-consuming and a straightforward task. Nevertheless, there is no known way to automate this. For EMF Refactor the same comments as for LTK hold. Here, a first approach for generating tests using JUnit is available. Modularity - Since all model changes in LTK are directly implemented in Java, it seems to be possible to combine several existing refactorings to more complex ones by passing required parameters, and adapting conditions, and Change Descriptions. Here, it is necessary to develop an advanced approach to support this features. In EWL, there is no known way to combine refactorings so far, except for copying and adapting code of existing ones. Although EWL supports operations that can be reused, it does not support reusability of wizards. For EMF Refactor the same comments as for LTK hold, but it seems to be less promising than combining refactorings in LTK. Again, a first approach to combine so called basic refactorings to more complex ones is under development, but it is still not available. Interaction - All approaches provide the selection of refactorings via the context menu of a Property element in the standard EMF instance editor. EWL additionally supports UML2Tools which can be supported by the others as well if a further extension point is served. The refactoring wizard page of LTK provides one input line for each required parameter. Each parameter has a specified default value. In EWL, the context menu has an entry specific to the name of the selected Property. All parameters are entered in separate dialogs including specified default values. For EMF Refactor the same comments as for LTK hold. Features - In LTK, after parameter editing the wizard provides an optional preview of the model changes made by the refactoring. The preview is provided by EMF Compare. Undo/Redo functionality is supported. In EWL, there is no
9 preview available, but Undo/Redo functionality is supported. After parameter editing in EMF Refactor the wizard always shows a preview of possible model changes when executing the refactoring. Again, this is provided by EMF Compare. Undo/Redo functionality is not supported. Malfunction - If a certain precondition in LTK fails, a message box including a reasonable error message is shown as specified in method checkinitial Conditions() of class RefactoringProcessor. EWL provides the refactoring only, if all preconditions specified in the guard section hold. After parameter input in EMF Refactor, the user is informed when the refactoring can not be executed because of violated conditions. This is merely done by the generic message The refactoring changed nothing at all. Each solution requires non-empty parameters, more precisely names for the new model elements Association and Property. Goal LTK EWL EMF Refactor Complexity o + + Correctness o - + Testability o o o Modularity Interaction Features + o o Malfunction + o o Table 1. Results of the Case Study Table 1 summarizes the results of the case study. Each approach has been evaluated and marked as follows: The approach meets the evaluation criterion: + The approach does not meet the evaluation criterion but is still moderate: o The approach does not meet the evaluation criterion at all: - Each approach has its individual strengths and weaknesses. LTK provides permanent positive results when executing the model refactoring. This is not astonishing because LTK was developed to unify refactoring processes in Eclipse. However, EMF Refactor and EWL are more suitable for specifying EMF model refactorings. EMF Refactor impresses by its graphical nature of defining model transformations and its underlying graph transformation concepts. Otherwise, EWL seems to be the best choice when specifying refactorings in a textual way. 5 Summary and Future Work In this paper we present the results of a small case study that examines three options for EMF model refactoring, namely the Language Toolkit (LTK), the Epsilon Wizard Language (EWL) and EMF Refactor, a new approach in the field of EMF model refactoring. The study demonstrates that each approach has its individual strengths and weaknesses. LTK is the leading approach during model refactoring application, whereas EMF Refactor and EWL are promising approaches in specifying EMF model refactorings.
10 As a conclusion of the presented case study, it looks worthwhile to check whether the approaches can be combined in a way that merges their benefits. Such a combination (EWL/LTK or EMF Refactor/LTK ) seems to be a promising way to go. Here, first steps are done by restructuring the architecture of EMF Refactor. EMF model refactorings will be executed using LTK, whereas the specification will be done by other approaches (for example the previous version of EMF Refactor, EWL, or a completely different one). In the presented case study we inspected specification and implementation of one single UML model refactoring. Further studies should be performed inspecting several other model refactorings which are more complex or even based on other domains than UML. Additionally, further issues like incremental generation of the implementation and change propagation of source code manipulations should be included, since all investigated approaches do not consider these aspects. References 1. Eclipse Modeling Framework (EMF) EMF Refactor. swt/modref/, EMF Tiger Epsilon Specification UML Version The Language Toolkit (LTK) E. Biermann, K. Ehrig, C. Köhler, G. Kuhns, G. Taentzer, and E. Weiss. EMF Model Refactoring based on Graph Transformation Concepts. ECEASST, 3, E. Biermann, K. Ehrig, C. Köhler, G. Kuhns, G. Taentzer, and E. Weiss. Graphical Definition of In-Place Transformations in the Eclipse Modeling Framework. In Model Driven Engineering Languages and Systems, MoDELS 2006, LNCS, pages Springer, E. Biermann, C. Ermel, and G. Taentzer. Precise Semantics of EMF Model Transformations by Graph Transformation. In Model Driven Engineering Languages and Systems, MoDELS 2008, volume 5301 of LNCS, pages Springer, M. Fowler. Refactoring - Improving the Design of Existing Code. Addison-Wesley, Reading/Massachusetts, Dimitrios S. Kolovos, Richard F. Paige, and Fiona A.C. Polack. The Epsilon Object Language. In Proc. European Conference in Model Driven Architecture (EC-MDA), Bilbao, Spain, July 2006, volume 4066 of LNCS, pages Springer, Dimitrios S. Kolovos, Richard F. Paige, and Fiona A.C. Polack. Update Transformations in the Small with the Epsilon Wizard Language. In Journal of Object Technology, Special Issue. TOOLS EUROPE 2007, October 2007, volume 6, pages 53 69, Dimitris S. Kolovos. An Extensible Platform for Specification of Integrated Languages for Model Management. PhD thesis, Department of Computer Science, University of York, T. Mens, G. Taentzer, and D. Müller. Model-driven software refactoring. In J. Rech and C. Bunse, editors, Model-Driven Software Development: Integrating Quality Assurance, pages IGI Global, Hershey, 2008.
11 15. Dániel Varró, Márk Asztalos, Dénes Bisztray, Artur Boronat, Duc-Hanh Dang, Rubino Geiß, Joel Greenyer, Pieter Van Gorp, Ole Kniemeyer, Anantha Narayanan, Edgars Rencis, and Erhard Weinell. Transformation of UML Models to CSP: A Case Study for Graph Transformation Tools. In A. Schürr, M. Nagl, and A. Zündorf, editors, Application of Graph Transformations with Industrial Relevance (AG- TIVE 07), volume 5088, pages Springer, 2007.
EMF Refactor: Specification and Application of Model Refactorings within the Eclipse Modeling Framework
EMF Refactor: Specification and Application of Model Refactorings within the Eclipse Modeling Framework Thorsten Arendt a, Florian Mantz b, Gabriele Taentzer a a Philipps-Universität Marburg, FB12 - Mathematics
More informationIntegration of Smells and Refactorings within the Eclipse Modeling Framework
Integration of Smells and Refactorings within the Eclipse Modeling Framework Thorsten Arendt Gabriele Taentzer Philipps-Universität Marburg Department of Mathematics and Computer Science Hans-Meerwein-Strasse
More informationEMF Metrics: Specification and Calculation of Model Metrics within the Eclipse Modeling Framework
EMF Metrics: Specification and Calculation of Model Metrics within the Eclipse Modeling Framework Thorsten Arendt a, Pawel Stepien a, Gabriele Taentzer a a Philipps-Universität Marburg, FB12 - Mathematics
More informationTowards Generating Domain-Specific Model Editors with Complex Editing Commands
Towards Generating Domain-Specific Model Editors with Complex Editing Commands Gabriele Taentzer Technical University of Berlin Germany gabi@cs.tu-berlin.de May 10, 2006 Abstract Domain specific modeling
More informationA Generic Visual Language Technique for DSVL Model Refactoring to Patterns
ECEASST A Generic Visual Language Technique for DSVL Model Refactoring to Patterns Karen Li 1, John Hosking 1, and John Grundy 2 1 {k.li, j.hosking}@auckland.ac.nz Departments of Computer Science, University
More informationPattern composition in graph transformation rules
Pattern composition in graph transformation rules András Balogh and Dániel Varró Department of Measurement and Information Systems Budapest University of Technology and Economics H-1117 Magyar tudosok
More informationA Visual Editor for Reconfigurable Object Nets based on the ECLIPSE Graphical Editor Framework
A Visual Editor for Reconfigurable Object Nets based on the ECLIPSE Graphical Editor Framework Enrico Biermann, Claudia Ermel, Frank Hermann and Tony Modica Technische Universität Berlin, Germany {enrico,lieske,frank,modica}@cs.tu-berlin.de
More informationChallenges in Model Refactoring
Challenges in Model Refactoring Tom Mens, University of Mons-Hainaut, Belgium tom.mens@umh.ac.be Gabriele Taentzer, Dirk Müller, Philipps-Universität Marburg, Germany {taentzer,dmueller}@mathematik.uni-marburg.de
More informationDetecting Structural Refactoring Conflicts Using Critical Pair Analysis
SETra 2004 Preliminary Version Detecting Structural Refactoring Conflicts Using Critical Pair Analysis Tom Mens 1 Software Engineering Lab Université de Mons-Hainaut B-7000 Mons, Belgium Gabriele Taentzer
More informationA Graphical Specification of Model Composition With Triple Graph Grammars
A Graphical Specification of Model Composition With Triple Graph Grammars Adil Anwar 1, Amine Benelallam 2, Akram Idani 3, Bernard Coulette 4, and Mahmoud Nassar 2 1 Siweb, Computer Science Department,
More informationUpdate Transformations in the Small with the Epsilon Wizard Language
Vol. 6, No. 9, Special Issue. TOOLS EUROPE 2007, October 2007 Update Transformations in the Small with the Epsilon Wizard Language Dimitrios S. Kolovos Richard F. Paige Fiona A.C. Polack Louis M. Rose
More informationModel-Driven Software Refactoring
Model-Driven Software Refactoring Tom Mens, University of Mons-Hainaut, Belgium, tom.mens@umh.ac.be Gabriele Taentzer, Dirk Müller, Philipps-Universität Marburg, Germany, {taentzer,dmueller}@mathematik.uni-marburg.de
More informationTiger EMF Model Transformation Framework (EMT)
Tiger EMF Model Transformation Framework (EMT) Version 1.2.0 User Manual TU Berlin EMT Project Team: Enrico Biermann, Karsten Ehrig, Claudia Ermel, Christian Köhler, Günter Kuhns, Gabi Taentzer Email:
More informationProceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010)
Electronic Communications of the EASST Volume X (2010) Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010) Teaching Model Driven Language Handling Terje
More informationHow to generate new EMF model refactorings using Java code
How to generate new EMF model refactorings using Java code Thorsten Arendt January 14, 2011 This manual presents the application of an EMF model refactoring using EMF Refactor. More precisely, we demonstrate
More informationEMF Code Generation with Fujaba
EMF Code Generation with Fujaba Leif Geiger Universität Kassel Wilhelmshöher Allee 73 34121 Kassel leif.geiger@uni-kassel.de Thomas Buchmann Universität Bayreuth Universitätsstr. 30 95447 Bayreuth thomas.buchmann@unibayreuth.de
More informationTermination Analysis of the Transformation UML to CSP
Magyar Kutatók 8. Nemzetközi Szimpóziuma 8 th International Symposium of Hungarian Researchers on Computational Intelligence and Informatics Termination Analysis of the Transformation UML to CSP Márk Asztalos,
More informationAGG: A Graph Transformation Environment for Modeling and Validation of Software
AGG: A Graph Transformation Environment for Modeling and Validation of Software Gabriele Taentzer Technische Universität Berlin, Germany gabi@cs.tu-berlin.de Abstract. AGG is a general development environment
More informationEclipse Development Tools for Epsilon
Eclipse Development Tools for Epsilon Dimitrios S. Kolovos, Richard F. Paige, and Fiona A.C. Polack Department of Computer Science, University of York, Heslington, York, YO10 5DD, UK. {dkolovos,paige,fiona@cs.york.ac.uk
More informationA Formal Resolution Strategy for Operation-Based Conflicts in Model Versioning Using Graph Modifications
A Formal Resolution Strategy for Operation-Based Conflicts in Model Versioning Using Graph Modifications Hartmut Ehrig 1, Claudia Ermel 1 and Gabriele Taentzer 2 1 Technische Universität Berlin, Germany
More informationProceedings of the Third International Workshop on Graph Based Tools (GraBaTs 2006)
Electronic Communications of the EASST Volume 1 (2006) Proceedings of the Third International Workshop on Graph Based Tools (GraBaTs 2006) Object Oriented and Rule-based Design of Visual Languages using
More informationHow to apply EMF model refactorings
How to apply EMF model refactorings Thorsten Arendt January 7, 2011 This manual presents the application of an EMF model refactoring using EMF Refactor. More precisely, we demonstrate the model refactoring
More informationA Formal V&V Framework for UML Models Based on Model Transformation Techniques
A Formal V&V Framework for UML Models Based on Model Transformation Techniques Soon-Kyeong Kim and David Carrington Information Technology and Electrical Engineering The University of Queensland, St. Lucia,
More informationModel Migration Case for TTC 2010
Model Migration Case for TTC 2010 Louis M. Rose, Dimitrios S. Kolovos, Richard F. Paige, and Fiona A.C. Polack Department of Computer Science, University of York, UK. [louis,dkolovos,paige,fiona]@cs.york.ac.uk
More informationFormal Semantics of Consistent EMF Model Transformations by Algebraic Graph Transformation
SoSyM manuscript No. (will be inserted by the editor) Formal Semantics of Consistent EMF Model Transformations by Algebraic Graph Transformation Enrico Biermann 1, Claudia Ermel 1, Gabriele Taentzer 2
More informationManaging Model and Meta-Model Components with Export and Import Interfaces
Managing Model and Meta-Model Components with Export and Import Interfaces Daniel Strüber, Stefan Jurack, Tim Schäfer, Stefan Schulz, Gabriele Taentzer Philipps-Universität Marburg, Germany, {strueber,sjurack,timschaefer,schulzs,taentzer}
More informationChapter 7. Modular Refactoring. 7.1 Introduction to Modular Refactoring
Chapter 7 Modular Refactoring I n this chapter, the role of Unified Modeling Language (UML) diagrams and Object Constraint Language (OCL) expressions in modular refactoring have been explained. It has
More informationSoftware Language Engineering of Architectural Viewpoints
Software Language Engineering of Architectural Viewpoints Elif Demirli and Bedir Tekinerdogan Department of Computer Engineering, Bilkent University, Ankara 06800, Turkey {demirli,bedir}@cs.bilkent.edu.tr
More informationSupporting Modeling in the Large in Fujaba
Supporting Modeling in the Large in Thomas Buchmann Angewandte Informatik 1 Universität Bayreuth D-95440 Bayreuth thomas.buchmann@unibayreuth.de Alexander Dotor Angewandte Informatik 1 Universität Bayreuth
More informationEMF Model Refactoring based on Graph Transformation Concepts
Page 29 EMF Model Refactoring based on Graph Transformation Concepts Enrico Biermann *, Karsten Ehrig **, Christian Köhler *, Günter Kuhns *, Gabriele Taentzer *, Eduard Weiss * *Department of Computer
More informationManipulation of Graphs, Algebras and Pictures. Essays Dedicated to Hans-Jörg Kreowski on the Occasion of His 60th Birthday
Electronic Communications of the EASST Volume X (2009) Manipulation of Graphs, Algebras and Pictures Essays Dedicated to Hans-Jörg Kreowski on the Occasion of His 60th Birthday Lifting Parallel Graph Transformation
More informationIntroduction to AGG and EMF Tiger by Modeling a Conference Scheduling System
Int J Softw Tools Technol Transfer (2009) manuscript No. (will be inserted by the editor) Introduction to AGG and EMF Tiger by Modeling a Conference Scheduling System Enrico Biermann Claudia Ermel Leen
More informationModel-Independent Differences
Model-Independent Differences Patrick Könemann Technical University of Denmark, Informatics and Mathematical Modelling Richard Petersens Plads, DK-2800 Kgs. Lyngby, Denmark pk@imm.dtu.dk Abstract Computing
More informationEvaluation of Business Rules Maintenance in Enterprise Information Systems
POSTER 2015, PRAGUE MAY 14 1 Evaluation of Business Rules Maintenance in Enterprise Information Systems Karel CEMUS Dept. of Computer Science, Czech Technical University, Technická 2, 166 27 Praha, Czech
More informationAN AGILE MDA APPROACH FOR EXECUTABLE UML STRUCTURED ACTIVITIES
STUDIA UNIV. BABEŞ BOLYAI, INFORMATICA, Volume LII, Number 2, 2007 AN AGILE MDA APPROACH FOR EXECUTABLE UML STRUCTURED ACTIVITIES I. LAZĂR, B. PÂRV, S. MOTOGNA, I.-G. CZIBULA, AND C.-L. LAZĂR Abstract.
More informationIntroduction to MDE and Model Transformation
Vlad Acretoaie Department of Applied Mathematics and Computer Science Technical University of Denmark rvac@dtu.dk DTU Course 02291 System Integration Vlad Acretoaie Department of Applied Mathematics and
More informationTowards Compositional Domain Specific Languages
Andreas Horst, Bernhard Rumpe Software Engineering RWTH Aachen University, Germany http://www.se-rwth.de/ 1 Introduction The deployment of Domain Specific Languages (DSL) and in particular Domain Specific
More informationConsistency-Preserving Edit Scripts in Model Versioning
Consistency-Preserving Edit Scripts in Model Versioning Technical Report 2013-11-12 Timo Kehrer, Udo Kelter Department Elektrotechnik und Informatik Universität Siegen, Germany Gabriele Taentzer Fachbereich
More informationTGGs for Transforming UML to CSP: Contribution to the ACTIVE 2007 Graph Transformation Tools Contest. Technical Report tr-ri
TGGs for Transforming UML to CSP: Contribution to the ACTIVE 2007 Graph Transformation Tools Contest Technical Report tr-ri-08-287 Joel Greenyer, Jan Rieke, and Oleg Travkin Department of Computer Science
More informationFramework for replica selection in fault-tolerant distributed systems
Framework for replica selection in fault-tolerant distributed systems Daniel Popescu Computer Science Department University of Southern California Los Angeles, CA 90089-0781 {dpopescu}@usc.edu Abstract.
More informationForschungsberichte der Fakultät IV Elektrotechnik und Informatik
Forschungsberichte der Fakultät IV Elektrotechnik und Informatik A Formal Resolution Strategy for Operation-Based Conicts in Model Versioning Using Graph Modications Hartmut Ehrig 1 Claudia Ermel 1 Gabriele
More informationSAFEREFACTOR Tool for Checking Refactoring Safety
SAFEREFACTOR Tool for Checking Refactoring Safety Gustavo Soares 1, Diego Cavalcanti 1, Rohit Gheyi 1, Tiago Massoni 1, Dalton Serey 1,Márcio Cornélio 2 1 Department of Systems and Computing UFCG 2 Department
More informationModel Transformations for Embedded System Design and Virtual Platforms
1 Model Transformations for Embedded System Design and Virtual Platforms Nikos Matragkas, Ian Gray, Richard Paige, Dimitris Kolovos, Neil Audsley, Leandro Indrusiak Department of Computer Science The University
More informationLocal search-based pattern matching features in EMF-IncQuery
Local search-based pattern matching features in EMF-IncQuery Márton Búr 1,2, Zoltán Ujhelyi 2,1, Ákos Horváth 2,1, Dániel Varró 1 1 Budapest University of Technology and Economics, Department of Measurement
More informationDetecting and Preventing Power Outages in a Smart Grid using emoflon
Detecting and Preventing Power Outages in a Smart Grid using emoflon Sven Peldszus, Jens Bürger, Daniel Strüber {speldszus,buerger,strueber}@uni-koblenz.de University of Koblenz and Landau Abstract We
More informationImplementing the Interactive Television Applications Case Study using Epsilon
Implementing the Interactive Television Applications Case Study using Epsilon Dimitrios S. Kolovos, Richard F. Paige, Louis M. Rose, Fiona A.C. Polack Department of Computer Science The University of York
More informationFeatureIDE in a Nutshell
FeatureIDE in a Nutshell 3 FeatureIDE implements a general support to implement feature-oriented software product lines. In this chapter, we give a general overview on the functionalities of FeatureIDE.
More informationDebugging Abstract State Machine Specifications: An Extension of CoreASM
Debugging Abstract State Machine Specifications: An Extension of CoreASM Marcel Dausend, Michael Stegmaier and Alexander Raschke Institute of Software Engineering and Compiler Construction, University
More informationModel Migration Case for TTC 2010
Model Migration Case for TTC 2010 Louis M. Rose, Dimitrios S. Kolovos, Richard F. Paige, and Fiona A.C. Polack Department of Computer Science, University of York, UK. [louis,dkolovos,paige,fiona]@cs.york.ac.uk
More informationCoding and Unit Testing! The Coding Phase! Coding vs. Code! Coding! Overall Coding Language Trends!
Requirements Spec. Design Coding and Unit Testing Characteristics of System to be built must match required characteristics (high level) Architecture consistent views Software Engineering Computer Science
More informationFirst Steps Towards Conceptual Schema Testing
First Steps Towards Conceptual Schema Testing Albert Tort and Antoni Olivé Universitat Politècnica de Catalunya {atort,olive}@lsi.upc.edu Abstract. Like any software artifact, conceptual schemas of information
More informationInteractive Transformations for Visual Models
Interactive Transformations for Visual Models Ulf Rüegg, Christian Motika, Reinhard von Hanxleden Christian-Albrechts-Universität zu Kiel {uru,cmot,rvh}@informatik.uni-kiel.de Abstract: Model transformations
More informationSpecification and Automated Detection of Code Smells using OCL
Specification and Automated Detection of Code Smells using OCL Tae-Woong Kim 1, Tae-Gong Kim 2 and Jai-Hyun Seu 3 School of Computer Engineering, Inje University, Obang-dong 607, Gimhae, Gyeong-Nam, Korea
More informationBLU AGE 2009 Edition Agile Model Transformation
BLU AGE 2009 Edition Agile Model Transformation Model Driven Modernization for Legacy Systems 1 2009 NETFECTIVE TECHNOLOGY -ne peut être copiésans BLU AGE Agile Model Transformation Agenda Model transformation
More informationModeling with Plausibility Checking: Inspecting Favorable and Critical Signs for Consistency between Control Flow and Functional Behavior
Modeling with Plausibility Checking: Inspecting Favorable and Critical Signs for Consistency between Control Flow and Functional Behavior Claudia Ermel 1, Jürgen Gall 1, Leen Lambers 2, and Gabriele Taentzer
More informationA Formalism for Automated Verification of Model Transformations
Magyar Kutatók 10. Nemzetközi Szimpóziuma 10 th International Symposium of Hungarian Researchers on Computational Intelligence and Informatics A Formalism for Automated Verification of Model Transformations
More informationProcess-Integrated Refinement Patterns in UML
Process-Integrated Refinement Patterns in UML Timo Kehrer Dept. of Computer Science and Media Stuttgart Media University (HdM) Nobelstr. 10, D-70569 Stuttgart, Germany Tel: +49 711 8923 2619 Fax: +49 711
More informationLeveraging UML Profiles to Generate Plugins From Visual Model Transformations
Electronic Notes in Theoretical Computer Science 127 (2005) 5 16 www.elsevier.com/locate/entcs Leveraging UML Profiles to Generate Plugins From Visual Model Transformations Hans Schippers, Pieter Van Gorp,
More informationVisualization of Clone Detection Results
Visualization of Clone Detection Results Robert Tairas and Jeff Gray Department of Computer and Information Sciences University of Alabama at Birmingham Birmingham, AL 5294-1170 1-205-94-221 {tairasr,
More informationTowards End-User Adaptable Model Versioning: The By-Example Operation Recorder
Towards End-User Adaptable Model Versioning: The By-Example Operation Recorder Petra Brosch, Philip Langer, Martina Seidl, and Manuel Wimmer Institute of Software Technology and Interactive Systems Vienna
More informationchallenges in domain-specific modeling raphaël mannadiar august 27, 2009
challenges in domain-specific modeling raphaël mannadiar august 27, 2009 raphaël mannadiar challenges in domain-specific modeling 1/59 outline 1 introduction 2 approaches 3 debugging and simulation 4 differencing
More information1 Version management tools as a basis for integrating Product Derivation and Software Product Families
1 Version management tools as a basis for integrating Product Derivation and Software Product Families Jilles van Gurp, Christian Prehofer Nokia Research Center, Software and Application Technology Lab
More informationTowards Transformation Migration After Metamodel Evolution
Towards Transformation Migration After Metamodel Evolution David Méndez 1,2, Anne Etien 2, Alexis Muller 2, and Rubby Casallas 1 TICSw Research Group, Universidad de los Andes, Colombia {df.mendez73,rcasalla}@uniandes.edu.co
More informationFormal specification of semantics of UML 2.0 activity diagrams by using Graph Transformation Systems
Formal specification of semantics of UML 2.0 activity diagrams by using Graph Transformation Systems Somayeh Azizi 1, Vahid Panahi 2 Computer science department, Sama Technical and vocational, Training
More informationThe Epsilon Pattern Language
The Epsilon Pattern Language Dimitrios S. Kolovos and Richard F. Paige Department of Computer Science, University of York, Deramore Lane, York, YO10 5GH, UK. {dimitris.kolovos, richard.paige}@york.ac.uk
More informationStatic Safety Analysis of UML Action Semantics for Critical Systems Development
Static Safety Analysis of UML Action Semantics for Critical Systems Development Zsigmond Pap, Dániel Varró Dept. of Measurement and Information Systems Budapest University of Technology and Economics H-1521
More informationDeriving Model Metrics from Meta Models
Nassar, Arendt, Taentzer: Deriving Model Metrics from Meta Models 1 Deriving Model Metrics from Meta Models Nebras Nassar, Thorsten Arendt and Gabriele Taentzer Philipps-Universität Marburg {nassarn,arendt,taentzer}@informatik.uni-marburg.de
More informationQoS-aware model-driven SOA using SoaML
QoS-aware model-driven SOA using SoaML Niels Schot A thesis submitted for the degree of MSc Computer Science University of Twente EEMCS - TRESE: Software Engineering Group Examination committee: Luís Ferreira
More informationScenario integration via the transformation and manipulation of higher-order graphs
Scenario integration via the transformation and manipulation of higher-order graphs Hongzhi Liang School of Computing, Queen s University, Canada liang@cs.queensu.ca Abstract. The integration of different
More informationModeling Crisis Management System With the Restricted Use Case Modeling Approach
Modeling Crisis Management System With the Restricted Use Case Modeling Approach Gong Zhang 1, Tao Yue 2, and Shaukat Ali 3 1 School of Computer Science and Engineering, Beihang University, Beijing, China
More informationCoral: A Metamodel Kernel for Transformation Engines
Coral: A Metamodel Kernel for Transformation Engines Marcus Alanen and Ivan Porres TUCS Turku Centre for Computer Science Department of Computer Science, Åbo Akademi University Lemminkäisenkatu 14, FIN-20520
More information2nd Belgian-Dutch workshop on Software Evolution
2nd Belgian-Dutch workshop on Software Evolution BENEVOL 2004 8-9 July 2004 University of Antwerp Belgium Problem statement More and better tool support needed for software evolution traceability management
More information3.4 Data-Centric workflow
3.4 Data-Centric workflow One of the most important activities in a S-DWH environment is represented by data integration of different and heterogeneous sources. The process of extract, transform, and load
More informationModel Driven Development of Context Aware Software Systems
Model Driven Development of Context Aware Software Systems Andrea Sindico University of Rome Tor Vergata Elettronica S.p.A. andrea.sindico@gmail.com Vincenzo Grassi University of Rome Tor Vergata vgrassi@info.uniroma2.it
More informationA Visual Based Framework for the Model Refactoring Techniques
A Visual Based Framework for the Model Refactoring Techniques M. Štolc *, I. Polášek *(**) * Faculty of Informatics and Information Technologies, STU Bratislava, Slovakia ** Gratex International, a.s.,
More informationBlack-Box Program Specialization
Published in Technical Report 17/99, Department of Software Engineering and Computer Science, University of Karlskrona/Ronneby: Proceedings of WCOP 99 Black-Box Program Specialization Ulrik Pagh Schultz
More informationTowards Better Support for Pattern-Oriented Software Development
Towards Better Support for Pattern-Oriented Software Development Dietrich Travkin Software Engineering Research Group, Heinz Nixdorf Institute & Department of Computer Science, University of Paderborn,
More informationUnit Testing of Model to Text Transformations
Unit Testing of Model to Text Transformations Alessandro Tiso, Gianna Reggio, Maurizio Leotta DIBRIS Università di Genova, Italy alessandro.tiso gianna.reggio maurizio.leotta@unige.it Abstract. Assuring
More informationModel refactoring within a Sequencer TOMAŽ KOS 1, TOMAŽ KOSAR 2, JURE KNEZ 1, MARJAN MERNIK 2
Model refactoring within a Sequencer TOMAŽ KOS 1, TOMAŽ KOSAR 2, JURE KNEZ 1, MARJAN MERNIK 2 1 DEWESoft d.o.o. Gabersko 11a, 1420 Trbovlje SLOVENIA {tomaz.kos, jure.knez}@dewesoft.si http://www.dewesoft.si
More informationImagine you ve written a piece of code but then accidentally deleted and lost it.
Why Refactor? Imagine you ve written a piece of code but then accidentally deleted and lost it. Questions: How much time would it take you to reconstruct from scratch what you had the same amount, or more,
More informationFeature Model to Orthogonal Variability Model Transformation towards Interoperability between Tools
Feature Model to Orthogonal Variability Model Transformation towards Interoperability between Tools Fabricia Roos-Frantz 1, David Benavides 2 and Antonio Ruiz-Cortés 2 1 Unijuí, Departmento de Tecnologia
More informationQuality Indicators for Automotive Test Case Specifications
Quality Indicators for Automotive Test Case Specifications Katharina Juhnke Daimler AG Group Research & MBC Development Email: katharina.juhnke@daimler.com Matthias Tichy Ulm University Institute of Software
More informationDSM model-to-text generation: from MetaDepth to Android with EGL
DSM model-to-text generation: from MetaDepth to Android with EGL Rafael Ugaz Antwerp University (Belgium), rafaelugaz@gmail.com Abstract This article describes the process of a specific model-to-text transformation
More informationBPMN2BPEL transformation with Fujaba - a Case Study
BPMN2BPEL transformation with Fujaba - a Case Study Ruben Jubeh SE, Kassel University Wilhelmshöher Allee 73 34121 Kassel ruben.jubeh@uni-kassel.de ABSTRACT We have modeled a BPMN to BPEL synthesis transformation
More informationBehavior Preservation in Model Refactoring using DPO Transformations with Borrowed Contexts
Behavior Preservation in Model Refactoring using DPO Transformations with Borrowed Contexts Guilherme Rangel 1, Leen Lambers 1, Barbara König 2, Hartmut Ehrig 1, and Paolo Baldan 3 1 Institut für Softwaretechnik
More informationModel Transformation by Graph Transformation: A Comparative Study
Model Transformation by Graph Transformation: A Comparative Study Karsten Ehrig 1, Esther Guerra 2, Juan de Lara 3, Laszlo Lengyel 4, Tihamer Levendovszky 4, Ulrike Prange 1, Gabriele Taentzer 1, Daniel
More informationProceedings of the Third International Workshop on Graph Based Tools (GraBaTs 2006)
Electronic Communications of the EASST Volume 1 (2006) Proceedings of the Third International Workshop on Graph Based Tools (GraBaTs 2006) Specifying Distributed Graph Transformation Systems Ulrike Ranger,
More informationOCL Support in MOF Repositories
OCL Support in MOF Repositories Joachim Hoessler, Michael Soden Department of Computer Science Technical University Berlin hoessler@cs.tu-berlin.de, soden@cs.tu-berlin.de Abstract From metamodels that
More informationPerformance Cockpit: An Extensible GUI Platform for Performance Tools
Performance Cockpit: An Extensible GUI Platform for Performance Tools Tianchao Li and Michael Gerndt Institut für Informatik, Technische Universität München, Boltzmannstr. 3, D-85748 Garching bei Mu nchen,
More informationAn ECLIPSE Framework for Rapid Development of Rich-featured GEF Editors based on EMF Models
An ECLIPSE Framework for Rapid Development of Rich-featured GEF Editors based on EMF Models Tony Modica, Enrico Biermann, Claudia Ermel Institut für Softwaretechnik und Theoretische Informatik Technische
More informationOnTrack: An Open Tooling Environment For Railway Verification
OnTrack: An Open Tooling Environment For Railway Verification Phillip James 1, Matthew Trumble 2, Helen Treharne 2, Markus Roggenbach 1, and Steve Schneider 2 1 Swansea University, UK 2 University of Surrey,
More informationBPMN to BPEL case study solution in VIATRA2
BPMN to BPEL case study solution in VIATRA2 Gábor Bergmann and Ákos Horváth Budapest University of Technology and Economics, Department of Measurement and Information Systems, H-1117 Magyar tudósok krt.
More information11. Architecture of Database Systems
11. Architecture of Database Systems 11.1 Introduction Software systems generally have an architecture, ie. possessing of a structure (form) and organisation (function). The former describes identifiable
More informationBehavior Preservation in Model Refactoring using DPO Transformations with Borrowed Contexts
Behavior Preservation in Model Refactoring using DPO Transformations with Borrowed Contexts Guilherme Rangel 1, Leen Lambers 1, Barbara König 2, Hartmut Ehrig 1, and Paolo Baldan 3 1 Institut für Softwaretechnik
More informationWhy and How We Should Use Graphiti to Implement PCM Editors
Why and How We Should Use Graphiti to Implement PCM Editors Christian Stritzke, Sebastian Lehrig University of Paderborn Zukunftsmeile 1 33102 Paderborn cstritzk@mail.upb.de sebastian.lehrig@upb.de Abstract:
More informationPattern-Oriented Development with Rational Rose
Pattern-Oriented Development with Rational Rose Professor Peter Forbrig, Department of Computer Science, University of Rostock, Germany; Dr. Ralf Laemmel, Department of Information Management and Software
More informationSequence Diagram Generation with Model Transformation Technology
, March 12-14, 2014, Hong Kong Sequence Diagram Generation with Model Transformation Technology Photchana Sawprakhon, Yachai Limpiyakorn Abstract Creating Sequence diagrams with UML tools can be incomplete,
More informationQuality-oriented Move Method Refactoring
Quality-oriented Move Method Refactoring Christian Marlon Souza Couto Department of Computer Science Federal University of Lavras Lavras, Brazil Email: christiancouto@posgrad.ufla.br Henrique Rocha Inria
More informationIBM Rational Software Architect
Unifying all aspects of software design and development IBM Rational Software Architect A complete design & development toolset Incorporates all the capabilities in IBM Rational Application Developer for
More informationASSURING DATA INTEROPERABILITY THROUGH THE USE OF FORMAL MODELS OF VISA PAYMENT MESSAGES (Category: Practice-Oriented Paper)
ASSURING DATA INTEROPERABILITY THROUGH THE USE OF FORMAL MODELS OF VISA PAYMENT MESSAGES (Category: Practice-Oriented Paper) Joseph Bugajski Visa International JBugajsk@visa.com Philippe De Smedt Visa
More information