Authors
>From the University of Michigan:
The purpose of this effort is to conduct research directed toward the development of a prototype electronic environment to support a geographically distributed group which is conducting team science. In particular, a real-world electronic collaboration testbed has been established to support scientific work centered around the experimental operations utilizing instruments at the Sondrestrom Upper Atmospheric Research Facility in Kangerlussuaq, Greenland. Such group computing environments, we predict, will become an important component of the National Information Infrastructure (NII) initiative, which is envisioned as the high performance communications infrastructure to support future national scientific research. This work is sponsored by NSF under the cooperative agreement award IRI-9216848. ________________________________________________________________
Because the upper atmosphere and space plasmas are influenced by a broad and diverse set of regions and processes, progress in scientific understanding requires an ever increasing synthesis of information from a wide variety of experimental data and the interactions between scientists in varying areas of research and expertise.
The computing infrastructure to support such activity should enable and facilitate collaborative efforts to acquire and synthesize information. The technology to enable such interactions is now developing rapidly and the United States is making a major national commitment to develop and deploy such technology.
A step in this direction has been the development of the concept of the National Collaboratory. The National Collaboratories report, prepared under the auspices of the National Research Council, concluded that "...collaboratory testbed programs have the potential to address important scientific needs while simultaneously representing a key step toward developing national and global infrastructure." The collaboratory is described as a "...center without walls in which the nation's researchers can perform research without regard to geographical location -- interacting with colleagues, accessing instrumentation, sharing data and computational resources, and accessing information from digital libraries." The collaboratory infrastructure is envisioned as supporting distributed interaction between people, access to remote information sources and digital libraries, and access and interaction with remote and unique facilities.
It is the aspects of access and interaction with remote and unique facilities as well as distributed interactions between people that are the focus of the prototype collaboratory that we have named the Upper Atmospheric Research Collaboratory (UARC). Beginning in September, 1992, the Computer Information Science and Engineering Directorate (CISE) in cooperation with the Atmospheric Sciences Directorate of the National Science Foundation has funded this major collaboration testbed in the space science community. The purpose of the testbed is to conduct computer science research in the design of environments to support team collaboration. We accomplished this by using a testbed approach in which we presented versions of the software developed to an active group of collaborating scientists in a real-world environment.
The participants include research groups at the University of Michigan, SRI International, the Danish Meteorological Institute, the University of Maryland, the University of Alaska, Cornell Univeristy, and the Lockheed Palo Alto Research Laboratory. The UARC project has been formed around research activities of this group of space scientists, focused upon research at the Sondrestrom Upper Atmospheric Research Facility located in Kangerlussuaq, Greenland.
Our goal is to build a networked environment which supplies a toolkit to support coordinated collaboration. This toolkit is being applied and tested by a distributed group of scientists using multiple instruments. An early public demonstration of the UARC was given at the May, 1993 meeting of the American Geophysical Union special session on Applications of Advanced Data Handling and Visualization Tools to Complex Problems in Space and Atmospheric Sciences.
The starting point of the UARC project is the telescience capabilities which were developed through support provided by the NASA Telescience Testbed Program. This program provided the network connections to and the internet nodes at the Sondrestrom facility. It also provided the infrastructure for the ongoing research in the UARC project.
The instruments presently supported in the UARC testbed, their principal investigators, and their institutional affiliations include: (1) incoherent scatter radar , John Kelly, SRI International; (2) imaging riometer , Peter Stauning, Danish Meteorological Institute and Ted Rosenberg, University of Maryland; (3) magnetometer , Eigil Friis-Christensen, Danish Meteorological Institute; (4) Fabry Perot interferometer and optical spectrometers and photometers , Rick Niciejewski and Tim Killeen, University of Michigan; and (5) all-sky imaging television camera , Steve Mende, Lockheed Palo Alto Research Laboratory.
The testbed has evolved from a 'wire service' style of data delivery to a shared electronic collaboration environment. In the wire service version of the toolkit, user applications are connected to a data delivery system that presents every data item as soon as it becomes available, not unlike the presentation of news by a wire service. In late1993, we deployed and tested the wire service, which was based on internet connectivity and a distributed object system. Distributed objects were used to transport data to the scientists through a central server to clients. The development of this testbed provided the foundation for subsequent research in collaboration tools: shared windows and distributed graphical annotations on data. In the wire service the instruments generated a stream of data that was collected, stored, forwarded, and displayed at all user sites. The wire service phase evolved into a 'point and talk' phase that allows distributed researchers to interact jointly.
The developments of the point and talk toolkit include a chat window, shared views of data windows, and shared graphical annotation to data. Additional planned developments are: electronic blackboards (drawing windows) and voice communications.
In this project, we use rapid prototyping based on user-feedback. Early prototypes we in the hands of the users with the first six months of the project. Several iterations of development have been caried out at six month intervals: user feedback is collected and compiled, updates are proposed and implemented, a new version of the software is published. In addition to user feedback informing the need for incremental improvments, new functions and tools arive directly from expressed user needs. For example, we have identified the need to review collected data and discuss it at later times because of the time zone distribution of the group. Thus, tools which support synchronous real-time interactions are being designed to also support asynchronous collaboration. Such tools could, for example, permit a researcher to play back data from various instruments collected during a previous data collection interval, annotate the data, discuss the results using voice, and encapsulate all of this into a file which could be sent to a colleague who could play back the discussion on his own workstation. The colleague could edit the file to add value by including his own comments and annotation, and send the file back.
Because the UARC project is composed of relatively few individuals and sites, we have elected to perform the development within a homogenous computing environment. This limits our concern with interoperability issues among different computers and operating systems. For this project, we are using NeXT workstations and the NeXTStep Interface Builder and operating system. NeXTStep was chosen because it tightly integrates both the operating system, supporting software, and development environment under a unifying object-oriented software library. NeXTStep also allows software objects running on one workstation to be easily accessed from other workstations on the Internet. This supports the modular development of distributed user- oriented software in an evolutionary fashion. The use of the interface building tools, distributed object support and object oriented computing environment has enabled us to pursue a rapid prototyping approach to system design, deployment, and evaluation that would have been difficult with any other available operating system and user interface. For example, we have implemented two major versions of the system in a period of 6 months.
The project is now undergoing a redesign, part of which is to make the tools more widely available. An open software design has evolved that will enable the separation of the toolkit into individual tools and the migration of the individual tools to other software platforms. The original system now serves as a specification of the user interface and of the system structure.
Recently, we have started to look at ways to scale this work to make it available to a larger audience. This has lead to the development of a restructuring of the design in which we have adapted an open-bus structure for the software. In this redesign, each display tool in the current application will be a separate application which can be invoked from a master application which we call the session manager. In the first prototype, the session manager will be a stand alone application. However, our future plans include making a Mosaic version of the session manager.
The UARC toolkit and Mosaic supply the user with data in different ways. Mosaic's strength is that the used can easily pull data to local displays. The UARC toolkit, on the other hand, is a set of applications that pushes data to user display in the style of a publish and subscribe linking: where a connection is made to an active source of information which notifies the connecting client whenever the information is updated. The toolkit consists, in part, of a set of service providers to which a client application connects to subscribe for services. For example, one service is to receive real-time data from the incoherent scatter radar. One client application that would be interested in this service is the real-time display of the data from the radar. Upon being invoked, this display client would subscribe to the data service. Once subscribed to the service, the client application need take no further action. Data is delivered to the client as it becomes available; thus, the client can update a display of the data as it arrives. The client does not need to repeatedly request the data. The data arrives as available. In this sense, the service provider "pushes" the data at the client.
Mosaic provides a means to naturally interface to such as client and service provider. The forms interface in Mosaic supports interaction with a remote server. In Mosaic forms the user enters data that is sent to a server process. A user would navigate to a forms page that initiated the request for service. In this way, a user reaches the point where a client routine would request a connection to the UARC toolkit from Mosaic.
The connection can also be set up within the Mosaic framework. Since Mosaic provides that files of unknown types can be handled (e.g. for display) by special file servers, the form interaction with the UARC server would result in the return of a special configuration file with a unique extension (i.e. init.uarc). Mosaic would then invoke the "display" procedure for that file type. In the case of Mosaic clients configured to interact with the UARC toolkit, that display routine would actually be the client (subscribe) side of the publish and subscribe connection, an application to connect the user to the data-supply service and to receive and display the data.
The collaboration interactions supported by the UARC toolkit will be accessed in this way. Mosaic supplies the interface to connect the user with the service, while external tools (part of the UARC toolkit) supply the services for naming, connection, group membership, and subscription to publish-style live information.
This type of interaction uses both tools to their best advantage. While Mosaic is used for rapid navigation and wide dissemination of information on availability, essentially an "access" front-end, the UARC toolkit is used to connect the user to the active data sources, collaboration groups, and supporting tools. Essentially the user navigates to the UARC toolkit via a series of requests which pull increasing relevant information to the user, while the toolkit supplies a connection service the pushes data and communication support information to the user's collaborative interface.
We have developed and extensively tested a set of collaboration tools in the domain of Space Physics Research. A style of rapid-prototyping was employed in this development, such that the users of the software were involved in its inception and in every stage of its development. This development will result in a toolkit of software that supports collaboration in scientific research, by a geographically distributed set of scientists, observing and controlling a remote set of instruments.
The resulting prototype is a specification for the next generation of the toolkit. We will separate the tools into a set of applications that can then be used to support collaboration. In particular, they will support an interface with Mosaic that connects to servers for viewing remote data and collaborating in scientific experiments.
________________________________________________________________
Correspondance to Terry E. Weymouth - weymouth@umich.edu