Model Refactoring in Eclipse by LTK, EWL, and EMF Refactor: A Case Study

Size: px
Start display at page:

Download "Model Refactoring in Eclipse by LTK, EWL, and EMF Refactor: A Case Study"

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 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 information

Integration of Smells and Refactorings within the Eclipse Modeling Framework

Integration 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 information

EMF 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 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 information

Towards Generating Domain-Specific Model Editors with Complex Editing Commands

Towards 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 information

A Generic Visual Language Technique for DSVL Model Refactoring to Patterns

A 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 information

Pattern composition in graph transformation rules

Pattern 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 information

A 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 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 information

Challenges in Model Refactoring

Challenges 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 information

Detecting Structural Refactoring Conflicts Using Critical Pair Analysis

Detecting 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 information

A Graphical Specification of Model Composition With Triple Graph Grammars

A 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 information

Update Transformations in the Small with the Epsilon Wizard Language

Update 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 information

Model-Driven Software Refactoring

Model-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 information

Tiger EMF Model Transformation Framework (EMT)

Tiger 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 information

Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010)

Proceedings 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 information

How to generate new EMF model refactorings using Java code

How 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 information

EMF Code Generation with Fujaba

EMF 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 information

Termination Analysis of the Transformation UML to CSP

Termination 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 information

AGG: A Graph Transformation Environment for Modeling and Validation of Software

AGG: 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 information

Eclipse Development Tools for Epsilon

Eclipse 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 information

A 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 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 information

Proceedings of the Third International Workshop on Graph Based Tools (GraBaTs 2006)

Proceedings 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 information

How to apply EMF model refactorings

How 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 information

A 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 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 information

Model Migration Case for TTC 2010

Model 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 information

Formal Semantics of Consistent EMF Model Transformations by Algebraic Graph Transformation

Formal 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 information

Managing Model and Meta-Model Components with Export and Import Interfaces

Managing 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 information

Chapter 7. Modular Refactoring. 7.1 Introduction to Modular Refactoring

Chapter 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 information

Software Language Engineering of Architectural Viewpoints

Software 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 information

Supporting Modeling in the Large in Fujaba

Supporting 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 information

EMF Model Refactoring based on Graph Transformation Concepts

EMF 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 information

Manipulation of Graphs, Algebras and Pictures. Essays Dedicated to Hans-Jörg Kreowski on the Occasion of His 60th Birthday

Manipulation 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 information

Introduction to AGG and EMF Tiger by Modeling a Conference Scheduling System

Introduction 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 information

Model-Independent Differences

Model-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 information

Evaluation of Business Rules Maintenance in Enterprise Information Systems

Evaluation 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 information

AN AGILE MDA APPROACH FOR EXECUTABLE UML STRUCTURED ACTIVITIES

AN 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 information

Introduction to MDE and Model Transformation

Introduction 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 information

Towards Compositional Domain Specific Languages

Towards 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 information

Consistency-Preserving Edit Scripts in Model Versioning

Consistency-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 information

TGGs 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 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 information

Framework for replica selection in fault-tolerant distributed systems

Framework 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 information

Forschungsberichte der Fakultät IV Elektrotechnik und Informatik

Forschungsberichte 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 information

SAFEREFACTOR Tool for Checking Refactoring Safety

SAFEREFACTOR 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 information

Model Transformations for Embedded System Design and Virtual Platforms

Model 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 information

Local search-based pattern matching features in EMF-IncQuery

Local 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 information

Detecting and Preventing Power Outages in a Smart Grid using emoflon

Detecting 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 information

Implementing the Interactive Television Applications Case Study using Epsilon

Implementing 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 information

FeatureIDE in a Nutshell

FeatureIDE 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 information

Debugging Abstract State Machine Specifications: An Extension of CoreASM

Debugging 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 information

Model Migration Case for TTC 2010

Model 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 information

Coding and Unit Testing! The Coding Phase! Coding vs. Code! Coding! Overall Coding Language Trends!

Coding 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 information

First Steps Towards Conceptual Schema Testing

First 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 information

Interactive Transformations for Visual Models

Interactive 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 information

Specification and Automated Detection of Code Smells using OCL

Specification 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 information

BLU AGE 2009 Edition Agile Model Transformation

BLU 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 information

Modeling 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 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 information

A Formalism for Automated Verification of Model Transformations

A 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 information

Process-Integrated Refinement Patterns in UML

Process-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 information

Leveraging UML Profiles to Generate Plugins From Visual Model Transformations

Leveraging 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 information

Visualization of Clone Detection Results

Visualization 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 information

Towards End-User Adaptable Model Versioning: The By-Example Operation Recorder

Towards 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 information

challenges in domain-specific modeling raphaël mannadiar august 27, 2009

challenges 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 information

1 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 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 information

Towards Transformation Migration After Metamodel Evolution

Towards 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 information

Formal 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 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 information

The Epsilon Pattern Language

The 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 information

Static Safety Analysis of UML Action Semantics for Critical Systems Development

Static 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 information

Deriving Model Metrics from Meta Models

Deriving 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 information

QoS-aware model-driven SOA using SoaML

QoS-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 information

Scenario integration via the transformation and manipulation of higher-order graphs

Scenario 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 information

Modeling Crisis Management System With the Restricted Use Case Modeling Approach

Modeling 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 information

Coral: A Metamodel Kernel for Transformation Engines

Coral: 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 information

2nd Belgian-Dutch workshop on Software Evolution

2nd 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 information

3.4 Data-Centric workflow

3.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 information

Model Driven Development of Context Aware Software Systems

Model 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 information

A Visual Based Framework for the Model Refactoring Techniques

A 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 information

Black-Box Program Specialization

Black-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 information

Towards Better Support for Pattern-Oriented Software Development

Towards 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 information

Unit Testing of Model to Text Transformations

Unit 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 information

Model 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 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 information

Imagine you ve written a piece of code but then accidentally deleted and lost it.

Imagine 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 information

Feature Model to Orthogonal Variability Model Transformation towards Interoperability between Tools

Feature 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 information

Quality Indicators for Automotive Test Case Specifications

Quality 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 information

DSM model-to-text generation: from MetaDepth to Android with EGL

DSM 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 information

BPMN2BPEL transformation with Fujaba - a Case Study

BPMN2BPEL 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 information

Behavior Preservation in Model Refactoring using DPO Transformations with Borrowed Contexts

Behavior 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 information

Model Transformation by Graph Transformation: A Comparative Study

Model 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 information

Proceedings of the Third International Workshop on Graph Based Tools (GraBaTs 2006)

Proceedings 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 information

OCL Support in MOF Repositories

OCL 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 information

Performance Cockpit: An Extensible GUI Platform for Performance Tools

Performance 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 information

An 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 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 information

OnTrack: An Open Tooling Environment For Railway Verification

OnTrack: 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 information

BPMN to BPEL case study solution in VIATRA2

BPMN 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 information

11. Architecture of Database Systems

11. 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 information

Behavior Preservation in Model Refactoring using DPO Transformations with Borrowed Contexts

Behavior 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 information

Why and How We Should Use Graphiti to Implement PCM Editors

Why 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 information

Pattern-Oriented Development with Rational Rose

Pattern-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 information

Sequence Diagram Generation with Model Transformation Technology

Sequence 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 information

Quality-oriented Move Method Refactoring

Quality-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 information

IBM Rational Software Architect

IBM 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 information

ASSURING 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) 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