Skip to content
  Kermeta  

Plugins Architecture

Document Actions
This document describes the architecture, roles and dependencies in plugins.
  • org.kermeta.interest

    This metamodel describes in a simple manner the interest that objects can have for specific resources.
    Objects can subscribe or unsubscribe to a resource. When the resource changes, those objects are told to update with the new value of that resource.
    A resource can be anything (files, objects in memory) for the moment they have an id.

  • org.kermeta.io.loader

    This plugin is used to convert files into Kermeta model. In order to do that, some specific loaders must be implemented. One for each format (kmt, km, ecore...). One specification is that loading one file possibly activates the loading of many files of different format and inter dependent. Then loading a file is not that trivial because actions must be ordered and synchronized within the context. The nice thing here is that there is a metemodel to describe the abstract steps for each loaders so it is quite easy to change them.

  • org.kermeta.merger

    When refactoring the way we handle aspects, we had to face to a new problem: we got some regressions in the interpreter because at runtime a merged vision of models is needed (essentially for reflection). Then before launching the execution, the set of kermeta units is merged into a single one that will be executed.