Evaluation of Kermeta for solving graph-based problems


Kermeta is a meta-language for specifying the structure and behavior of graphs of interconnected objects called models. In this paper, we show that Kermeta is relatively suitable for solving three graph-based problems. First, Kermeta allows the specification of generic model transformations such as refactorings that we apply to different metamodels including Ecore, Java, and Uml. Second, we demonstrate the extensibility of Kermeta to the formal language Alloy using an inter-language model transformation. Kermeta uses Alloy to generate recommendations for completing partially specified models. Third, we show that the Kermeta compiler achieves better execution time and memory performance compared to similar graph-based approaches using a common case study. The three solutions proposed for those graph-based problems and their evaluation with Kermeta according to the criteria of genericity, extensibility, and performance are the main contribution of the paper. Another contribution is the comparison of these solutions with those proposed by other graph-based tools.

This is a preview of subscription content, log in to check access.


  1. 1

    Anastasakis, K., Bordbar, B., Georg, G., Ray, I.: UML2Alloy: a challenging model transformation. In: MoDELS, pp. 436–450 (2007)

  2. 2

    Bierman, E., Ermel, C.: Antworld simulation case study modeled by emf transformation. In: Proceedings of the 4th International Workshop on Graph-Based Tools (GraBaTs 2008), September (2008)

  3. 3

    Bruce K.B., Vanderwaart J.: Semantics-driven language design: statically type-safe virtual types in object-oriented languages. Electr. Notes Theoret. Comput. Sci. 20, 50–75 (1999)

    Article  MathSciNet  Google Scholar 

  4. 4

    Buchwald, S., Kroll, M.: A GrGen.net solution of the AntWorld case for the GraBaTs 2008 contest. In: GraBaTs (2008)

  5. 5

    Curtis, C., Leavens, G.T., Chambers, C., Millstein, T.D.: MultiJava: modular open classes and symmetric multiple dispatch for java. In: Proceedings of the 15th International Conference on Object- Oriented Programming, Systems, Languages, and Applications (OOPSLA), pp. 130–145 (2000)

  6. 6

    Fowler, M.: Refactoring—Improving the Design of Existing Code, 1st edn. Addison-Wesley, Reading (1999)

  7. 7

    Fujaba. University of paderborn. http://wwwcs.uni-paderborn.de/cs/fujaba/

  8. 8

    Hoffman, B., Pérez, J., Mens, T.: A case study for program refactoring. In: GraBaTs, (September 2008)

  9. 9

    Jackson D.: Software Abstractions: Logic, Language, and Analysis. The MIT Press, London (2006)

    Google Scholar 

  10. 10

    Jouault F., Allilaire F., Bézivin J., Kurtev I.: ATL: A model transformation tool. Sci. Comput. Program. 72(1–2), 31–39 (2008)

    MATH  Article  Google Scholar 

  11. 11

    Kermeta. http://www.kermeta.org/

  12. 12

    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: Proceedings of the 11th European Conference on Object- Oriented Programming (ECOOP), vol. 1241, pp. 220–242. Springer, Berlin (1997)

  13. 13

    Kolovos, D.S., Paige, R.F., Polack, F.: The epsilon transformation language. In: Proceedings of the 1st International Conference on Theory and Practice of Model Transformations (ICMT 2008), vol. 5063, pp. 46–60. Springer, Berlin (2008)

  14. 14

    Mahajan, Y.S., Malik, S., Fu, Z.: Zchaff2004: An efficient SAT solver. In: Lecture Notes in Computer Science SAT 2004 Special vol. 3542, pp. 360–375. Springer, Berlin (2004)

  15. 15

    Mens, T., Taentzer, G., Runge, O.: Analysing refactoring dependencies using graph transformation. Software and Systems Modeling (SoSyM), pp. 269–285 (2007)

  16. 16

    Mens T., Tourwé T.: A survey of software refactoring. IEEE Trans. Softw. Eng. 30(2), 126–139 (2004)

    Article  Google Scholar 

  17. 17

    Meszaros, T., Madari, I., Mezei, G.: AntWorld, VMTS. In: GraBaTs (2008)

  18. 18

    Muliawan, O., Du Bois, B., Janssens, D.: Refactoring using JDT2MDR. In: GraBaTs (2008)

  19. 19

    Muller, P.-A., Fleurey, F., Jézéquel, J.-M.: Weaving executability into object-oriented meta-languages. In: MODELS/UML, vol. 3713, pp. 264–278, Montego Bay. Springer, Jamaica (2005)

  20. 20

    Niklas, E., Niklas, S.: MiniSat a SAT solver with conflict-clause minimization. In: SAT (2005)

  21. 21

    OMG. MOF 2.0 Core Specification. Technical Report formal/06-01-01, OMG, April 2006. OMG Available Specification

  22. 22

    OMG. The Object Constraint Language Specification 2.0, OMG Document: ad/03-01-07, (2007)

  23. 23

    OMG. MOF 2.0 Query/View/Transformation Specification. Specification Version 1.0, Object Management Group, (April 2008)

  24. 24

    Sen, S., Baudry, B., Mottu, J.-M.: On combining mullti-formalism knowledge to select test models for model transformaion testing. In: IEEE International Conference on Software Testing, Lillehammer, Norway (2008)

  25. 25

    Sen, S., Baudry, B., Vangheluwe, H.: Domain-specific model editors with model completion. In: Proceedings of MPM Workshop associated to MoDELS’07, Nashville, TN, USA (2007)

  26. 26

    Steel J., Jézéquel J.-M.: On model typing. J. Softw. Syst. Model. (SoSyM) 6(4), 401–414 (2007)

    Article  Google Scholar 

  27. 27

    The Attributed Graph Grammar (AGG) System. http://user.cs.tu-berlin.de/~gragra/agg/

  28. 28

    Tombelle, C., Vanwormhoudt, G.: Dynamic and generic manipulation of models: from introspection to scripting. In: MoDELS, vol. 4199, pp. 395–409 (2006)

  29. 29

    Viatra2. Department of measurement and information systems budapest university of technology and economics. http://www.eclipse.org/gmt/VIATRA2/

  30. 30

    Visual Modeling and Transformation System (VMTS). http://vmts.aut.bme.hu/

  31. 31

    Weinell, E.: Using PROGRES for graph-based program refactoring. In: GraBaTs (2008)

  32. 32

    Zündorf, A.: AntWorld. In: GraBaTs (2008)

Download references

Author information



Corresponding author

Correspondence to Naouel Moha.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Moha, N., Sen, S., Faucher, C. et al. Evaluation of Kermeta for solving graph-based problems. Int J Softw Tools Technol Transfer 12, 273–285 (2010). https://doi.org/10.1007/s10009-010-0150-1

Download citation


  • MDE
  • Metamodelling
  • Model typing
  • Model transformation
  • Refactoring
  • Performance
  • Genericity
  • Extensibility
  • Alloy