Home : Course Map : Chapter 1 : Java :
Examples of Java in Science & Technical Applications
JavaTech
Course Map
Chapter 1
Introduction
History
What is Java?
Versions
Java 5.0
Features

Java Process
Tools
Documentation
Compatibility
Getting Started
Simple Applet
Simple Application
Starters
Exercises

    Supplements
Interpret/Compile

Making WebPages
Plug-in
Java 5.0 Features
The JVM
Advanced JVMs
Alt. Compilers
Alt. JVMs
Java Deployment

     About JavaTech
     Codes List
     Exercises
     Feedback
     References
     Resources
     Tips
     Topic Index
     Course Guide
     What's New

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).

Maestro Screen Capture
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

The 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 (ref. Infrasound).

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 (ref. Meloan).

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

Latest Update: Jan.10, 2005

 

 

            Tech
Java in Science
    & Engineering
Benefits
Shortcomings
RealWorld Examples

           Physics
Java in Physics
SimulationTypes
Simulate&Analyze
Sim. in Experiments
  Demo 1: Event
  Demo 2: Continuous
  Demo 3: Static

Learn by Coding
Exercises

  Part I Part II Part III
Java Core 1  2  3  4  5  6  7  8  9  10  11  12 13 14 15 16 17
18 19 20
21
22 23 24
Supplements

1  2  3  4  5  6  7  8  9  10  11  12

Tech 1  2  3  4  5  6  7  8  9  10  11  12
Physics 1  2  3  4  5  6  7  8  9  10  11  12

Java is a trademark of Sun Microsystems, Inc.