iGASM - Abstract State Machine Interpreter


  Russian

iGASM interpreter provides facilities for editing, running and tracing specifications based on ASM concept.

ASM (Abstract State Machines) is developed by A.Gurevich commonly adopted formal yet powerful techique for building rigorous specifications for a wide range of dynamic and computing systems by meaning of sequential algorithm and component refinements.

iGASM is designed as a Java-applet running on the client-side and providing GUI based on using basic AWT components for compatibility with widely distributed graphical system environments.

iGASM synthax for source specifications is based on one proposed by A. Gurevich and extended with auxiliary ASM contsructs in order to increase usability and to meet requirements for building a wide range of runnable ASM specifications.

ASM society - Michigan

Using iGASM

iGASM runnable specifications samples

iGASM synthax (temporarily not available)

iGASM user's guide (temporarily not available)













Using iGASM interpreter:

Click "Run Applet" button to start with using interpreter. This will initialize iGASM environment and bring up the main applet window. Type your source specification code in the upper source text area and run it by clicking "Run" button above.

While the specification run is being started (by clicking either "Run" or "Run One Step" buttons) the process could be stopped by pressing [ESC] key or by clicking "Stop" button.

How to...

Analyze synthactical correctness of the specification:

Click "Analyze" button in the main iGASM window.

Execute specification (produce all steps):

Click "Run" button in the main iGASM window.

Execute specification step-by-step:

Click "Run one step" button. This will produce one step or the specification running.

Stop execution by specified expression:

Select the menu item: "ASM"->"Set stop condition" and specify the expresion, which should be evaluated as "true" when the execution is required to be finished. Run the specification.

Note: it's possible to continue with the execution after it's finished by reaching "stop" condition.

View watch window:

Select "View"->"Watch window" in the main window menu.

View output window:

Select "View"->"Output window" in the main window menu.

Manage declared functions (definitions and values):

The iGASM provides user with ability to view declared (predefined and defined within the specification) variables and functions. Choose "ASM"->"Functions..." menu item, this will bring the fucntions browsing dialog, in which it's possible to view declared functions and manage values for user defined fucntions. Unselect "PREDEFINED" checkbox in order to browse through functions defined within the specification.

Note: it's required for the specification source text to be analyzed or running in order to manage user defined functions.

Manage declared universes (domains):

The iGASM provides user with ability to view declared (predefined and defined within the specification) universes. Choose "ASM"->"Universes..." menu item, this will bring the universes browsing dialog, in which it's possible to view/manage declared universes. Unselect "PREDEFINED" checkbox in order to browse through universes defined within the specification.

Note: it's required for the specification source text to be analyzed or running in order to manage user defined universes.

Add watched variable (function):

Choose "ASM"->"Functions..." menu item. Select the variable that is required to be added into watch list. Select "Add watch" checkbox.

View watched variables (functions):

Choose "View"->"Watch window" menu item.