Object technology gains ground
- By Jerry Lazar
- May 19, 1996
Not long ago, object-oriented technology was earning itself a bad name. People had begun calling the programming paradigm "the next CASE." And that wasn't a compliment.
As was the case with computer-aided software engineering, object technology was idealized as a solution for faster and better software development. But immature technology and customer difficulty in shifting from structured to object programming have hampered object technology, industry observers said.
But, seemingly overnight, the technology's fortunes have turned, especially in the federal arena. From the bleeding-edge scientific programs of NASA to the cautious software developers of the Defense Department, object-based projects have sprung up all over. Some are pilot projects testing out the capabilities of an object-oriented database, while others are full-scale attempts to write million-line programs in modular, reusable sections.
The goal of object technology is to make software development faster, make maintenance easier and help rescue legacy systems. Object technology promotes the concept of software reuse, in which preconstructed software objects can be linked to create the basis for new applications.
Many industry observers contend that the object has come of age.
"We had to learn how to do it right," said Massood Zarrabian, vice president of product operations for object technology design tool provider Cayenne Software, Burlington, Mass. "Now, though the language has been mature for a while, what is maturing is the whole paradigm of object-oriented thinking: object oriented communications, requirements captures [and] design captures."
What federal integrators and their customers have learned, according to Chuck Pross, Electronic Data System Corp.'s technical director for the company's Earth Observing System Data and Information System (EOSDIS) project with NASA, is that "object orientation was not going to be a solution by itself....Object alone doesn't guarantee success."
Objects, Objects Everywhere
Almost every federal department and agency seems to have some object technology project in the works. Object technology is considered a natural fit for systems involving simulation, imagery or complex analysis. Such systems would take much longer to develop through traditional methods, observers said.
Object technology is particularly well- suited for the database world, according to Kent Potter, director of marketing for integrator Delphin Systems' Decision Systems Division, Reston, Va. A standard relational database is too static, he said, noting that "the real world does not consist of rows and columns."
Trying to use a relational database management system to express real-world relationships "is like taking your car apart to store it in a garage. You can stack it neatly, but if you want to use it, you have to put it back together again," he said.
Object technology, however, is well-suited to support highly complex analysis.
The Navy is using object technology to build its Fleet Modernization Program Management Information System, designed to track all the activities surrounding modernization of the fleet, said George Brush, project leader at the Naval Computer and Telecommunications Station, Washington, D.C.
"It's a fairly large system, located in all shipyards, though its headquarters are in the Pentagon," he said. A project team of 28 people is building the application around an existing system. The old system has been converted to an Oracle Corp. database, and the application is being rewritten using Borland International Inc.'s Delphi.
"We're supposed to go into production this August," Brush said. "We started the programming in February.... It will have taken six months, but it would have taken twice as long without [object technology]."
The Defense Advanced Research Projects Agency, meanwhile, is building a command and control system "that is totally object-oriented," according to John Schill, a DARPA program manager. The Joint Task Force Advance Technical Demonstration is a pilot project. "The purpose of the exercise is to learn all the shortfalls, all the issues that we have with object-oriented technology. The advantages are that it maximizes reuse and heterogeneity of suppliers."
DARPA is working out a system in which geographically diverse personnel can work together. "In the Civil War, the general would bring all his officers into his tent and draw battle plans in the sand," Schill said. "Now, no crisis is geographically convenient in terms of staff location. We've developed tools to let people work together."
The project got started in the fall of 1993 and had a primitive demonstration in 1994. "In 1995 we had a much more robust demo, showing many of the capabilities" of the finished project, Schill said.
Other object technology ventures in DOD include a large logistics system for the Joint Logistics Systems Center at Wright-Patterson Air Force Base in Ohio and the Army's medical evacuation system. BDM Federal Inc. is developing the logistics system, while the medical program was built using Versant Inc.'s object database management system.
On the civilian side, Informix Software Inc. has won a pair of contracts to automate database functions of the Labor Department's Job Corps and the Employment Standards Administration. Those projects will employ object database technology.
Even agencies that do not have specific object technology projects seem to be moving in that direction. While the Federal Aviation Administration has not gone so far as to insist on object technology for its development efforts, the agency recently made it possible for developers who wish to work with object technology to do so. "We used to insist that developers use Ada 86," a spokeswoman said. "Recently, we...allowed for more flexibility," including the use of object technology programming, she said.
"We don't mandate its use, but we do encourage the use of the best technology available," the spokeswoman said.
Elsewhere, DOD's Integrated Computer-Aided Software Engineering pact was recently amended to provide object technology tools from such vendors as Rational Software Corp. The pact originally focused on Ada.
"Every type of programmer is using object technology in one way or another, whether they know it or not," said Lance Devin, senior product manger for Borland's Delphi product line. "When they create some client/server application and develop a data model for business logic, they're using object-oriented technology."
But that's not to say that everyone is eagerly flocking to object technology. The staff of at least one federal agency have rallied against object technology, according to a government source who requested anonymity. "They think of it as a toy," she said. "They don't see how to make it productive."
Most users probably look to object technology for reusability, but the benefits of reuse are not quickly or easily gained, executives said.
The advantages of reuse, for obvious reasons, come later in the development cycle. For example, EDS' Pross said only about 10 percent of the million lines of code needed for EOSDIS have been written.
"We can't talk about the amount of reuse yet, but we do know some things," Pross said. "Reuse does not come free.... There are coding standards, library standards and documentation standards that become essential when you are planning to use code again, and they don't come automatically.
"The customer couldn't afford to have reuse for everything," Pross added. "You have to have a selection: This part will be designed for reuse; this other part isn't. You need a very good communications infrastructure to give you access to the software library. When 500 or 600 people write a program, it's difficult."
Object technology projects are easier with a smaller programming environment—when every programmer can have at least a rough idea of what his colleagues are doing.
The Navy's Brush called reusability the real beauty of object-oriented programming. "You develop just once a very application-specific function—say, a function that does calculations on overhaul start times or finish dates—and that is a function we can use over and over again."
Borland's Devin agreed, saying that many designers are relieved "that the wheel isn't being reinvented every time."
While the lack of immediate gratification has soured some users on the whole idea of reusability, the benefits are there. Jerry Redisin, vice president of marketing for object technology tool provider Rational Software Corp., Santa Clara, Calif., said that eventually one can achieve "50 to 70 percent reuse." Redisin added, however, that such reuse rates are "difficult to achieve. It takes planning and automation."
Warren Steger, a section manager of Advanced Systems Technology Development at Computer Sciences Corp., said one of his company's projects for NASA has achieved as much as 90 percent reuse or more. But, he noted, "the project was initially an experiment. The question was `Will object technology impact reuse?' Of course it did, and we've gone on to a much more encompassing approach from there."
Today NASA has an extensive library of "generalized objects to support applications in spacecraft attitude and mission," Steger said.
Closely coupled to reusability is the vaunted ease of maintenance of software developed through object technology. Because developers must cleave to strict standards and keep such meticulous records, it is relatively simple for someone who follows them to maintain the software.
Other industry executives tout integration with legacy systems as the key benefit of object technology.
"I think the primary benefit is integration," said Chris Stone, president of the Object Management Group Inc., a standards organization in Framingham, Mass. Object technology, he said, provides for the "wrapping and encapsulation of existing software. If you're looking for cost savings, that's where you'll find it."
"In the government, as soon as people build an application, it's practically obsolete," Devin said. "To be able to say `This won't be obsolete when I'm finished' means a lot."
For example, Pross said the infrastructure for EOSDIS is written in C++ but incorporates code written in various dialects of Fortran that are about 20 years old.
According to Cayenne's Zarrabian, the ability to encapsulate legacy systems is, in part, a mark of the maturity and experience of software engineers. "They are now learning to build software in a way that is not all that different from how people build aircraft."
But for first-time users, many of these benefits will not immediately arise.
Most integrators admit that the first few jobs using object technology not only take longer to write but also result in larger programs than their SQL equivalents.
"I have gone through several projects, and one of the things I've learned is that the first project is going to be longer in object," said Ramesh Ragu, senior manager in Palo Alto, Calif., for integrator KPMG Peat Marwick.
"You are learning; you are making mistakes. If you learn the right things and learn from those mistakes, then the second project becomes easier, and the third project becomes spectacular."
"Creating objects once does have an up-front cost," Devin said. "But if they've created an object, they have a map, a modular construction, and they can replace, change and reuse software."
"We worked with NASA in the software engineering library from 1985 to the present," said Gerry Heller, manager of EDS' Software Technology Department in its System Sciences Division. "And, while it is hard to decouple Ada from object design, we saw reuse increase 300 percent and a systems cost reduction of 40 percent over the baseline."
Executives said that while object technology has advanced, it still faces some hurdles.
For one thing, experienced object designers are in short supply, although more college graduates have been exposed to the approach.
"For every project, you need to hire a few senior guys up front who have experience with object," Ragu said. "If you have an entire project team all learning as they go, you are guaranteeing that the first effort will have a bad effect [on future efforts]. We need reusable people too."
Ragu said he believes that Java—Sun Microsystem Inc.'s Internet-oriented programming language—has removed some of the complexity of object-oriented programming.
"You don't have to know HTML that much to create Java applets," DARPA's Schill said. "All you need to do is stitch things together. This is mitigating the issue of needing superstars in programming. The basic code will still have to be written by the superstars, but we are getting into an environment where someone with less skill can do a more creditable job."
It is all part of the slow maturation of the whole software engineering craft, according to Zarrabian. "If software engineering had the same level of maturity as aircraft engineering, life would be very simple: There would be no bugs. But our industry is still rather young; we have a while to go yet."
Most federal integrators and their customers have given object technology a second chance. But in some ways, the jury is still out because many of object technology's benefits do not accrue until after a project is completed.
"It's absolutely vital that we collect metrics," Pross said. "If we don't, how do you know that you've done anything better? Everything we have done so far is based on what we believe will be true in the final analysis."
Lazar is a free-lance writer based in Tenafly, N.J.