AGOCG logo
Graphics Multimedia VR Visualisation Contents
Training Reports Workshops Briefings Index
This report is also available as an Acrobat file.
Next Back [Top]

Review of Visualisation Systems

6.2 Application Visualization System (AVS)

6.2.1 - Programming language
6.2.2 - General overview and structure
6.2.3 - Automatic generation
6.2.4 - General topics

6.2.1 Programming language

AVS provides direct support for the following programming languages:

6.2.2 General overview and structure

Programmers can include user-written modules into the AVS system. A module consists of source code files and an associated help page. Within the source code of the module the user specifies what input/output data ports the module has and what parameters are associated with the module.

There are two types of modules which differ in the way their execution is controlled:

6.2.3 Automatic generation

There are two tools associated with the code generation and user interface aspects of AVS modules:

Module generator

The user provides a specification of the module (see figure 13
) they wish to construct via a number of menus. This includes information such as programming language (currently C and Fortran 77 options), input/output port definitions, parameters and widgets (slider, dials). When the specification is complete the module generator will output a skeleton source code file utilising the information specified along with a makefile, manual page and optional programming hints;

Layout editor

The parameters associated with a particular module all appear in a stack fashion towards the left-hand side of the network editor by default. The layout editor allows a user to interactively change, group and position these parameters to create a custom layout definition for a particular AVS network. This information is saved with an AVS network thus allowing the interface to a particular module to be customised differently in other AVS networks.

6.2.4 General topics

Application control of the module

An AVS coroutine module can execute independently of the AVS Kernel allowing it to provide a useful method of interfacing an external applications or devices into AVS.

Shared Data

AVS makes use of shared memory and Unix sockets for data communication between modules on the same local machine.

User interface

As mentioned earlier the Layout editor can be used to interactively change, position and group a modules parameters within an AVS network. There are also examples of modules which provide their own user interface through X11 and associated widgets and toolkits.

The current version of AVS (AVS5) was based upon their own graphical user interface, LUI. AVS6 will now have a Motif user interface on the workstation platforms and AVS6 is being planned for release onto PC platforms with the first release based on Windows NT and later versions for Windows 95 and DOS.


You can perform cross compilation from within an AVS module and make calls to external subroutine libraries.

Debugging support

AVS provides mechanisms a number of mechanisms for debugging:


Two AVS courses, introductory and advanced, have been developed as part of the Advisory Group on Computer Graphics (AGOCG) Visualization Support Project at the Computer Graphics Unit, Manchester Computing Centre, University of Manchester.

The materials are available in postscript format along with the supporting data files and modules via anonymous FTP from the University of Manchester ( under the directory pub/cgu/avs/avs_course or the International AVS Center (

Review of Visualisation Systems
Next Back [Top]

Generated with CERN WebMaker

Graphics     Multimedia      Virtual Environments      Visualisation      Contents