• DocumentCode
    2442774
  • Title

    Maintaining invariant traceability through bidirectional transformations

  • Author

    Yu, Yijun ; Lin, Yu ; Hu, Zhenjiang ; Hidaka, Soichiro ; Kato, Hiroyuki ; Montrieux, Lionel

  • Author_Institution
    Dept. of Comput., Open Univ., Milton Keynes, UK
  • fYear
    2012
  • fDate
    2-9 June 2012
  • Firstpage
    540
  • Lastpage
    550
  • Abstract
    Following the “convention over configuration” paradigm, model-driven development (MDD) generates code to implement the “default” behaviour that has been specified by a template separate from the input model, reducing the decision effort of developers. For flexibility, users of MDD are allowed to customise the model and the generated code in parallel. A synchronisation of changed model or code is maintained by reflecting them on the other end of the code generation, as long as the traceability is unchanged. However, such invariant traceability between corresponding model and code elements can be violated either when (a) users of MDD protect custom changes from the generated code, or when (b) developers of MDD change the template for generating the default behaviour. A mismatch between user and template code is inevitable as they evolve for their own purposes. In this paper, we propose a two-layered invariant traceability framework that reduces the number of mismatches through bidirectional transformations. On top of existing vertical (model↔code) synchronisations between a model and the template code, a horizontal (code↔code) synchronisation between user and template code is supported, aligning the changes in both directions. Our blinkit tool is evaluated using the data set available from the CVS repositories of a MDD project: Eclipse MDT/GMF.
  • Keywords
    program compilers; program diagnostics; software maintenance; CVS repositories; Eclipse MDT-GMF; MDD; bidirectional transformations; blinkit tool; code elements; code generation; convention over configuration paradigm; default behaviour generation; horizontal synchronisation; model-driven development; template code; two-layered invariant traceability maintenance framework; user code; vertical synchronisations; Adaptation models; Computational modeling; Educational institutions; Generators; Java; Prototypes; Synchronization;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering (ICSE), 2012 34th International Conference on
  • Conference_Location
    Zurich
  • ISSN
    0270-5257
  • Print_ISBN
    978-1-4673-1066-6
  • Electronic_ISBN
    0270-5257
  • Type

    conf

  • DOI
    10.1109/ICSE.2012.6227162
  • Filename
    6227162