Refactorings in Language Development with Asymmetric Bidirectional Model Transformations

نویسندگان

  • Martin Schmidt
  • Arif Wider
  • Markus Scheidgen
  • Joachim Fischer
  • Sebastian von Klinski
چکیده

Software language descriptions comprise several heterogeneous interdependent artifacts that cover different aspects of languages (abstract syntax, notation and semantics). The dependencies between those artifacts demand the simultaneous adaptation of all artifacts when the language is changed. Changes to a language that do not change semantics are referred to as refactorings. This class of changes can be handled automatically by applying predefined types of refactorings. Refactorings are therefore considered a valuable tool for evolving a language. We present a model transformation based approach for the refactoring of software language descriptions. We use asymmetric bidirectional model transformations to synchronize the various artifacts of language descriptions with a refactoring model that contains all elements that are changed in a particular refactoring. This allows for automatic, type-safe refactorings that also includes the language tooling. We apply this approach to an Ecore, Xtext, Xtend based language description and describe the implementation of a non-trivial refactoring.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Catalogue of Refactorings for Model-to-Model Transformations

In object-oriented programming, continuous refactorings are used as the main mechanism to increase the maintainability of the code base. Unfortunately, in the field of model transformations, such refactoring support is so far missing. This paper tackles this limitation by adapting the notion of refactorings to model-to-model (M2M) transformations. In particular, we present a dedicated catalogue...

متن کامل

Sound Object Model Refactorings

Refactorings are usually proposed in an ad hoc way because it is hard to guarantee their soundness with respect to a formal semantics. Usually, even using refactoring tools, developers have to rely on compilation and tests in order to improve their confidence that semantics is preserved, which may not be satisfactory to critical software development. We propose a set of semantics-preserving tra...

متن کامل

Generic Model Refactorings

Many modeling languages share some common concepts and principles. For example, Java, MOF, and UML share some aspects of the concepts of classes, methods, attributes, and inheritance. However, model transformations such as refactorings specified for a given language cannot be readily reused for another language because their related metamodels may be structurally different. Our aim is to enable...

متن کامل

A Refactoring Tool for Design Patterns with Model Transformations

Tools are essential for all phases of model driven development, especially for model transformations. We developed a tool to perform model refactorings with model transformations. Design pattern based model transformation is one of the applications of our tool. Our tool operates according to the source and target model definitions which are represented in UML. In the implementation of the tool,...

متن کامل

Towards lenses for view synchronization in metamodel-based domain- specific workbenches

Model-driven engineering (MDE) advocates the use of different domainspecific languages (DSLs) for describing different aspects of a system, which is called multi-view modeling or multimodeling. Existing metamodel-based technologies like Xtext provide good support for defining a DSL and for creating a corresponding domainspecific workbench but do not support multimodeling, yet, i.e., they do not...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2013