Kompose : A generic model composition tool
What is Kompose?
Kompose is an open-source generic model
that was developed in the context of a collaboration between
the Triskell team
at IRISA (Rennes, France) and the CSU MDE Research group (Fort
The tool is based on an algorithm first developed by Raghu Reddy
as part of his
doctoral dissertation on AOM. Franck Fleurey refined and extended
and built the tool using the Kermeta tool developed at IRISA.
Kompose implements a generic structural composition operator that can be specialized to a particular modeling language described by a metamodel. This version provides specialization example for Ecore, UML2 and RDBSchema models compositions. Additional examples can be found as models to be composed and composition directives.
Do the following to install Kompose after you download it:
- Download a kermeta eclipse bundle v1.2 from this page.
Unzip the Kompose zip file and copy all the folders it contains
into the "dropins" (Eclipse Ganymede) folder of the kermeta bundle.
Once Kompose is installed correctly you should be able to replicate the demo presented below.
You will also have access to examples provided in the Kompose bundle to test different compositions and have some clues about creating new Kompose specializations. (Eclipse -> New -> Examples -> Kompose Models Samples & Kompose Specialization Samples)
Kompose project contentsIn order to introduce Kompose contents, here is a small description of available materials you can find in the archive.
Kompose plugins are split into three main families and several dedicated plugins:
Kompose source files and meta model
Parser for user's composition directives
- _wizard Specialization wizard to create new specializations from specific metamodels (DSL)
ECore specialization example
ECore specialization Case Study on Health Watcher
- UML2 (Class model part)
UML2 specialization example
RDBSchema specialization example
- User Interface
Kompose Specialization Samples
Experimental ECore Merge (multiple selection of ECore models)
Contributing to the development of Kompose
Kompose is an open-source tool. The source
code is available
on the Subversion
The source code can be anonymously be downloaded but to contribute you will have to register and contact one of the project admin to be added to the developers list.
New specialization examples or models should respect packages naming. Please refer to existing examples before committing new projects.
Demo of the Kompose tool for Ecore modelsClick this link to read the demonstration video.
Last modified 27.08.2009 01:21 PM