NASA leads efforts to build better software
Computerworld - WASHINGTON -- NASA's mission software systems are considered to be among the best-engineered in the world. But software has its limits, and NASA realized after the 1999 crash of the unmanned Mars Polar Lander that it needed help.
The crash on Mars was blamed on a software bug: "Software testing was inadequate," a NASA study said. But NASA officials knew that a long-term fix for the problem would involve more than simply finding and fixing bugs. It would mean improving software quality and creating systems that would not fail.
The Feb. 1 crash of the space shuttle Columbia has brought renewed attention to the highly complex computer systems and software used by the space agency.
The "Mars Polar Lander was an important watershed event" for NASA, said Dr. Henry McDonald, who headed the NASA Ames Research Center in Moffett Field, Calif., until last November.
McDonald urged the agency to broaden private-sector involvement, and the space agency did just that, bringing together leading universities to help in the development of highly dependable systems. Indeed, so close is this private-sector collaboration that last month Carnegie Mellon University in Pittsburgh, the lead university in a research program that received $23 million from NASA, signed a lease to establish a West Coast campus at Moffett Field.
Moreover, the space agency is playing a leading role in the Sustainable Computing Consortium (SCC), a group formed in July that includes companies such as FedEx Corp., Pfizer Inc., Microsoft Corp. and Oracle Corp.
The goal is the Holy Grail of software design: software that does what it's intended to do, no matter what. It's called "high dependability," and it means building systems that tolerate hardware faults well, maintain a high level of security in an attack and are always available to the end user.
The research could help not just NASA, but any industry. "There are many, many applications that would benefit greatly from very highly dependable computing, and NASA is among those," said Jan Aikins, chief technologist at the Ames Research Center. Critical applications include those used by financial services and hospitals -- industries that need "applications that can't fail, that don't fail," Aikins said.
But achieving that will take a monumental effort. Among engineered systems, software is unique because there are no systems that provide definitive measures of a system's level of security and dependability. "The central objective is to be able make positive statements about presence or absence of those kinds of attributes in a finished product," said SCC head William Guttman, a professor of economics and technology at Carnegie Mellon.
- 5 Customers Deliver Virtual Desktops and Apps to Empower a Modern Workforce Learn how Citrix solutions helped 5 companies realize the full value of desktop virtualization through a project-by-project approach based on key business priorities.
- Mitigate Risk and Accelerate Time to Value Download this white paper to learn how your IT organization can accelerate business, introduce new services, and reach new markets, all while staying...
- Allay Risks in Application Rationalization and Modernization IT has to do it all: react quickly to market needs, introduce new services, capitalize on mobile, and comply with regulatory requirements, all...
- Delivering Application Data On-Demand Packaged app dev teams frequently operate with limited testing environments due to various constraints. By virtualizing the entire application stack, Delphix-powered teams can...
- Transform Your IT Service Management Watch this webinar, to learn how EasyVista can increase IT productivity & efficiency and deliver streamlined & integrated IT Service & Asset Mgmt.
- Responding to New SSL Cybersecurity Threat The featured Gartner research examines current strategies to address new SSL cybersecurity threats and vulnerabilities. All Applications White Papers | Webcasts