Project On-line Deliverables: D04.0

Page under construction;
please bear with us.  

Visualization and Multi-media

Implementation and User Manual

Programme name: ESPRIT
Domain: HPCN
Project acronym: HITERM
Contract number: 22723
Project title: High-Performance Computing and Networking
for Technological and Environmental Risk Management
Project Deliverable: D04.0
Related Work Package:   WP 4
Type of Deliverable: Technical Report
Dissemination level: project internal
Document Author: Kurt Fedra, ESS
Edited by: Kurt Fedra, ESS
Document Version: 1.2
First Availability: 1997 12 28
Last Modification: 1999 06 21




EXECUTIVE SUMMARY

The volume of information generated by large-scale 3D dynamic models, in particular when considering more than one model solution generated in parallel, or the when the output is inherently stochastic, adding yet another dimension to the data interpretation, is enormous and overwhelming to the human observer.

Therefor, related methods of real-time interpretation (including visualization, pattern recognition, classification, etc.) are required to translate the model output into useful, decision relevant information that can be presented, in multi-media formats, to the end user in real time.

Visualization and extensive graphical displays are one of the User Requirements defined in The Executive Summary of D01.1, the Requirements and Constraints Report.

An important element is the preparation of topical maps, using local GIS data around the accident site. Maps, as a familiar format, are an effective basis for the communication of complex information by providing a familiar context.

On this basis, and supported by other display styles, graphs, symbolic (icon) displays, and possibly synthesized text and audio signals, a clear picture of the state and expected evolution of the system, including the uncertainty of the forecasts, have to be summarized. This includes spatial interpolation, 3D reconstruction, rendering, and animation, as well as various forms of statistical analysis.

The main objective of the visualization is the presentation of the large volume of data, including the representation of uncertainty, in a directly understandable, easy to comprehend form, i.e., largely symbolic and graphical, that guarantees safe interpretation even under the special situation of emergency management. Since most of the graphic rendering is again compute intensive, the use of HPC may also required at this stage of the overall information processing system.

At the same time, the field application of an emergency management system will require thin clients with rather limited local processing capabilities.

HITERM uses a dual approach to user interface design and implementation, reflecting the distributed client-server architecture of the system:

  • X Windows (X 11) for clients with a high-bandwidth connection (10 Mb or better)
  • HTML, JavaScript and Java for low-bandwidth or light-weight (mobile) clients.





Table of Contents

Implementation

  • The X 11 GUI functionality
    • Embedded GIS functionality
    • Spatial Model output
    • Risk objects: display and editing
    • Expert System interface
    • Time series data
  • The Java GUI functionality




On-line
Manuals
The HITERM on-line User Manuals currently are restricted to project-internal access only;
they require user identification and password for access.




Implementation

The X 11 based GUI of the HITERM system is based on an adaptation and extensions of the ACA ToolKit.

The ACA ToolKit is a set of functions, utility programs, and objects, designed to support the efficient building of interactive information and decision support systems in the domain of environmental planning and management.

The main objective of the ACA ToolKit is to provide users of our software products the option to modify the systems at the source code level.

The entire ACA ToolKit can be organized into:

  • Libraries of functions and objects written in C and C++,
  • X-resources for page and widget layout information, as well as multiple language support,
  • Hyper-text explain files for the ToolKit,
  • A rich collection of Images and Icons for the display,
  • Knowledge Base of rules and descriptors for feeding the expert-system engine.

Libraries

The ACA ToolKit Libraries, written in C and C++, is a rich collection of library functions, utility programs, and classes, designed to support the efficient building of interactive information and decision support systems in the domain of environmental planning and management. Each library, which may be a collection of classes and functions, and has a well-defined scope address specific areas of functionality:


library     func cla UI  description
-------     ---- --- --  -----------

libacautil    43  -  N  general utility functions, error
                        handling, platform-specific functions,
                        license management.

libgisdb      89  -  N  GIS map handling and data management

libxatk      210  3  Y  X-based user interface, interface
                        resources management

libxgis      136  -  Y  X-based map drawing functions

libxgispage   26  -  Y  X-based GIS interface page

lib3d         93  -  Y  X-based 3D  interface page

libxps       226  -  Y  X-based embedded expert-system

libxts        66  -  Y  time-series data handling and display

libCCets      -  30  Y  object data base including time-series
                        display and analysis

libCCtk       -  13  N  Container classes, application
                        configuration, text-parsing and text
                        data handling classes

libCCxtk      -  11  Y  X-based interface classes,
                        encompassing basic display functionality
                        and framework

