JTL: A Bidirectional and Change Propagating Transformation Language

  • Antonio Cicchetti
  • Davide Di Ruscio
  • Romina Eramo
  • Alfonso Pierantonio
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6563)


In Model Driven Engineering bidirectional transformations are considered a core ingredient for managing both the consistency and synchronization of two or more related models. However, while non-bijectivity in bidirectional transformations is considered relevant, current languages still lack of a common understanding of its semantic implications hampering their applicability in practice.

In this paper, the Janus Transformation Language (JTL) is presented, a bidirectional model transformation language specifically designed to support non-bijective transformations and change propagation. In particular, the language propagates changes occurring in a model to one or more related models according to the specified transformation regardless of the transformation direction. Additionally, whenever manual modifications let a model be non reachable anymore by a transformation, the closest model which approximate the ideal source one is inferred. The language semantics is also presented and its expressivity and applicability are validated against a reference benchmark. JTL is embedded in a framework available on the Eclipse platform which aims to facilitate the use of the approach, especially in the definition of model transformations.


State Machine Source Model Model Transformation Target Model Trace Link 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Schmidt, D.: Guest Editor’s Introduction: Model-Driven Engineering. Computer 39(2), 25–31 (2006)CrossRefGoogle Scholar
  2. 2.
    Bézivin, J.: On the Unification Power of Models. Jour. on Software and Systems Modeling (SoSyM) 4(2), 171–188 (2005)CrossRefGoogle Scholar
  3. 3.
    Sendall, S., Kozaczynski, W.: Model Transformation: The Heart and Soul of Model-Driven Software Development. IEEE Software 20(5), 42–45 (2003)CrossRefGoogle Scholar
  4. 4.
    Stevens, P.: A Landscape of Bidirectional Model Transformations. In: Lämmel, R., Visser, J., Saraiva, J. (eds.) GTTSE 2007. LNCS, vol. 5235, pp. 408–424. Springer, Heidelberg (2008)Google Scholar
  5. 5.
    Xiong, Y., Song, H., Hu, Z., Takeichi, M.: Supporting parallel updates with bidirectional model transformations. In: Paige, R.F. (ed.) ICMT 2009. LNCS, vol. 5563, pp. 213–228. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  6. 6.
    Object Management Group (OMG): MOF QVT Final Adopted Specification, OMG Adopted Specification ptc/05-11-01 (2005)Google Scholar
  7. 7.
    Stevens, P.: Bidirectional model transformations in qvt: semantic issues and open questions. Software and Systems Modeling 8 (2009)Google Scholar
  8. 8.
    Steven Witkop: MDA users’ requirements for QVT transformations. OMG document 05-02-04 (2005)Google Scholar
  9. 9.
    Czarnecki, K., Helsen, S.: Feature-based Survey of Model Transformation Approaches. IBM Systems J. 45(3) (June 2006)Google Scholar
  10. 10.
    Czarnecki, K., Foster, J.N., Hu, Z., Lämmel, R., Schürr, A., Terwilliger, J.F.: Bidirectional Transformations: A Cross-Discipline Perspective. In: Paige, R.F. (ed.) ICMT 2009. LNCS, vol. 5563, pp. 260–283. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  11. 11.
    Gelfond, M., Lifschitz, V.: The Stable Model Semantics for Logic Programming. In: Kowalski, R.A., Bowen, K. (eds.) Proceedings of the Fifth Int. Conf. on Logic Programming, pp. 1070–1080. The MIT Press, Cambridge (1988)Google Scholar
  12. 12.
    Chen, K., Sztipanovits, J., Abdelwalhed, S., Jackson, E.: Semantic Anchoring with Model Transformations. In: Hartman, A., Kreische, D. (eds.) ECMDA-FA 2005. LNCS, vol. 3748, pp. 115–129. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  13. 13.
    Leone, N., Pfeifer, G., Faber, W., Eiter, T., Gottlob, G., Perri, S., Scarcello, F.: The dlv system for knowledge representation and reasoning (2004)Google Scholar
  14. 14.
    Hettel, T., Lawley, M., Raymond, K.: Model Synchronisation: Definitions for Round-Trip Engineering. In: Vallecillo, A., Gray, J., Pierantonio, A. (eds.) ICMT 2008. LNCS, vol. 5063, pp. 31–45. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  15. 15.
    Konigs, A., Schurr, A.: Tool Integration with Triple Graph Grammars - A Survey. Electronic Notes in Theoretical Computer Science 148, 113–150 (2006)CrossRefGoogle Scholar
  16. 16.
    Tratt, L.: A change propagating model transformation language. Journal of Object Technology 7(3), 107–126 (2008)CrossRefGoogle Scholar
  17. 17.
    Jouault, F., Kurtev, I.: Transforming Models with ATL. In: Bruel, J.-M. (ed.) MoDELS 2005. LNCS, vol. 3844, pp. 128–138. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  18. 18.
    Budinsky, F., Steinberg, D., Merks, E., Ellersick, R., Grose, T.: Eclipse Modeling Framework. Addison-Wesley, Reading (2003)Google Scholar
  19. 19.
    Bézivin, J., Jouault, F., Rosenthal, P., Valduriez, P.: Modeling in the Large and Modeling in the Small. In: Aßmann, U., Liu, Y., Rensink, A. (eds.) MDAFA 2003. LNCS, vol. 3599, pp. 33–46. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  20. 20.
    Van Paesschen, E., Kantarcioglu, M., D’Hondt, M.: SelfSync: A Dynamic Round-Trip Engineering Environment. In: Briand, L.C., Williams, C. (eds.) MoDELS 2005. LNCS, vol. 3713, pp. 633–647. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  21. 21.
    Giese, H., Wagner, R.: Incremental Model Synchronization with Triple Graph Grammars. In: Wang, J., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 543–557. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  22. 22.
    Mu, S.-C., Hu, Z., Takeichi, M.: An Injective Language for Reversible Computation. In: Kozen, D., Shankland, C. (eds.) MPC 2004. LNCS, vol. 3125, pp. 289–313. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  23. 23.
    Foster, J., Greenwald, M., Moore, J., Pierce, B., Schmitt, A.: Combinators for bidirectional tree transformations: A linguistic approach to the view-update problem. ACM Trans. Program. Lang. Syst. 29(3) (2007)Google Scholar
  24. 24.
    Mens, T., Gorp, P.V.: A Taxonomy of Model Transformation. Electr. Notes Theor. Comput. Sci. 152, 125–142 (2006)CrossRefGoogle Scholar
  25. 25.
    Hearnden, D., Lawley, M., Raymond, K.: Incremental Model Transformation for the Evolution of Model-Driven Systems. In: Wang, J., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 321–335. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  26. 26.
    Balogh, Z., Varró, D.: Model transformation by example using inductive logic programming. Software and Systems Modeling (2009)Google Scholar
  27. 27.
    Compuware and Sun: XMOF queries, views and transformations on models using MOF, OCL and patterns, OMG Document ad/2003-08-07 (2003)Google Scholar
  28. 28.
    Cicchetti, A., Di Ruscio, D., Eramo, R.: Towards Propagation of Changes by Model Approximations. In: 10th IEEE Int. Enterprise Distributed Object Computing Conf. Workshops (EDOCW 2006), vol. 0, p. 24 (2006)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Antonio Cicchetti
    • 1
  • Davide Di Ruscio
    • 2
  • Romina Eramo
    • 2
  • Alfonso Pierantonio
    • 2
  1. 1.School of Innovation, Design and EngineeringMälardalen UniversityVästeråsSweden
  2. 2.Dipartimento di InformaticaUniversità degli Studi dell’AquilaCoppitoItaly

Personalised recommendations