Abstract :
TiViPE is a component based visual programming environment (VPE) that enables users to build programs by construction of a network of components interactively. A single module (component), represented by a graphical icon, is a computational unit. Multiple icons can be connected to each other to yield a directed graph (a network) that represent a program. TiViPE is, in appearance similar to programs such as AVS, Vee, OpenDX, Khoros, LabVIEW, NeatVision, and ViPEr, but presents some fundamental differences. TiViPE integrates documentation with an existing routine call (that has been programmed in C++, C, Fortran, or Java), and automatically generates C++ code that is compiled to stand-alone program. This program is able to execute the specified routine, provide a graphical icon, or give HTML-formatted documentation about the routine. Hence, within TiViPE there is no textual programming for the user TiViPE strongly re-uses code, which is inherent to visual programming, and automatic code regeneration by compounding a network of modules to a single module, which leads to faster programming. TiViPE supports networking and parallel processing in a natural way, and allows the user to modify an activated network. TiViPE also aims at rapid prototyping which demands user friendliness, programming by existing modules for basic users, and focuses on the documentation of a module. TiViPE has been used in the field of computer vision, robotics, and computational neuroscience
Keywords :
automatic programming; directed graphs; object-oriented programming; programming environments; software reusability; system documentation; visual programming; C language; Fortran; HTML-formatted documentation; Java; TiViPE; Tinos Visual Programming Environment; automatic C++ code generation; code reuse; component based visual programming environment; computational neuroscience; computational unit; computer vision; directed graph; graphical icon; interactive component network construction; networking; parallel processing; rapid prototyping; robotics; routine call; user friendliness; Automatic programming; Computer vision; Documentation; Human computer interaction; Java; Parallel processing; Programming environments; Prototypes; Robot programming; Robot vision systems;