Graph Transforming Java Data

  • Maarten de Mol
  • Arend Rensink
  • James J. Hunt
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7212)


This paper introduces an approach for adding graph transformation-based functionality to existing Java programs. The approach relies on a set of annotations to identify the intended graph structure, as well as on user methods to manipulate that structure, within the user’s own Java class declarations. Other ingredients are a custom transformation language, called Chart, and a compiler from Chart to Java. The generated Java code runs against the pre-existing, annotated code.

The advantage of the approach is that it allows any Java program to be enhanced, non invasively, with declarative graph rules, improving clarity, conciseness and verifiability.


Model Transformation Graph Transformation Node Type Sequence Block Match Block 
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.


  1. 1.
    Arendt, T., Biermann, E., Jurack, S., Krause, C., Taentzer, G.: Henshin: Advanced Concepts and Tools for In-Place EMF Model Transformations. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010, Part I. LNCS, vol. 6394, pp. 121–135. Springer, Heidelberg (2010), CrossRefGoogle Scholar
  2. 2.
    Artisan studio (2011),
  3. 3.
    Beckert, B., Hähnle, R., Schmitt, P.H. (eds.): Verification of Object-Oriented Software. LNCS (LNAI), vol. 4334. Springer, Heidelberg (2007), Google Scholar
  4. 4.
    Charter: Critical and hight assurance requirements transformed through engineering rigour (2010),
  5. 5.
    Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Systems Journal 45(3), 621–646 (2006)CrossRefGoogle Scholar
  6. 6.
    de Mol, M., Rensink, A.: Formal semantics of the CHART transformation language. CTIT technical report, University of Twente (2011),
  7. 7.
    The FUJABA Toolsuite (2006),
  8. 8.
    Hülsbusch, M., König, B., Rensink, A., Semenyak, M., Soltenborn, C., Wehrheim, H.: Showing Full Semantics Preservation in Model Transformation - A Comparison of Techniques. In: Méry, D., Merz, S. (eds.) IFM 2010. LNCS, vol. 6396, pp. 183–198. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  9. 9.
    Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: A model transformation tool. Sci. Comput. Program. 72(1-2), 31–39 (2008)zbMATHCrossRefGoogle Scholar
  10. 10.
    Leroy, X.: Formal verification of a realistic compiler. Commun. ACM 52(7), 107–115 (2009)CrossRefGoogle Scholar
  11. 11.
    Levendovszky, T., Lengyel, L., Mezei, G., Charaf, H.: A systematic approach to metamodeling environments and model transformation systems in VMTS. Electr. Notes Theor. Comput. Sci. 127(1), 65–75 (2005), CrossRefGoogle Scholar
  12. 12.
    Akehurst, D.H., Bordbar, B., Evans, M.J., Howells, W.G.J., McDonald-Maier, K.D.: SiTra: Simple Transformations in Java. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 351–364. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  13. 13.
    Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification (2011),
  14. 14.
    Schürr, A.: Specification of Graph Translators with Triple Graph Grammars. In: Mayr, E.W., Schmidt, G., Tinhofer, G. (eds.) WG 1994. LNCS, vol. 903, pp. 151–163. Springer, Heidelberg (1995)CrossRefGoogle Scholar
  15. 15.
    Siebert, F.: Realtime garbage collection in the JamaicaVM 3.0. In: Bollella, G. (ed.) JTRES. ACM International Conference Proceeding Series, pp. 94–103. ACM (2007),
  16. 16.
    Taentzer, G.: What algebraic graph transformations can do for model transformations. ECEASST 30 (2010)Google Scholar
  17. 17.
    Varró, D., Balogh, A.: The model transformation language of the VIATRA2 framework. Science of Computer Programming 68(3), 187–207 (2007), CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Maarten de Mol
    • 1
  • Arend Rensink
    • 1
  • James J. Hunt
    • 2
  1. 1.Department of Computer ScienceUniversity of TwenteThe Netherlands
  2. 2.aicas GmbHKarlsruheGermany

Personalised recommendations