No description, website, or topics provided.
Clone or download
fcoulon Dirty fix: ignore Insert in the EMF side (TODO: rollback this commit …
…and realign object Creation from EMF & Java side)
Latest commit e81b98e Oct 10, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
languageWB Dirty fix: ignore Insert in the EMF side (TODO: rollback this commit … Oct 10, 2018
modelingWB rename Jul 16, 2018
.gitignore Initial commit Feb 8, 2018 typo in README Sep 4, 2018
Screenshot.png Update README Feb 8, 2018
demo.webm demo Jul 15, 2018
link.png demo Jul 15, 2018


Prism is a framework to synchronize incarnations of a model shared in different technological spaces.

This repository contains

  • The Prism framework
    • Located in languageWB\Prism and languageWB\Prism.ui
  • A Finite State Machine language implemented in Rascal, EMF and Java fluent API
    • Defined in languageWB\myfsm.rascal\src\lang.myfsm\MetaModel.rsc, languageWB\myfsm.model\model\myfsm.ecore and modelingWB\JavaFSM\src\fluent\
  • Implementations of Patch producers/consumers for Rascal, EMF and Java
    • Located in languageWB/Prism/src/prism/rascal, languageWB/Prism/src/prism/emf and languageWB/Prism/src/prism/java


  1. Clone this repository on your machine (command git clone in a terminal) or download and unzip it.
  2. Install Eclipse IDE for Java and DSL Developers available here
  3. Install Sirius in menu Help > Install New Software..., copy/past in the Work with field, then type the Enter key. Check Sirius and click Finish to start the installation
  4. Install Rascal following the same procedure as Sirius with for the Work with field
  5. Import projects from the repositorty located in languageWB. It can be done in menu File > Import... > Existing Projects in Workspace
  6. Launch new Eclipse instance. It can be done in menu Run > Run Configurations... then create Eclipse Application and click the button Run
  7. Import projects from modelingWB in your new workspace


Once you are in the second Eclipse instance

  1. Check your are in the Sirius perspective
  2. Open example/representation.aird (Machine Diagram)
  3. Open JavaFSM/src/main/
  4. Open TestIt/ (should not be opened first for technical reason)
  5. Now editing one representation should update the others (after a save)