Evaluation of Kermeta for solving graph-based problems

  • Naouel MohaEmail author
  • Sagar Sen
  • Cyril Faucher
  • Olivier Barais
  • Jean-Marc Jézéquel
GraBaTs 2008


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.


MDE Metamodelling Model typing Model transformation Refactoring Performance Genericity Extensibility Alloy 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Anastasakis, K., Bordbar, B., Georg, G., Ray, I.: UML2Alloy: a challenging model transformation. In: MoDELS, pp. 436–450 (2007)Google Scholar
  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)Google Scholar
  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)CrossRefMathSciNetGoogle Scholar
  4. 4.
    Buchwald, S., Kroll, M.: A solution of the AntWorld case for the GraBaTs 2008 contest. In: GraBaTs (2008)Google Scholar
  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)Google Scholar
  6. 6.
    Fowler, M.: Refactoring—Improving the Design of Existing Code, 1st edn. Addison-Wesley, Reading (1999)Google Scholar
  7. 7.
    Fujaba. University of paderborn.
  8. 8.
    Hoffman, B., Pérez, J., Mens, T.: A case study for program refactoring. In: GraBaTs, (September 2008)Google Scholar
  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)zbMATHCrossRefGoogle Scholar
  11. 11.
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  15. 15.
    Mens, T., Taentzer, G., Runge, O.: Analysing refactoring dependencies using graph transformation. Software and Systems Modeling (SoSyM), pp. 269–285 (2007)Google Scholar
  16. 16.
    Mens T., Tourwé T.: A survey of software refactoring. IEEE Trans. Softw. Eng. 30(2), 126–139 (2004)CrossRefGoogle Scholar
  17. 17.
    Meszaros, T., Madari, I., Mezei, G.: AntWorld, VMTS. In: GraBaTs (2008)Google Scholar
  18. 18.
    Muliawan, O., Du Bois, B., Janssens, D.: Refactoring using JDT2MDR. In: GraBaTs (2008)Google Scholar
  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)Google Scholar
  20. 20.
    Niklas, E., Niklas, S.: MiniSat a SAT solver with conflict-clause minimization. In: SAT (2005)Google Scholar
  21. 21.
    OMG. MOF 2.0 Core Specification. Technical Report formal/06-01-01, OMG, April 2006. OMG Available SpecificationGoogle Scholar
  22. 22.
    OMG. The Object Constraint Language Specification 2.0, OMG Document: ad/03-01-07, (2007)Google Scholar
  23. 23.
    OMG. MOF 2.0 Query/View/Transformation Specification. Specification Version 1.0, Object Management Group, (April 2008)Google Scholar
  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)Google Scholar
  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)Google Scholar
  26. 26.
    Steel J., Jézéquel J.-M.: On model typing. J. Softw. Syst. Model. (SoSyM) 6(4), 401–414 (2007)CrossRefGoogle Scholar
  27. 27.
    The Attributed Graph Grammar (AGG) System.
  28. 28.
    Tombelle, C., Vanwormhoudt, G.: Dynamic and generic manipulation of models: from introspection to scripting. In: MoDELS, vol. 4199, pp. 395–409 (2006)Google Scholar
  29. 29.
    Viatra2. Department of measurement and information systems budapest university of technology and economics.
  30. 30.
    Visual Modeling and Transformation System (VMTS).
  31. 31.
    Weinell, E.: Using PROGRES for graph-based program refactoring. In: GraBaTs (2008)Google Scholar
  32. 32.
    Zündorf, A.: AntWorld. In: GraBaTs (2008)Google Scholar

Copyright information

© Springer-Verlag 2010

Authors and Affiliations

  • Naouel Moha
    • 1
    Email author
  • Sagar Sen
    • 1
  • Cyril Faucher
    • 1
  • Olivier Barais
    • 1
  • Jean-Marc Jézéquel
    • 1
  1. 1.IRISA/INRIA Rennes Bretagne AtlantiqueRennes CedexFrance

Personalised recommendations