Dr. Tino Lourens

Researcher




e-mail: tinolourens@hotmail.com
Home Tino's Page TiViPE

TiViPE Download

TiViPE is released under the GNU General Public Licence. The current version of TiViPE is 2.0.1 dated Mar 2006. Please be so kind to send me an email if you download TiViPE, it gives me the opportunity to notify you when a new version has been released. Do not hesitate to ask any questions or send me a bug report.

Installation script and package are required, they have been tested on SuSe Linux, Mac OS X Tiger, and Windows XP.
Description Remarks Download
1.  License file. TiViPE is GPL licenced. license.gpl
2.  Readme file. TiViPE requires other packages, please read the instructions carefully. Be sure to have all packages installed properly. readme.html
3.  TiViPE installation Linux and Mac OS X users execute the installation script to install the TiViPE package.
Windows users execute the installation package, and after this setup. Goto: Start->TiViPE->Build TiViPE to fully build TiViPE.
Linux and Mac OS X
installation.pl
TiViPE 2.0.1.tgz
Windows
tivipeWin2.0.1.exe

You might want to try TiViPE add-ons:
Description Remarks Download
4.  TiViPE library with networking and merging support. Get the most out of TiViPE by installing this binary library. The library provided at needs to be copied manually to your $TVPHOME/lib directory, after the installation has been completed.
Linux (AMD 64)
libTVP.so.2.0.1
Mac OS X
upon request
Windows (XP 32)
tvp.dll

Illustration of TiViPE

1 History

In the early 1990's, I used AVS (Application Visualization System). At that time AVS had an advanced GUI with strong visualization capabilities, but was relatively expensive. Later a similar, but free environment called Khoros appeared. The environment, however lacked the numerous available modules compared to AVS. The main drawback of both environments is that programming new modules requires a considerable effort.

By the end of the 1990's Khoros became commercial. In general these commercial tend to make a user dependent on the environment.

2 TiViPE

I wanted a program that could wrap any routine into a graphical environment without programming and with little additional effort. Such a migration process is essential for users to move from textual programming to graphical programming.

TiViPE allows the user to construct any desired data structure, therefore the TiViPE environment can support in principle any routine call. Embedding a software library into the TiViPE environment therefore does not require additional programming. TiViPE constructs a graphical icon for every selected routine call of a library, hence constructing a program which was setting up a main program and connecting a sequence of routines, compiling, debugging, and compiling, will be nothing more than selecting the desired icons and connecting them with each other and pressing a single button to execute the network.

TiViPE generates a stand-alone executable for every module, hence a module can be executed as a stand-alone process independently from the TiViPE environment, ensuring that there is no additional overhead.

The advantage of graphical programming in TiViPE over textual programming, for instance C++, are:

  1. The speed of programming increases.
  2. The ease of modifying parameters yield rapid prototyping.
  3. The program can be modified while being active.
  4. TiViPE monitors which module is active.
  5. TiViPE support by default parallel processing, programs can be made serial through the way modules are connected with each other.

Tino's Visual Programming Environment (TiViPE; pronounced as TeeVeePee) was initiated on December 14, 2000 when I was evaluating Trolltech's Qt library. Within 3 months the first GUI was created.

3 Releases

The current release is 2.0.1 which was released in March 2006.

The current release basically includes everything needed:

  1. Binding documentation and a routine call to a graphical icon without additional programming.
  2. Binding documentation and a structure.
  3. Several control icons to handle loop constructions properly.
  4. The option to use both file and socket driven I/O.
  5. The option to use networking and multiple machine support.
  6. The option to merge multiple icons to a single icon by fully automatic generation of C++ code to a single graphical icon and a single stand-alone executable.
  7. Internationalization support

4 Future

TiViPE intends to get a large user group, so future focus will be on

  1. Maintenance
  2. Sharing modules and libraries. The power of TiViPE is reuse of modules, an easy incorporation method for taking up a set of modules programmed by someone else will be added. Planned on the short term.
  3. Use of array in a structure is planned on the short term. on the short term.
  4. Documentation is essential. In case of a big number of modules, also searching on documentation might be needed.
  5. TiViPE will be freely available on every platform, but some added value like networking and merging modules to a new executable, and newly added module packs might be made commercially available.

5 Statistics

The current release of TiViPE contains 25 structures and 73 modules. The modules cover most of the functionality of the "free" edition of Khoros. In addition it contains most of modules that I used for my research as well as several other useful modules. The structures that are constructed support both the modules and TiViPE environment itself.

The overall package contains approximately 245,000 lines of code:

  • TiViPE package: more than 100,000 lines.
  • Module libraries: more than 50,000 lines.
  • The modules are interfaced and documented by so-called code-information (ci) files and comprise 4,300 lines. The built-in code generator converts these ci files fully automatically to C++ code resulting in more than 50,000 lines of code.
  • The structures are interfaced and documented by so-called structure-information (si) files and comprise 600 lines. The built-in code generator converts these si files fully automatically to C++ code resulting in more than 40,000 lines of code.