StateWORKS Studio

StateWORKS Studio is a professional software development and execution environment. It contains:

StateWORKS Studio runs under Windows 8/7/XP. The modeling method is VFSM. One can specify finite state machines, define dependencies between them and set up any specification properties. The result is a complete specification of a system's control aspects. There are several output files which can be used for later implementation or documentation. The run-time system, which is provided for several OS (like Windows 8/7/XP Linux and other UNIX derived operating systems) executes the final specification extremely fast and reliably.

The development environment components:

The Editor


is used for VFSM based system control modelling. It integrates several functions:

  • It has the ability to display as a graph the entire system of FSM, showing the dependancies between all used FSM (see a screen shot).
  • It contains a VFSM-Editor with which one can create state machines and specify their behavior (see a screen shot).
  • It contains a Project Manager to manage a project that requires specifications to be developed of several state machines, of the input-output unit configuration and of the communications between the various state machines (see a screen shot).
  • It can generate several outputs for documentation or implementation purposes, for instance:
    - XML representation of the complete system behaviour
    - FSM and system of FSMs as graphic
    - Object and behaviour tables for word processing applications
    - executable files for the simulator or the run-time system (see StateWORKS System)
    - C++ files needed for generating certain types of embedded system.

The Laboratory Simulator


is a software simulator. It contains the true StateWORKS run-time system with a TCP/IP - Server. Thus, the monitor (as any other program) can connect to the simulator as a TCP/IP - Client to test and control the application.

Additionally there are 8 digital inputs, 8 digital outputs, 4 analog inputs and 4 analog outputs available to the user, to simulate a real world external interface. (see a screen shot).

The Monitors

SWMon SWQuickPro

are programmer's or service technician's interfaces. They are used to control the Simulator or a run-time system (see StateWORKS System). A Monitor acts as a TCP/IP client. It can display object values and parameters of any state machine in the system. One can save various display configurations for administration and maintenance purposes. The monitors offer also several debugging features:

  • service mode to change on-line parameters and to simulate input / output values
  • step-by-step mode for one or more FSM
  • current input/output viewer
  • logging of system events
We provide two monitors:

The Standard Executor

Standard Executor

runs the final specification in real-time. It is used to execute users applications. It does not have any special GUI and can be executed in background as a service. It is controlled by tcp/ip clients like the StateWORKS Monitor. The tcp/ip interface is open, so one can easily implement the application specific I/O Handler: a powerful StateWORKS tcp/ip client DLL is available to be used by individual client's I/O Handlers.


StateWORKS Studio Editor - screen shot

StateWORKS Studio Editor: VFSM System - screen shot

A graphical representation of a system of three state machines: GAS, Flow and Press. The arrows have following meaning: GAS is a Master. It receives commands from an operator and watches states of its Slaves: Press and Flow. Flow and Press VFSM receive commands from GAS.

StateWORKS Studio Editor - screen shots

StateWORKS Studio Editor: VFSM - screen shot

A graphical representation of a single state machine: GAS. The arrows show the transitions between the states. On each arrow transition conditions are displayed.

The complete description of each state is given by its behaviour table:

StateWORKS Studio Editor: state table - screen shot

and three transitions: to state "GasOnBusy" in case of the event "Flow_Busy", to state "GasOK" in case of the event "PressOK" and to state "GasOffBusy" in case of event "CMDGasOff or event "PressBad".

StateWORKS Studio Editor - screen shot

StateWORKS Studio Editor: Project - screen shot

The project manager lists all possible object types (to the left). To the right all used objects are listed. Each object has certain properties, e.g. the object Press_Ai (Type Ni) is a representation of a real sensor showing the pressure in mBar as integer to the StateWORKS system.

Laboratory Simulator - screen shot

StateWORKS Studio - screen shot

The simulator running with the GAS project: There is only one digital output (Flow_Do) and one numeric output (Flow_Ao) used. As inputs the values of the flow (Flow_Ai) and press (Press_Ai) are evaluated.

SWMon Monitor - screen shot

StateWORKS Studio - Monitor screen shot

The information monitor is providing can be setup any time by the user. In this example all information about the GAS project is shown. By selecting the box directly behind the object, tracing can be switched on. The text boxes can be used to forcibly change values of certain parameters. Commands can be sent by typing the command number into the "Send" box. Each VFSM can be run in a "step-by-step" mode.

SWQuickPro Monitor - screen shot

StateWORKS Studio - Monitor screen shot

The information monitor provides can be set up at any time by the user. In this example the information about one object (Press_DO_Press_Ok) in the GAS project is shown. Any attribute values can be displayed and changed.