A Java-Based Collaborative Working Environment for FX-Advanced

U. Herb Grote*

Forecast Systems Laboratory
Boulder, Colorado

Paper 16.14 at the Fifteenth International Conference on Interactive Information and Processing Systems (IIPS) for Meteorology, Oceanography, and Hydrology, January 1999, Dallas, TX.

1. INTRODUCTION

Since 1980 the Forecast Systems Laboratory (formerly PROFS) has been investigating and prototyping advanced architectures for meteorological forecast workstations. Over half a dozen systems have been developed varying from a single workstation to many workstations clustered around a server. This paper describes a system that explores distributing the workstation and server functions over a number of different remote locations. A unique feature of this system is the ability for forecasters located at different locations to interact with each other through a graphical user interface. This interaction is even supported to some degree between this system and an FX-Advanced (AWIPS-like) workstation.

2. OBJECTIVE

A number of technologies have evolved over the last few years that make it possible to explore new architectures. The continuing evolution of higher bandwidth communications over the Internet and other wide area networks make it feasible for systems to be distributed over large geographical domains. New software technologies such as Java's Remote Method Invocation (RMI) and the Common Object Request Broker Architecture (CORBA), allow powerful interaction between heterogeneous computer systems. In particular, Java's RMI and object serialization make tight interaction between remote systems relatively simple.

The objective of this exploratory development, known as FXC (FX-Connect), is to investigate new software architectures that involve distributed objects, new workstation capabilities, and promising hardware tehnology.

3. ARCHITECTURE

3.1 System topography

The system illustrated in Figure 1 supports the type of network-based system architecture explored in this development. It consists of two FX-Advanced configurations, each running a different localization, an FXC display system, and a separate machine that serves as an additional source of data and processing. Each FX-Advanced localization comprises a complete set of static and real-time data for a specific WFO geographic location. The FXC display system is the principal Java component that accesses data from either of the two FX-Advanced configurations and merges them with data from the independent machine. The display system can also control and exchange data with the FX-Advanced displays to permit users to collaborate on a particular task. It is connected to the other components on the network by either the ethernet or a switched phone line.


Figure 1. FXC Test Configuration

The FXC Java code is distributed over all computers in the system except the data servers. Most of the code is completely portable and currently runs on Hewlett Packard DS and WS computers, Silicon Graphics data server, and Pentium FXC machine. Only the software that interfaces directly to the FX-Advanced is not portable. A design decision was made early on to use Java's RMI to invoke methods of a remote object. This allows a remote object to be easily relocated to a different host by simply changing the RMI binding. It, also makes the location of the object immaterial to a client wanting to invoke methods of the object.

3.2 Characteristics

The FXC display software performs most of the rudimentary functions of meteorological workstations such as image and graphic display, graphic overlays, animation, zoom, pan (translate), color change, and reading of cursor, plus special interactive graphic functions such as drawing, QC editing, and specifying baselines. The user interface is patterned after the FX-Advanced to make operation of FXC reatively easy for an experienced FX-Advanced user. This is particularly desirable since the FXC display can be started as a stand-alone program or as an FX-Advanced application (Kelly, 1997). The functionality of the FXC display is identical regardless of how it is started.

The FXC supports basic collaboration between an FX-Advanced workstation and an FXC display. Since only existing interfaces were used and no enhancements were made to the FX-Advanced software to support collaboration, not all features available on the FXC display system are also available on the FX-Advanced. Thus, each system can specify baselines and load products on their own and the remote screens; however, drawing and annotation can be initiated only by the FXC user. Thus, the FXC user can load a graphic, initiate a cross section, and draw a graphic that depicts fronts and weather symbols, and contains special annotation concurrently on its own screen as well as the remote FX-Advanced screen. Future plans include minor modifications to the FX-Advanced to support more efficient and symmetric collaboration.

Since the FXC display system may not have a database of its own, it receives most of its displays from external sources. Almost all of the images and graphics available on an FX-Advanced can be requested and displayed on the FXC. The graphics and images reflect the geographic position and area of the FX-Advanced localization. In principle, a user could connect to any FX-Advanced system in the country that is reachable over an internet or dial-up phone line and access its synoptic and local products. The FXC supports a number of compression techniques, such as run-length encoding, GIF, and selective data elimination for phone line use. If desired, the user has the option to also enable collaboration with the selected remote system.

In addition to the images and graphics available from the FX-Advanced, the FXC can obtain displays from other systems. The selected FX-Advanced will always establish the geographic localization for the FXC. Graphics from another machine are generated in latitude and longitude coordinates by FXC software and are readily overlayed on an FX-Advanced generated display. If no FX-Advanced is selected as a remote host then a default geographic localization is used by the FXC.

The FXC supports interactive applications. The Java language allows these application to be developed to reside totally or partially on a remote host. For example, the FXC QC editor and time-series plot use RMI with object serialization to access netCDF data on a separate processor.

The FX-Advanced software currently used for testing is the same as that used by AWIPS Build 4.2.

