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