Java In the Space Age 

As an in-the-trenches Java programmer, Jeff Johnson describes how his group at NASA uses Java to make space data-gathering a whole lot simpler 

 
By Erica Rex, JavaWorld 

San Francisco (April 4, 1997) -- At this morning's keynote, Jeff Johnson introduced himself as "not a CEO, not an inventor of the Internet, and not a rock star -- I'm just one of you." As lead engineer on NASA's Hubble Space Telescope (HST) Vision 2000 Control Center Systems Project, Johnson is a trifle modest. He was key in persuading the HST Project to adopt Java technology as a primary component of the HST's state-of-the-art ground control system. 
Jeff Johnson 
Jeff Johnson, lead engineer 
on NASA's Hubble Space Telescope
project, told the keynote audience: 
"I'm not a CEO, not an inventor,
and not a rock star -- I'm just one of you" 
The funding for the HST was originally approved in 1977, "about the time I was learning how to program using a key punch," said Johnson. "Ten years and 10,000 people later, the telescope was launched into orbit." 

The Distributed Multitasking Problem
"We perform two kinds of data collection at Hubble," said Johnson. "The first kind is the scientific data collection. The second is engineering telemetry -- information about the functioning of the equipment itself." 

"In 1990, the first pictures came back from the telescope. The quality was excellent. In 1993, the first scheduled servicing-mission replaced some scientific instruments. In 1995, the Vision 2,000 program was initiated. The plan was to revamp all aspects of the ground system -- from the control center to the science data-processing system to the engineering telemetry system. We were told to use state-of-the-art technology and to lower operating costs at the same time." 

The challenge for the Vision 2,000 group was two-fold: "The software for the telescope was written in 1980-81, and was meant to be long-term; and we have a variety of different user-communities spread out over different locations. This meant a complete need for platform independence. We had to create something simple, and also unprecedented in terms of how control centers were designed." 

Discovering Java
"In June of 1995, we were surfing the Web looking for new and interesting applications when we discovered the Java demo applet," said Johnson. "It was the one with the Sun stock price running in real time across the top of the screen. We realized it was the perfect mechanism to pump live data out to users." 

At the time, Java was virtually unknown. It was in the alpha release. "Most other developers were using Java only as a means to create bouncing heads in their Web pages," said Johnson. "By that fall, we were up to our elbows in Java programming. The questions we kept getting asked by NASA were 'what's Java?' and 'who else is using it?' and 'is it fast enough to run real-time telemetry?' NASA's message was obvious: 'Yes, we want you to use state-of-the-art tools; but the technology has to be mature.'" 

Johnson went on to describe a video that showed the highlights of the last service mission. "Users of this system require moment-by-moment display of engineering telemetry and scientific data. These users like density; they like lots of data. The system can display both qualitative and quantitative data. They need to have access to historical telemetry as well as real-time data -- all data is examined." A real-time data feed from the Hubble telescope was displayed via the World Wide Web on the overhead screen. 

User Communities
Johnson described the various user communities who make use of Hubble data. "There is the group doing moment-by-moment telemetry, measuring operations; there are the spacecraft engineers who need information on how the spacecraft hardware is functioning; there are instrument teams that are constantly calibrating the scientific data-gathering instrumentation; and there are the external experts and contractors who work for other organizations, at far-flung sites who use the data in other ways. 

"Users outside the inner circle used to have to fly to our site to look at data," said Johnson. " And then every time a service mission was sent up, we had to ship systems to Houston along with service people to run them. Now the whole stream can be broadcast. It doesn't matter whether users are running PCs, SGIs, Suns, or Digital Unix -- no one has to write new code. Java provides source-code productivity." 

"We've had lots of calls for demos of our system," said Johnson, "even nuclear power plants. Goddard [the NASA/Goddard Space Flight Center in Greenville, Maryland, where Johnson is the Graphical User Interface Team Leader] paid us the highest possible compliment: they consider this to be the most successful control center software system ever installed there."  

JavaOne Today show coverage is provided by JavaWorld (www.javaworld.com), IDG's monthly Web-only publication for the Java developer community.
     
Sun security  April 4, 1997  JNI