Java has been used extensively for several years now to solve
real-world programming challenges in numerous areas of endeavor.
While applications in science and engineering may be less well known,
there certainly are many and we present a few examples here.
A Java based system called Maestro provided for data visualization,
collaboration, and command and control services for the NASA JPL
team in charge of the Mars rovers that landed on the Red Planet
in January 2004. James Gosling called it the "the coolest Java app
ever" (ref. Gosling).
The system provides an elaborate set of tools for analyzing images,
3-D modeling of the terrain around a rover, and collaborative planning
for rover maneuvers and experimental operations. Figure 1 shows
a display of a special version of Maestro
made available to the public for personal use. You can use it "to
create your own driving and science activities, using all of the
rover's instruments to enact your own day of mission operations."
Large sets of actual data and imagery can be downloaded for different
periods of the mission (see mars.telascience.org).
Figure 1: Screen capture of the JPL Maestro
program used to plan
Mars rover maneuvers and experimental operations. (This is the
version provided for public use.)
One of us is part of team working on a project known as SensorNet
that is using Java-based Web services to enable the collection and
archiving of data from sensors that are distributed nationwide (ref.
SensorNet). Web services involve the exchange of data in XML (Extensible
Markup Language) format via Web client/server systems. (We give
an introduction to Web services in Chapter
21.) SensorNet uses Web services and open standards so that
sensor information is available to a wide variety of users in a
standard format. Java was chosen as the implementation language
because of the portability and other features mentioned above that
make it an excellent software platform in general and for network
programming in particular. Furthermore, Sun provides a free Java
Web Services Developer Pack (JWSDP) that includes extensive tools
and documentation for creating such services.
Flight Path Java Tool at Aviation
Digital Data Service
Aviation Digital Data Service (ADDS), created by a consortium
that includes the National Oceanic and Atmospheric Administration
(NOAA), offers several Java tools to provide graphical displays
of an assortment of meteorological data of importance to the aviation
community (ref. ADDS).
Another aviation-related Java program is AirportMonitor™.
This commercial product is used by a number of airports to provide
near-live displays of air traffic arriving and departing from their
facilities. The data also includes flight ID, aircraft type, altitude,
origin, and destination (ref. AirportMonitor).
See for example, this implementation
at John Wayne Airport in California.
The Swedish Institute of Space Physics uses a Java program to
collect and view data from infrasound (acoustic waves in the 0.1-25Hz
range) detectors distributed in the north of the country. The infrasound
system can detect distant events such as Shuttle launches and meteors
The open source program BioJava,
developed at the Sanger Institute in Great Britain, provides researchers
in the field of bioinformatics an extensive toolkit for manipulating
genomic sequences (ref. BioJava). The large program (over 1200 classes
and interfaces) is now used at major laboratories around the world
The resources section provides
links to sites that describe many other applications of Java in
science and engineering. There are also links to Java programming
tools in numerical computing, data analysis, image processing, and
other areas. In addition, we link to a small sample of the thousands
of applets available on the Web that use Java graphics and animation
techniques to demonstrate scientific principles and complex systems.
Such simulations provide powerful tools for teaching technical subjects.
References and Web Resources
- Maestro and the Mars rover data sets are available at
Gosling, Java Technology and the Mission to Mars, Sun News,
- SensorNet Project
Digital Data Service.
viewer, Swedish Institute of Space Physics, Umeå, Sweden.
- BioJava - www.biojava.org.
Meloan, BioJava - Java Technology Powers Toolkit for Deciphering
Genomic Codes, Sun Developer Network, June 2004.
testing SHIP for Space Station - itWorldCanada - Jan.10.06
- "NASA is testing an application that uses Web services
and enterprise information integration (EII) technology to aggregate
data from disparate sources in order to diagnose and resolve problems
detected on the International Space Station... SHIP was built
in nine months using Borland Software Corp.'s JBuilder Enterprise
Edition tool set and Sun Microsystems Inc.'s Java Studio Creator."
Latest Update: Jan.10, 2005