UML State Machine Simulation/Model Checking with Maude
Last modified by Richard Kreissig on 2023/09/14 10:32
Project Overview
Responsible:
- Christian Motika
- Jens Schönborn
UML State Machine Simulation and Model Checking with Maude
Topics
Standalone UML Maude
You can download a standalone version of the UML Maude implementation here:
Overview
This subproject integrates the Papyrus MDT UML State Machine editor into KIELER. It also integrates the Maude System into Eclipse/KIELER and additionally uses KIELER technologies and a special generic Maude state machine backend to offer simulation and model checking based on state machines modeled in Papyrus. The editor, the DataTable and KIEM are used as a GUI and I/O facility for modeling, simulating and model checking.
Installation
- Download and install the Maude System
- Download and unpack the KIELER Rich Client Applications nightly builds
- Install Papyrus
- Start the KIELER RCA and klick on the Install Modeling Components button
- Select the Papyrus MDT Tools and install them into the KIELER RCA
- Eclipse should now ask you to restart the KIELER RCA. Click the Restart Now button.
- Start the KIELER RCA and klick on the Install Modeling Components button
- Finally, install KIELER UML Simulation and Model Checking components
- Click on Help/Install New Software....
- Choose the KIELER nightly - http://rtsys.informatik.uni-kiel.de/~kieler/updatesite/nightly Update Site from the drop down list.
- Select the KIELER Bridge to Papyrus and UML Simulation feature and continue installation with Next. If that does not work you might have an older version of the nightly build and you should select the whole [x] KIELER category for installation/update.
- Eclipse should again ask you to restart the KIELER RCA. Click the Restart Now button.
- Click on Help/Install New Software....
- Congratulations! You have now installed everything you need to simulate and model check UML state machines with KIELER.
Simulating and Model Checking of UML State Machines
- Close the Outline Eclipse View because it may produce errors with this early version of Papyrus MDT.
- Create an empty (normal) Eclipse Project (File/New/Project) and give it some name, e.g., test.
- Create a Papyrus Diagram in this new project:
- File/New/Other
- Select Papyrus/Papyrus Model
- Give it a name, e.g., model.di.
- Select [x] UML as the Diagram Language.
- Select [x] UML State Machine as the Diagram Kind.
- File/New/Other
- You should now see a plain UML state machine diagram editor pane where you can freely model your state machine.
- For simulation and model checking you should modify the DataComponents in the Execution Manager View as seen on the above screen shot. You can simply remove the other components. While in the Execution Manger View you can press the Save button to save this setting for later usage in your project's folder. Give it some name, e.g., model.execution.
- During modeling you may want to use our integrated automatic layout feature.
Simulating
- Deactivate the DataComponent for model checking as shown below and validate that the path to the Maude executable is set correctly.
- You must save your changes to the diagram before you can simulate it.
- You may want to inspect the output of Maude in the Console Eclipse View.
- Start the simulation by pressing the Step or Run button of the Execution Manager View.
- The state machine's Maude representation will be generated in your projects folder.
- Now you can set (input) events and inspect (output) actions in the DataTable Eclipse View.
- You can now you the Step button to perform a simulation (run-to-completion) step or use the Run/Pause buttons.
Model Checking
- Deactivate the DataComponent for simulation as shown below and validate that the path to the Maude executable is set correctly.
- Set your desired model checking term in the properties of the model check DataComponent.
- You must save your changes to the diagram before you can model check it.
- You may want to inspect the output of Maude in the Console Eclipse View.
- Start the simulation by pressing the Step button of the Execution Manager View.
- The state machine's Maude representation will be generated in your projects folder.
- Now you can set (input) events and inspect (output) actions in the DataTable Eclipse View.
- When you now click on Step again, model checking will be performed and you will be prompted the result.
- If there is a counter example, then you can now use subsequent clicks on Step to inspect it.