Basic functionality

When you start Vimms without parameters you see a window like the one in Fig. 1.

Fig. 1: Vimms main screen
What you normally do is the following: Drag one object out of the Object container into the workspace using the left mouse key. Use the right mouse key in the workspace to connect objects in the workspace. These connections determine the program flow. If the target object has input variables, the connection dialog for the target object pops up. The connection dialog can also be manually opened by double clicking on a connection arrow. In this dialog also the called action as well as the connection behaviour can be specified. For details see topic
Connections. There exist 5 variable types objects can use for exchanging data. They are If an object is connected to two other objects, i.e. two arrows are starting from it, then these two branches are normally executed in parallel as separate threads, as far as this behaviour has not been disabled in the connection dialog. (See Fig. 2)

Fig. 2: Multithreading

Most objects also have special properties that can be changed by double clicking on the object, at least a title (See Fig. 3).

Fig. 3: Property dialog
The program is started by pressing the on / off switch. Program execution begins at a special start object or when the user performs an action in the control window of an object like pressing a button etc. The start object can be found in the "program flow" category in the object container. Then the execution order is determined by the connection arrows.

With a double click on an object in the object container a dialog with a short object description is opened. With the help button the complete object description can be displayed.

When a new object is inserted into the workspace which has a control window for user interaction, called a viewer window, attached to it, a placeholder for this windows is inserted into the currently selected viewer panel. This viewer panel in which new viewers should be inserted can be selected using the "Viewer target" Combobox above the workspace tabs. One object can have multiple viewers to appear for example on different viewer panels. Additional viewers can be created by right clicking on an object. The new viewers also are inserted in the current viewer target panel. Viewer panels and workspaces can be created or renamed by right clicking on the workspace tabs. There is no limit on the number of viewer panels or workspaces. Multiple workspaces are useful for example if one wants to collect special subroutines doing special tasks not within the main program.

Copiing of objects and viewers is easy. Just mark them with the mouse (drag a rectangle around it with the left mouse button or mark them by holding down the shift key). Then copy them into clipboard and paste them somewhere else. You can also drag them with the mouse to a different workspace or viewer panel of the same project or a different project (to create multiple editor windows of the same project, use the "new window" menu point within "Window"). Dragging even works between different instances of Vimms!

There also exists a special object category called "Static Objects". These can be dragged into workspaces and viewer panels and allow entering descriptive text or rectangles for grouping.

Fig. 4: Workspace during execution

Figure 4 shows an example the workspace during execution. After start each object gets a status indicator attached shoing the current status of the object. A green circle means the object is ready, a blue circle means the object is currently beeing executed and a red circle indicates an error.


Vimms user manual
F. Hitzel, 2003