Reverse-Engineering Reusable Language Modules with Puzzle. Case study: State Machines.
The following case study is based of the article presented by [Crane et al] about the diverse fomalisms for expressing finite state machines. Concretely, we have a set of three different DSLs, namely: UML state diagrams, Rhapsody, and Harel’s state charts. The objective, is to extract the reusable language modules that capture the commonalities among these DSLs.
Screencast In the following video, we show Puzzle in action executed on the state machine's case study. The code of the DSLs, as well as the instructions for setting the execution environment can be found here.
Experiment replication
This case study, as well as an additional one, can be downloaded and executed by following the instructions below:
Step 1: Downloading Puzzle To replicate the experiment, you need to download (from this link) a .zip file with virtual machine that we prepared with a complete installation of Puzzle. You need VirtualBox installed in your computer. The password of the virtual machine is: "osboxes.org". Please be patient, the size of the virtual machine is about 14GBs.
Step 2: Launching Puzzle Once you have downloaded and executed the virtual machine, you can execute the eclipse distribution that you will find in the Desktop.
Be sure that the workspace is located in the folder: "/home/osboxes/Desktop/puzzle/plugins/".
Once Eclipse is running, you can execute a second instance of eclipse to load the Puzzle plugins. Choose the configuration called "puzzle-runtime".
You will see an environment as the one illustrated in the following figure. In that environment, you have several working sets. Each of them contains a different experiment. In this case, we are interested on the one called "state-machines".