Correct Reuse of Transformations is Hard to Guarantee

As model transformations become more complex and more central to software development, reuse mechanisms become more important to enable effective and efficient development of high-quality transformations. A number of transformation-reuse mechanisms have b

  • PDF / 662,410 Bytes
  • 16 Pages / 439.37 x 666.142 pts Page_size
  • 1 Downloads / 161 Views

DOWNLOAD

REPORT


Department of Computer Science, University of Toronto, Toronto, Canada {rsalay,chechik}@cs.toronto.edu 2 Department of Informatics, King’s College London, London, UK [email protected]

Abstract. As model transformations become more complex and more central to software development, reuse mechanisms become more important to enable effective and efficient development of high-quality transformations. A number of transformation-reuse mechanisms have been proposed, but so far there have been no effective attempts at evaluating the quality of reuse that can be achieved by these approaches. In this paper, we build on our earlier work on transformation intents and propose a systematic approach for analyzing the soundness and completeness of a given transformation reuse mechanism with respect to the preservation of transformation intent. We apply this approach to analyze transformation-reuse mechanisms currently proposed in the literature and show that these mechanisms are not sound or complete. We show why providing sound transformation reuse mechanisms is a hard problem, but provide some evidence that by limiting ourselves to specific families of transformations and modeling languages the problem can be simplified. As a result of our exploration, we propose a new research agenda into the development of sound (and possibly complete) transformation reuse mechanisms.

1

Introduction

As model transformations become more complex and more central to software development, automated reuse mechanisms become more important to enable effective and efficient development of high-quality transformations. However, while automating the reuse mechanism is a good first step, it is only useful if it ensures transformations are reused correctly; that is, for their intended purpose. Currently proposed mechanisms for transformation reuse mainly fall into the following two categories: (1) Model typing/sub-typing techniques establish rules for sub-typing relationships between meta-models that can be applied automatically to judge whether a transformation expressed over meta-model M MA can be executed over meta-model M MB . Examples of approaches in this area are given in [1,2]. (2) Model concepts and related techniques require that developers wanting to reuse a model transformation defined over meta-model M MA for meta-model M MB provide an explicit binding or morphism between the c Springer International Publishing Switzerland 2016  P. Van Gorp and G. Engels (Eds.): ICMT 2016, LNCS 9765, pp. 107–122, 2016. DOI: 10.1007/978-3-319-42064-6 8

108

R. Salay et al.

two meta-models. Examples of this approach can be seen in [3,4]. The work of Pham [5,6] bridges both worlds in that it is based on model typing, but allows the explicit provision of bindings through a dedicated mapping DSL. In previous work, we have critiqued these approaches and attempted to address some of their shortcomings with respect to correctness. In [7], Zschaler proposes an interface specification approach for correct reuse through modular composition of transformation components. In [8],