SCOPE comes from Statechart COmPilEr.

Overview

SCOPE is a statechart compiler I developed alongside my PhD project. It compiles statecharts as supported by IAR visualSTATE (or rather a sublanguage of visualSTATE statecharts). It is likely of interest only to visualSTATE users or researchers working on statecharts. SCOPE is a code generation tool, not a development environment — you still need visualSTATE Designer to create and modify models.

The visualSTATE statecharts are a subset of Harel’s statecharts (Harel, 1987) incorporating most of the original language including concurrent states, history and deep history states, internal signals, multiple target transitions, and other elements. They are very similar to UML statecharts.

SCOPE compiles vsp (project) and vsr (independent single system) files of single-system models with some other restrictions. The target language is C (ISO C99). The goal is reactor code that is compact, fast, and has desirable properties (for example, easily-estimable worst-case execution time).

As from version 0.10 SCOPE generates code that is comparable to, or competes with, code generated by visualSTATE. For small simple models visualSTATE usually wins by a small factor. For bigger models SCOPE gets an advantage, sometimes clear — programs are usually smaller and sometimes faster.

The rule of thumb: visualSTATE is efficient for sparse flat models, while SCOPE is more efficient for models with high density of statechart elements. If your modelling style is intensive and you tend to produce terse designs using entry/exit actions, history, hierarchy, concurrency, etc., SCOPE will do better.

SCOPE may also be used as a general-purpose anonymizer for visualSTATE models — useful for communicating models to third parties (e.g. debugging tools, bug reports for vendors) without revealing behaviour.

License

GPL (enclosed in the packages). At the time of writing I planned to relicense runtime library files under LGPL.

Downloads

The Linux binary package was compiled on Red Hat 7.3 and confirmed working on Debian 3.0. To compile from source you need a GNU-style system with Moscow ML and Muddy.

ReleaseDateDownloadNotes
scope-0.162004-05-13sourcerelease notes
scope-0.152004-05-06sourcerelease notes
scope-0.102002-11-16source, Linux binaryrelease notes
scope-0.09.22002-10-27release notes

The SCOPE manual is also bundled in the installation packages.