Tech Success: Xontech uses Eiffel for defense
Programming language nimbler than Java, C++
When choosing a programming language, going the road less traveled is sometimes the best choice.
Defense contractor Xontech Inc., for example, found that by using the relatively obscure Eiffel programming language for a Pentagon simulation program, it sidestepped many of the time-consuming pitfalls found in more widely-used languages, such as Java and C++.
"The reason the language was chosen was not for popularity," said Darren Hiebert, Xontech's principal software engineer who recommended Eiffel. "It was chosen for its promise of delivering a quality project in a reasonable amount of time."
Xontech's 20-person team was able to complete a ballistic missile simulator program in five months using the EiffelStudio development platform, offered by Eiffel Software, Goleta, Calif. By comparison, a similar project, one coded in C++, took about 100 people more than a year to complete, Hiebert said.
Xontech of Van Nuys, Calif., needed Eiffel for the work it was doing for the Missile Defense Agency through the integrated defense systems unit of Boeing Co., Chicago. In 1998, Boeing won a $1.6 billion contract to be the lead integrator of a national missile defense system. Boeing hired Xontech as a subcontractor to provide radar analysis of in-flight missiles.
To do the job, Xontech needed to write software that would model how satellites, radars and other sensors detect incoming ballistic missiles. An analyst would script an attack and the software would show how it would play out across the different sensors. Although the software was initially developed for internal use, Hiebert said other Defense Department offices are interested in acquiring the tool.
For Hiebert, Eiffel's selling point was its simplicity. With 13 years of project management experience, he saw how a feature-rich programming language such as C++ would trip up programmers with its complexity. Very few programmers knew all the different subsets of the language. Inevitably, programs would be written using aspects of C++ "that the programmers didn't feel comfortable with," he said. Bugs appeared, and the subsequent debugging and rewriting would undermine the schedules and quality of a project.
"Eiffel offered a language that is immune to many of these problems," Hiebert said. Hiebert liked how Eiffel's automated memory management eliminated the time-consuming task of tracking down memory leaks. He appreciated how Eiffel doesn't use pointers, a technique of referring to memory addresses that can be time-consuming to manage in large program development.
"Eiffel is extraordinarily simple," Hiebert said. Programmers can get up to speed on the language in a matter of days, which for Hiebert was easier than having programmers learn the parts of C++ they didn't know.
Raphael Simon, lead software engineer for Eiffel Software, said the language
was designed so that one could use natural language to write the program.
"Once you get the basics outlined, you can go in and fill it in with code," said Bill Navickas, who is director of marketing for the company.
"It is a very transparent language. I'm never struggling with the language, just with the inherent problem I'm trying to solve," Hiebert said.
The only downside of using Eiffel was that the company had to build in-house some development tools that were readily available for other languages, he said.
Eiffel was originally developed by Bertrand Meyer for a 1987 textbook on object-oriented programming. About that time, the object-oriented paradigm was taking hold with software developers, who liked how they could save time by reusing data structures through this approach. C++, an object-oriented version of the older C procedural language, became a favorite. And by the mid-1990s, Java, marketed by Sun Microsystems Inc., had taken off as well. Oddly enough, Eiffel did not enjoy similar success.
"Many ... regard Eiffel as the best existing object-oriented language, yet it has not enjoyed wide adoption despite many individual project successes," wrote Ian Graham in the textbook "Object-Oriented Methods: Principles and Practice."
Eiffel Software's mission is to change this. A private company, Eiffel employs about 40 people and focuses on the government market as well as the insurance, health care and financial industries, Navickas said.
Eiffel's products are used by Lockheed Martin Corp. and Northrop Grumman Corp. Government clients include the Environmental Protection Agency and Sweden's National Board of Health and Welfare, which has a record-keeping system based on Eiffel. The company is also in the final stages of securing a place on the General Services Administration schedule. EiffelStudio costs $4,799, and includes a year of free maintenance and basic support.
For Hiebert, the decision to use EiffelStudio was a no brainer, because it was the only Eiffel development platform he knew of that had both the capability and vendor support for enterprise-level developments.
"They have been extraordinarily responsive to problems that have come up," Hiebert said. *
If you have an innovative solution that you recently installed in a government agency, contact Staff Writer Joab Jackson at email@example.com.