 |
      
      
  

  
|
|
Online From Jupiter 97
N. Talbot Brady
Computers and Data Management
My Field Journals
My name is N. Talbot Brady. People usually call me Tal (rhymes with
Al). I am a 45 year old man, unmarried, with no children. I sometimes
have tropical fish, a lizard, or a cat as a pet, but I don't have any
animals living with me right now, just some squirrels living in trees
in my yard. I live near JPL in Pasadena, California, but I don't work
on the Rose parade. To relax, I have friends over about once a week to
play old style (on paper not computer) Dungeons & Dragons in the dungeon
that I made several years ago. I am the dungeon master and have been running
games for more than 20 years. Additionally, I build plastic models, mostly
of ships and spacecraft and I travel with friends to look at old buildings
and ruins. My favorite trip was to the Yucatan in Mexico and Guatemala,
where I spent several weeks visiting Mayan ruins. They are fascinating
to look at even in pictures, but are really awesome to see close up.
My job on Galileo is designing and programming the flight software for
the Control and Data Subsystem (CDS) computer. This computer is one of
the two main computers on the Galileo spacecraft. It is used to control
the activities and communication on the Galileo spacecraft. It receives
commands and programs from the ground, executes those commands and programs,
and sends commands to the other subsystems (for example, the science instruments)
on the spacecraft. It also collects the science and engineering data from
the other subsystems and packages them into the telemetry sent back to
the earth. The other main computer is in the Attitude and Articulation
Control Subsystem (AACS). It is used for navigation, maintaining the spacecraft
position, and pointing the remote sensing instruments (cameras and spectroscopes)
at their targets.
I have worked on Galileo since 1979 (about 17 years), with some time
spent working on the Cassini (that's the upcoming Saturn mission) CDS
flight software between 1988 and 1991. We did not expect to do much new
design or programming of CDS flight software after the Galileo launch
in 1989. However, since the high-gain antenna could not be opened, a very
large amount of new design and programming had to be done to support the
return of data using the low gain antenna at lower data rates. For that
reason I have been very busy over the past several years, working with
the mission scientists to discover what new capabilities were needed for
the CDS, and then designing, programming, testing and teaching people
how to use those new capabilities. I did not develop all of the software
by myself, but led a team of 14 programmers and testers. We developed
more than 100 new complicated programs to support the new capabilities.
All these programs were developed using assembly language and tools from
the late 1970's. Compared to what is available now for writing programs
on a PC, these tools are very primitive. It was hard work and we sometimes
worked late into the night.
The CDS computer is really 6 smaller (micro) computers, each somewhat
similar to an old Apple-2 computer in size and speed, all working together.
Some of you may have used an Apple-2 computer in your school. The software
is written separately for each of the 6 computers, but it all has to work
together and at the right times. Also since the CDS is on the spacecraft,
not connected to my computer or a monitor, we have to write the programs
on another computer and when we get them working, put them in uplink (the
process of sending things to the spacecraft) packages and send them to
the testing computers or up to the spacecraft. After a number of months
of testing the software in our test lab here at JPL, and making some changes
to fix the things that didn't work right, we made the uplink packages
to send to the Galileo spacecraft and a book of instructions about how
to send the new programs to the spacecraft and start them up. The book
was over 200 pages long and the loading process took almost a week. Loading
the new software is complicated because the old software on the spacecraft
must be kept running while the new software is being loaded.
Starting the new software was very exciting because the software changed
the way that data was sent to the earth by the spacecraft and so the software
on the computers that receive and store the data on the ground also had
to be changed. Both the new spacecraft software and the new ground software
were started and then we waited to see if the computers on the earth could
understand the new type of data sent from the Galileo spacecraft. We waited
over an hour for the new data to arrive because Jupiter and Galileo are
so far away that the radio signals from there took more than an hour to
travel to the earth. Suddenly, data started appearing on the ground computer
monitors. It worked and we were successfully sending data from the spacecraft
and receiving it on the ground. We all clapped and cheered. For me, one
of the best times in the mission occurred later during the following weeks
as the science data was collected and the scientists could see that they
were getting a lot of useful data. It is probably the best part of my
job being able to program the computer to help people get what they need
to do their jobs well. Sometimes, there are bad parts to the job like
working all night on stubborn code that will not work right, and not seeing
my friends for weeks at a time, but when the scientists can use the new
data collected by our new software to better understand the world around
us, it's all worth it. I have found from my studies that as scientists
explore new ideas and make new theories, their new theories spread to
other researchers, engineers and inventors and inspire them. They in turn
expand their research into applications and inventions and then after
a while life improves for everyone.
Sometimes working here at JPL is like being in one of the science fiction
books I read so many of when I was growing up. (Yes, I still read them
-- Yes I saw the new release of Star Wars and I liked it almost I much
as the first time I saw it in 1977. I even saw it with the same group
of friends as in 1977.). Also, I grew up with the space program. We started
sending men into orbit in Mercury capsules when I was in the fifth grade.
As long as I can remember, I have been interested in space, science, and
computers, probably because of my reading. The first book I remember reading
about space was called 'The Spaceship Under the Apple Tree'. It's for
second or third graders and should still be in the library. The first
book I remember about computers was called 'Danny Dunn and the Homework
Machine'. It was about some kids who tried to program their uncle's computer
to do their homework and discovered that to program it to do homework,
they had to learn more about their school subjects than they would have,
if they had just done the homework themselves. I think that's still true.
It was written for fourth and fifth graders and should also be in the
library.
For me, programming computers is like solving puzzles in a foreign language.
Also to write software here at JPL, you must have a pretty strong science
background and interest. Otherwise, it is very difficult to understand
what the scientist, that you are working with on the program, really wants
the program to do. Most of the people that I know who write software took
the science and math college preparation courses in high school and majored
in either computer science or mathematics at college. I majored in philosophy,
but several of my philosophy classes involved logic and logic puzzle solving.
Also, I took lots of undergraduate computer science courses as electives.
However computer programming seems to be changing as a job. There is new
software available to make it easier for people who are not trained in
programming to write simple programs for use on their desktop computers
and there are programs that can now write entire complex business application
software from just the requirements. Much of the software that I wrote
when I first started to work as a programmer can now be written automatically.
Many programming jobs are now done in other countries where the programmers
are often paid less than 25% of what a programmer in the United States
is paid. Probably, the jobs that will be available to future programmers
will be in the production of more complicated software and in system design.
Future space program software engineers will need to major in computer
science and will need a strong background in both mathematics and hard
sciences (Physics, Chemistry, Biology, Astronomy). The software they write
will usually be special purpose, highly technical in nature, and developed
in close conjunction with a scientific research team. There will be very
few long term tasks like Galileo flight software lasting 10-20 years.
Most missions or tasks will last only 2-5 years. In any NASA software
engineer's future there should be many challenging and rewarding tasks.
|
|