4. FORECAST APPLICATIONS AND USES

A number of potential operational applications are being explored with this development, as follows:
  • Assisting another WFO - Since the FXC has the potential to access nearly the entire database of another WFO over the AWIPS WAN, an adjacent office could assist a WFO in a severe weather situation.
  • Weather briefings between WFOs - Because two users can collaborate, it would be possible for a forecaster in one office to concurrently load and annotate displays in a participating remote forecast office.
  • Privileged user connecting to a WFO database - A privileged user, such as an emergency manager, may be allowed to interact with a WFO forecaster during an emergency weather situation.
  • Classroom training - An instructor, at his desk, could interact with a student to point out specific features in a meteorological display. Voice communications may need to be added to effectively communicate a concept.
  • Field Experiments - A user in the field could communicate and interact with the home base using a laptop computer and a mobile phone.
  • Forecast Product Development - Two forecasters could collaborate on creating a forecast product.
  • Research and Development - Since the FXC can merge data from different locations, a forecaster could overlay displays from experimental models or data sources, available at remote locations, with FX-Advanced data displays (Some development is required to merge new data displays).
  • 5. SYSTEM SOFTWARE OVERVIEW

    The FXC software is a Java application that is distributed over several machines. Since the FXC is an application and not an applet, the software runs without a network browser and has fewer restrictions on using system resources, such as memory, disk, and the network.

    5.1 Major components (classes)

    The FXC software has five classes that are of particular interest:

    FXStudio - This is the first object to be instantiated when starting the FXC. It contains the data structures and methods for the menu bar and it instantiates other objects as needed to satisfy the user requests.

    Manager - The Manager class receives messages from the FXStudio and is responsible for obtaining depictable objects and managing the depictables. The Manager contains information on what remote host is connected and establishes RMI connections.

    Display - The Display is responsible for managing the information displayed in an FXC window. It instantiates other objects, such as the image and graphics brush, that paint depictables to the window, and also provides animation and labeling of displays.

    Browser - A Browser class is provided to display a volume browser menu (similar to FX-Advanced) and to manage the state of the browser. Product selections by the user invoke methods in the Manager object.

    DepictableServer - This class acquires one or more depictables from an FX-Advanced IGC (Interactive Graphic Capability) (Grote and Biere, 1998). The DepictableServer contains methods that specify the number of frames, frame position, and the specific meteorological product to be loaded or unloaded by the IGC. It is one of the classes that has an RMI interface to make its methods available locally or remotely. The DepictableServer uses a DataGenerator object to make the connection with a tcl/tk script that actually controls the IGC. The DepictableServer works asynchronously, so that individual frames can be made available while the remaining frames are being received.

    5.2 Interactive Tools

    Interactive tools implement an abstract class that defines the common and mandatory methods for an interactive tool. One of these methods allows the tool to redraw itself when a change is made to the data. Other methods for handling requests allow the user to edit the graphic or to deactivate (hide) the object. In addition to these common methods, each tool implements methods that are specific to the tool.

    The following tools illustrate existing interactive capabilities available on the FXC:

    Baseline - This tool allows a line to be drawn on the screen that identifies where a vertical cross section of a gridded dataset is to be performed. Modifications of the baseline can be reflected almost instantaneously on a remote user screen.

    Drawing - The drawing tool lets the user draw weather symbols, fronts, arbitrary lines and text to the screen and save them as a product. This tool also allows a remote screen to be updated almost simultaneously.

    QC Editor - The user can display observational data in different colors to reflect the quality of the data. By overlaying these on other graphics the user can evaluate the QC algorithm and manually change the QC flag of data that are believed to be in error. A time-series plot can be drawn to assess the temporal consistency or past performance of the sensor.

    6. FUTURE ACTIVITIES

    Some of the new concepts to be investigated are dynamic process reassignment, dynamic extensibility of the system, and improved system integrity through the use of digital signatures. Additional effort will be devoted to enhancing existing capabilities and incorporating feedback from test users. Certain operational issues, such as communications to an AWIPS system from outside the firewall and over the AWIPS WAN, will also be explored.

    7. REFERENCES

    Grote, U. H. and Biere, M., 1998: The WFO-Advanced System Software Architecture. 14th International Conference on Interactive Information and Processing Systems (IIPS) for Meteorology, Hydrology, and Oceanography, Phoenix, AZ, Amer. Meteor. Soc., 321-324.

    Kelly, S., 1997: The Application Interface for the WFO-Advanced Forecaster Workstation, D2D. 13th International Conference on Interactive Information and Processing Systems (IIPS) for Meteorology, Hydrolog,y and Oceanography, Long Beach, CA, Amer. Meteor. Soc., 328-331.

    * Corresponding Author Address: U. Herb Grote, NOAA/ERL/FSL, Mail Code: R/E/FS4, 325 Broadway, Boulder, CO 80303-3328; e-mail: u.herb.grote@noaa.gov


    HTMLization by Joe Wakefield
    24 Nov 98