The Vimms User Manual

General topics

Important objects

The following list contains important objects whose functionality should be known for people that want to use Vfl.

Program Flow

Start / Stop objects
Starting points of execution. When the execution in switched on using the on / off switch or a Vfl program is startet via command line using vfl --exec ..., a thread is created on each start object. Stop objects provide a controlled shutdown of a program.
VarBridge
Temporary or permanent data memory. VarBridge object act like local or global variables in a conventional programming language. They allow passing data between different threads, saving data between different executions of the same branch and thread joining.
Condition, Yes/No objects
These object allow conditional execution of specific branches.
Loop
Executes a branch several times.

Work objects

Calculator
Executes C++ code. The most important object of all.
Basic file i/o
Writes and reads variables into and out of data files.
ScrollMemory
Memorizes numerical data values and creates numerical arrays.

User input

Buttons
A button object creates a thread when the user presses a button.
Scrollbar
Data input via scrollbar. Can create a thread when the user drags the scrollbar.
Display
Displays numeric values or text strings.
Numeric input
Provides an entry field where the user can enter numerical values. Can create a thread when the value is changed.

Objects with much functionality

These objects are the most interesting and powerful objects of Vimms. Besides the Calculator object also very interesting are:
Graphic display
Real time two dimensional autoranging graphic display. It can display multiple curves in one diagram and allows direct analytic calculation of plots.
Nonlinear fitter for data modeling
Nonlinear fitter using the MARQUARDT algorithm. The fitting function is compiled like the code in Calculator objects using the g++ compiler and is therefore executed as machine code. This provides maximum fitting speed suited for real times purposes. The object allows specification of parameter boundaries and accurracy per data point, sometimes used as "weights". Passing of arbitrary additional parameters allows for example calculation of multidimensional fits.
Format writer
Writes user defined ASCII files or scripts. The data is specified in form of a template which is scanned for variable names which are replaced by their data values. Multiple arrays can also be written by specifying row templates. Together with LaTeX or for example Grace this can be used for generating professional reports. These programs can also be called out of a Format writer when writing a file that is executed as a script. Other applications would be for example dynamic creation of internet pages or sending emails.

The Vimms user manual
F. Hitzel, 2006