libCCps       -   4  Y  Postscript class library
-----------------------------------------------------------------
TOTAL        889 61
In adddition, specialized libraries are available for:
  • Spataial Object and Scenario management
  • Time series display and analysis
  • Network display and analysis
The HITERM GUI draws on all these elements.

Dependency layers

The libraries can be broadly classified as user-interface dependent and user-interface independent libraries. User-interface dependent libraries are typically based on X/Xlib. Libraries independent of the user interface would consist of data processing utilities like text parsing, application configuration, GIS data management, algorithms, container classes. The main reason for this classification is to make it easier to create data pre-processing utilities which don't depend on the user- interface, and pave the way for a future implementation on a medium other than X-windows.

Most of the current libraries, for historical reasons, are a collection of C-based functions and C++ classes. The current effort is to wrap the C-based functions around C++ classes, which would make it easier and faster to develop applications by creating a higher level of abstraction.

The libraries are identified on basis of dependency layers. The libraries at the lowest layer 0 are "stand-alone", and do not depend on any other ACA library. The dependency is constrained as follows:

  • A user-interface independent library may not depend on a user-interface dependent library.

  • A library at any level may depend on libraries at the lower layer only. There cannot be lateral dependency. This is important even for linking, since linkers on a few platforms are dependent on the order.

  • Further constraints are imposed by the scope definition of each library. e.g. libxatk cannot depend on libgisdb because the scope of libxatk is to provide X-tools independent of the maps/gis. It is within the scope of libxgis to have any maps/gis-based functions.

The X 11 GUI functionality

The graphical user interface functions of the ToolKit are based on the Xlib public domain library, which is an integrated part of the X Windows system. The user interface across all modules shares a number of common characteristics, that together define the look and feel of the ACA ToolKit and the applications developed with it.

Any major module has its own full-screen start-up page; this includes a header bar with a set of icons and the name of the module (default driven). At the bottom of the screen is a message bar, that contains status information and prompts for the user.

Every screen must at least contain two icons, namely an information icon and an exit icon which returns the user the previous level of the application or to the UNIX systems shell from the top level, respectively. The information icon invokes the hypertext help and explain system. If no corresponding text file is found in $PROJECT/data/explain, an alert box is shown that indicates the name of the missing file to the user. At this point, the user can acknowledge and Continue, or Quit the application and create the missing file.

Every module consists of

  1. status information,
  2. set of options the user can invoke,
  3. and the results of the current set of specifications;

For every module, a default set of options is defined. This default controls the initial results or status, eg., a default scenario for a model.

Options the user can invoke are either icons, items in a selector (a list of one or two line text items), specific header parts of windows, or symbols on a map. In most cases, windows that represent user selectable options are identified by a 3D frame. Options (icons, windows, selector lines) provide optical feedback (highlighting, change of color) when the mouse pointer is positioned in or over them, to indicate that they represent selectable options. In many cases, the message bar at the bottom of the screen provides additional guidance to the user by identifying options. Options are always selected with the mouse, by positioning the mouse pointer and clicking the left mouse button.

Wherever possible, the left part of the screen is used for status information and further options, the right part for graphical display such as maps and diagrams. Icon menus are usually located in the bottom part of the screen. For pop-up windows, both information and exit icons can be found in the header bar of the window. Pop-up windows are usually identified by a shadow-style frame, that sets them off from the underlying set of windows.

In addition to the use of location and highlighting, colors are used to indicate functionality. Numbers that can be selected for editing in a selector are blue; hot keys in the hypertext are also blue.

Embedded GIS functionality

