Prism is a framework to synchronize incarnations of a model shared in different technological spaces.
- The Prism framework
- Located in
languageWB\Prism
andlanguageWB\Prism.ui
- Located in
- 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
andmodelingWB\JavaFSM\src\fluent\Fsm.java
- Defined in
- Implementations of Patch producers/consumers for Rascal, EMF and Java
- Located in
languageWB/Prism/src/prism/rascal
,languageWB/Prism/src/prism/emf
andlanguageWB/Prism/src/prism/java
- Located in
- Clone this repository on your machine (command
git clone https://github.com/fcoulon/prism.git
in a terminal) or download and unzip it. - Install Eclipse IDE for Java and DSL Developers available here
- Install Sirius in menu
Help
>Install New Software...
, copy/pasthttp://download.eclipse.org/sirius/updates/releases/5.1.0/oxygen
in theWork with
field, then type theEnter
key. CheckSirius
and clickFinish
to start the installation - Install Rascal following the same procedure as
Sirius
withhttps://update.rascal-mpl.org/stable/
for theWork with
field - Import projects from the repositorty located in
languageWB
. It can be done in menuFile
>Import...
>Existing Projects in Workspace
- Launch new Eclipse instance. It can be done in menu
Run
>Run Configurations...
then createEclipse Application
and click the buttonRun
- Import projects from
modelingWB
in your new workspace
Once you are in the second Eclipse instance
- Check your are in the
Sirius
perspective - Open
example/representation.aird
(Machine Diagram) - Open
JavaFSM/src/main/Main.java
- Open
TestIt/doors.mf
(should not be opened first for technical reason) - Now editing one representation should update the others (after a save)