Refactorings in Language Development with Asymmetric Bidirectional Model Transformations

  • Martin Schmidt
  • Arif Wider
  • Markus Scheidgen
  • Joachim Fischer
  • Sebastian von Klinski
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7916)

Abstract

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.

Keywords

DSL evolution language description refactoring bidirectional model transformations 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Martin Schmidt
    • 1
  • Arif Wider
    • 2
  • Markus Scheidgen
    • 2
  • Joachim Fischer
    • 2
  • Sebastian von Klinski
    • 1
  1. 1.Beuth Hochschule für Technik BerlinUniversity of Applied SciencesBerlinGermany
  2. 2.Department of Computer ScienceHumboldt-Universität zu BerlinBerlinGermany

Personalised recommendations