The GIS functionality supported by the ACA ToolKit includes:

  • display of overlays (points, lines, polygons, cell grids, rasters, DEM, spatial model results) from a (hierarchical) list of available overlays; overlays are selected or de-selected by clicking them from the list of available overlays;

  • toggling on/off of features within an overlay; a specific overlay editor allows to select or de-select individual elements (legend entries);

  • restacking of overlays displayed; in the selector of active overlays, an overlay entry can simply by dragged and dropped with the mouse pointer;

  • display of satellite imagery or scanned maps as a background to the map overlays; where available, sub-selectors offer alternative sets of satellite imagery or aerial photography;

  • arbitrary zooming (arbitrary selection of location and size of the zooming window); zooming uses a scalable window that the user can move, shrink and enlarge, maintaining aspect ratio;
  • multiple resolutions with transparent switching between resolution within a map set;
  • support for tiling of large maps for increased performance;
  • highlighting and color editing of map (legend) features;
  • switching from one to a four window mode, with four synchronized map windows;
  • query and read-back function for map attributes; for classified (color coded) overlays representing continuous variables, the actual raw data will be read back;
  • cross hair cursor with selectable line color and thickness read back current position in the application's world coordinates; synchronized in the four parallel windows;

  • 3D display of digital terrain models (or other numerical data such as model results or spatially interpolated measurement data) in arbitrary zooming states: overlays including satellite imagery may be draped over the DEM;
    • 3D display of elevation data over a 2D map background with Gouraud shading; positing and vertical scaling of the 3D display is interactively selected by the user;
    • arbitrary interactive 3D rotation of the display window (roll, pitch, yaw);
    • vertical stretching and positioning of the 3D display;
    • interactive selection of 3D overlays;
    • satellite imagery display in 3D (draping);
    • control of lighting source location and intensity for the shading;

  • animation of time series of maps (cell grids, lines/polygons, attribute time series); the animation features include both continuous and step-by-step animation;

  • extensive data import and export facilities linking to all major standard GIS, image processing and CAD systems;

  • dynamic linkage to the (optionally) embedded public-domain GRASS GIS for special data capture and analysis functions such as digitizing, map conversion and geo-correction, etc.

  • hardcopy output (HP-GL, PostScript);
  • support of WWW clients and Internet access (Netscape, Java);
  • hypertext (multimedia in HTML format) on-line user manual, help functions, and metadata display;

  • access to spatially referenced object data such as observation time series, compound objects (eg., emission sources, industries, water bodies, settlement, parks and nature reserves, etc.); objects in turn provide linkages to (optional) environmental simulation models and a rule-based expert system for environmental assessment and data interpretation.

  • spatial analysis functions such as interpolation of spatial observations (station data);

  • special support for network data, including an interactive network editor (transportation networks, water resources (rivers and canals) networks, utility networks (sewers, pipelines, electricity, etc.) linked to a range of editing and display functions for network 9arc) attributes, as well as network analysis (routing, shortest path, etc. functionality;

    Map sets in the GIS can be hierarchically structured, ie., a regional GIS data set can contain several local, more detailed case study sub-regions, each with their individual map sets.

  • Color Icon
    Color Icon
    Color Icon
    Color Icon
    Color Icon
    Color Icon
    Color Icon
    Color Icon
    Color Icon
    Color Icon
    Color Icon
    Color Icon
    Color Icon
    Color Icon

    Spatial Model output

    The output data produced by spatial models are treated as cell-grid overlays and can therefore take full advantage of all the display options of the GIS. They are displayed as a (top-level) map coverage with a color coding of their respective scalar attribute, e.g., concentration. As an additional feature, isolines can be generated on the basis of the 2D concentration field.

    To support the display of dynamic and multi-layer (3D) model results, specific tools for animation (based on a symbolic tape deck) and vertical layer selection have been added to the standard set of GUI control functions. It supports continuous and step-wise animation, as well as direct access to the first and last frame of the model output sequence.

    Risk objects: display and editing

    Risk Objects in HITERM are primarily process plant and elements of the transportation system. They are represented as objects, defined by an object declaration language that enumerates their attributes together with the methods available to instantiate and update attributes in a changing context.

    The plant display combines basic administrative information such as address, contact person, etc. in standard textual and tabular form with a collection of map and graphical displays as well as iconic or textual menus leading to further hypertext displays.

    These further layers contain, inter alia, information on the individual storage or process containers and vessels, the list of chemicals on storage, a description of the plant safety equipment, the plant safety reports (in multi-media format), results from safety analyses (risk contours), and a general hypertext description of the plant.

    The display functions associated with the plant are methods available to the plant object itself; their configuration data is stored in the ./data/defaults layout default files.

    Where the (plant) object or elements of a (plant) object, in turn, have specific attributes (for example, the storage containers), they can be accessed and edited by means of the embedded expert system, see below.

    The Plant Object with the embedded chemical containers is defined as follows:

    
    #####################################################################
    ### The Chemical Storage Template
    #####################################################################
    #
    # The data in this template is cooked up for explanation only
    #
    
    # start header ------
    # Max length of ANY line in header is 96 characters
    # Max no. of editable ME lines via user interface = 3
    
    NA Sample Chemical Storage 1    # object name
    ID SITE1                               # unique ID
    ME  Meta Information 1                 # meta information 1
    ME  Meta Information 2                 # ...
    ME  Meta Information n                 # meta information n
    AU  kurt    Sun Jan 11 12:45:55 1998   # automatically inserted
    
    #####################################################################
    OT CST               # Type of Object
    
    GX 124400.0          # latitude / reference X
    GY 488700.0          # longitude/ reference Y
    EL 25.5              # masl
    HY bayer.exp
    PI objects/plants/gifs/container9.gif    #hypertext (map, picture) file
    
    #####################################################################
    
    N1 Bayer_SpA
    N2 Stabilimento_di_Filago
    ST Via_delle_Industrie_9
    TO 24040_Filago
    PR Tel._035/990111
    ZI Sede
    CO Viale_Certosa_126/130
    PE 20156_Milano
    PH Tel._02/3978.1
    FX 00123_456_999                    # fax    --> icon
    EM donald.duck@working_hard.it          # e-mail --> icon
    
    #####################################################################
    
    TABLE chemicals_stored
    E	chemical_name
    E	amount_stored
    E	storage_conditions
    D	chlorine	100	cooled
    D	bromine		50	cooled
    D	dioxine		10	undefined
    END_TABLE
    
    TABLE
    links
    E object_name
    E object_ID
    D Ecolombardia_4 SITE2
    D F.A.R.S.p.A SITE3
    D D.S.M._Italia SITE4
    D Demo SITE5
    D Demo SITE6
    D Demo SITE7
    END_TABLE
    
    TABLE
    conts
    E name
    E location
    E substance
    E CAS_number     #NOT a Descriptor 
    E Volume         # NEW set with matching Descriptor definitions
    E Fullness
    E Function
    E Shape
    E Material
    E Wall_thickness
    E Diameter
    E Working_temperature
    E Working_pressure
    E Pipe_diameter
    E Insulation
    E Passive_control
    E Active_control
    E Loss_protection
    E Fire_protection
    D Storage_container_A cont1 chlorine 7782-50-5  20000  85 raw_materials
      sphaerical  steel  2. 20. ambient 2.5 0.10 yes 
      overfilling pressure leak_detection none 
    D Storage_container_B cont2 acrylonitrile 107-13-1 500   80 raw_materials 
      cylindrical-vertical stainless_steel 5.  2.5 ambient ambient 0.05 no 
      hydraulic_guard pressure  leak_detection deluge
    D Storage_container_C cont3 butadiene 106-99-0  8000   90 raw_materials 
      cylindrical-vertical  steel_alloy  6. 4.  20. 1.5 20 yes 
      breathing_valve pressure  leak_detection none
    D Temporary_storage cont4 chlorobenzene 108-90-7 20000   30 raw_material
      cyl-hor-AG aluminum 10. 5. cooled ambient 0.10 yes 
      breathing_valve  pressure leak_detection deluge 
    D Storage_container_E cont5 chlorine 7782-50-5 10000   50 temporary 
      basin-elevated glass_fibre 15. 10. 5. ambient 0.15 yes 
      PSU pressure leak_detection  none 
    D Storage_container_F cont6 chlorine 7782-50-5 30000   85 emergency 
      cylindrical-vertical steel 2000. 25. ambient ambient 0.20 no 
      overfilling none leak_detection none 
    END_TABLE
    
    LIST cont_pictures
    objects/plants/gifs/container9.gif
    objects/plants/gifs/container1.gif
    objects/plants/gifs/container3.gif
    objects/plants/gifs/container7.gif
    objects/plants/gifs/container4.gif
    objects/plants/gifs/container2.gif
    END_LIST
    
    TABLE
    risk_contours
    E	contour_name
    E 	type
    E	file_name
    D	contour.21 	line	data/objects/plants/contours/contour.21
    D	contour.25 	line	data/objects/plants/contours/contour.25
    END_TABLE
    
    TABLE
    safety_reports
    E	report_name
    E	file_name
    D	Safety_report.92 	report.21
    D	Safety_report.95 	report.25
    END_TABLE
    

    Expert System interface

    The expert system provides basic editing facilities for symbolic and numerical (scalar) variables. Depending on the configuration data declaration in ./data/KB/Descriptors, each variable (Descriptor) may have associated Rules to help define its value in a given context.

    The editing is based on a combination of symbolic selection of (classified) ranges, analog selection (through a vertical slider tool) of a numerical value, or direct keyboard entry of that value. A textual description of the variable that explains its nature, unit, plausible ranges, interdependencies etc. is offered as part of the editor tool.

    Time series data

    Time series data in HITERM can either be model generates as this example from the dynamic pool evaporation (source) model, or they can be observation data such as meteorological and hydrological data used as driving variables for modeling.

    While the model-generated data are displayed by a set of specific functions that, for example, allow to represent the results of Monte Carlo simulations as ranges, the observation time series display and analysis is covered by a standard set of time-series display and analysis functions.

    The Java GUI functionality

    Page under construction;
    please bear with us.  


    Copyright 1995-2002 by:   ESS   Environmental Software and Services GmbH AUSTRIA