Skip to content
  Kermeta  

Kermeta Compiler Testing Session

Document Actions

October 08, 2008

17h - 18h00 (Lipari Room): Presentation + demo of the compiler and its environment

20h00 - 00h15: Bugs and Feature requests reporting on compiling issues


Participants of the testing session:

Vincent, Gregory, Didier, Brice (from Lancaster), Olivier, Gilles, Cyril.


A report is available on the Triskell wiki at: http://triskell.wiki.irisa.fr/tiki-index.php?page=KCTS and all the corresponding bugs are on the forge.


Goals:

  • bug listing
  • known limitation (not implemented) listing
  • optimization listing: performance (*), refactoring (design (**))


Installation and materials:

  1. Download the bundle Kermeta 1.2 and unzip it
  2. Create a workspace
  3. Download the psf file dedicated to the main Eclipse and import it in your workspace => all the required plugins will be downloaded from the gforge
  4. Create an Eclipse Application Run Configuration: "Run Configurations > Eclipse Application > double click to create a new one"
    1. fill the name of the configuration
    2. Set the VM arguments in section "Arguments"
      1. -Xmx512m
        -Xss1024k
        -XX:PermSize=512m
        -XX:MaxPermSize=512m
        -XX:CompileCommand=exclude,org/eclipse/core/internal/dtree/DataTreeNode,forwardDeltaWith
    3. Run (at the right button)
  5. A new instance of Eclipse is launched
  6. Your environement is right for testing the Kermeta Compiler !
  7. First try: right click on a kmt file: "Compile Kmt to EMF plugin (Experimental)"
  8. An Eclipse plugin will be generated, after you can try to run one generated main contained in runner Java package.


Challenges:

  • standalone version
  • test suite integration (interpreted vs compiled)
  • (*) generating the reflection file in Java instructions to improve performance
  • serialization of traces in a *.traceability model for reusing the traces after the compiling time
  • (**) inventory of all Annotations (compiler and others ...): seperate the annotations and the framework
  • (**) extracting common helpers between Ecore MDK and the compiler
  • UML profile to Ecore transformation compilation (GenModel basePackage)
  • State of the art between the Kermeta reflection system and the EMF one (XyzPackage class)
  • ...


Current limitations of the compiler:

  • recursive function types
  • super of function type
  • succession of lambda expressions using self as Target
  • calling function types from subtype: switch (dynamic linking)
  • more information
Created by cfaucher
Last modified 12.11.2008 11:08 AM