Programming from a clean slate.
When software developers create applications using an entirely new approach, engineering departments often can't get on the bandwagon because they can't afford to abandon existing software written in Fortran or C. Recent developments in the engineering software industry, however, may eventually make it easier for engineers to adopt the latest software technology.
Perhaps the most significant development is the increasing use of object-oriented programming (OOP) techniques by software vendors. OOP is already a significant factor in the development of general-purpose software, with both IBM and Microsoft encouraging software vendors to adopt their object-oriented development platforms, SOMobjects Toolkit (from IBM) and Visual C++ and Visual Basic (from Microsoft).
Now, after three to five years of development, three CAD/CAM vendors have announced object-oriented programming toolkits of their own. The software vendors are Cadkey Inc. in Windsor, Conn., which has released OBJECT Developer; Computervision Corp. in Bedford, Mass., which has announced Pelorus (see "Object-Oriented Architecture for MDA" in Computing, page 22); and Matra Datavision in Andover, Mass., which is selling CAS.CADE. (CAS.CADE stands for "computer-aided software engineering for CAD.")
How OOP WORKS
Creating object-oriented programs is roughly analogous to designing with a feature-based CAD/CAM system. When such systems were first introduced, they aroused considerable interest because they were seen as more intuitive than existing approaches. After all, many argued, engineers think in terms of product features (such as cross-head screws and tapped holes), not in terms of the individual lines, circles, and arcs that make up a feature. Thus, it was reasoned, feature-based CAD/CAM programs would allow engineers to manipulate features rather than require them to tediously build them from scratch.
Similarly, many software developers regard OOP as a more intuitive tool than conventional programming techniques because it enables them to work with objects - pieces of existing code that perform a particular function, for example - rather than the individual alphanumeric characters that make up a programming function. As a result, programmers can use pieces of existing codes in new programs, and they can treat programs as a series of reusable modules rather than as a single entity, much as mechanical engineers create families of parts based on a reusable generic design.
While it's unlikely that the majority of mechanical engineers will be creating object-oriented programs themselves (at least in the near future), chances are good that they will be the beneficiaries of such programs in the long term. That's because programs based on OOP will be integrated more easily with existing applications, and they will open the door to more seamless links with general-purpose applications - that is, if OOP delivers on its promises.
Engineering software developers have embraced OOP for a variety of business and technical reasons. CAD/CAM vendors in particular would like to add value to their products by providing modules for as many of the specialized tasks in a product's life cycle as possible. "We want to ship software that follows our customers wherever they want to go - from design through analysis, to manufacturing and beyond," said Michel Vrinat, manager of Matra Datavision's CAS.CADE business unit in Les Ulis, France.
Further, CAD/CAM vendors would like to create specialized systems for different industries. They also see a need to offer such modules on "as many hardware platforms as our customer base demands," said Amy Smith, a program manager at Computervision.
However, even the largest software developers may not have the resources either to develop the full spectrum of specialized programs that their customers need or to port them to all the leading PCs and workstations. By providing software-development toolkits based on OOP (instead of a source code such as Fortran or C), CAD/CAM vendors are making it easier for other software developers - and for themselves - to create specialized applications that work with their CAD/CAM systems. They are also enabling customers with the necessary resources to develop applications that meet their specific needs.
Of course, CAD/CAM vendors have long made traditional programming toolkits available to independent software developers. "OOP toolkits are different," said Smith, "because they can considerably reduce the cost of creating and maintaining applications." Since OOP-based programs can be reused, among other reasons, programmers can shorten software-development cycles significantly. Further, porting such programs to a variety of platforms can be far less costly and time consuming than is the case with traditional techniques.
"The extendability that object-oriented technology provides will make it very easy for application developers to port their code as new hardare arrives," said Usman Rashid, product manager for OBJECT Developer at Cadkey. "If developers base their code on this technology, they won't have to worry about rewriting it in five years."
"Object-oriented technology makes it economically justifiable for companies to create specialized applications that will be used by only a relatively limited number of people," Smith said. As an example, she cited a window manufacturer that developed a proprietary application for making information in its engineering database available to salespeople, who use the data to generate bids for custom orders in significantly less time than was possible before.
While customers will benefit from a wider array of specialized programs if independent software developers embrace the new OOP toolkits, the ability to use the information in engineering databases may be the most significant benefit of all.
"The biggest advantage we provided with our toolkit was an object-oriented database," said Rashid. "Because there is no translation layer between the objects you create in the application and the objects stored on disk, you make it easier for any add-on program to have access to that database." When a user creates an object in a C++ program (the language with which object-oriented programs are usually written), "that object is stored in the database just as it was created," Rashid added. "You don't need any additional processing. That makes add-on programs far more powerful."
These capabilities, in turn, simplify the process of adding product attribute data to geometry when it's stored in a CAD/CAM system's database. "Our customers are now looking more at product modeling than geometric modeling," said Matra Datavision's Vrinat. "On top of the geometry, they want to capture their design intent, design constraints, manufacturing constraints, tolerances, and so on. They also want to manage different versions of their products so they can do configuration control, for example. And that's just the beginning."
"If you have a heterogeneous database, you can extend it to add anything you want to the geometry - multimedia applications, for example," Rashid said. One way companies could put this capability to use, he added, would be to store photographs or videotapes of finished products in an engineering database so that they could be accessed from an electronic sales catalog.
"If the database was set up properly, a customer could look at the dimensions of a product or view a video showing how to install it," Rashid said. "Smart companies will find all sorts of ways like this to use the information stored in their databases."
In addition to making it easier for specialized applications to communicate with an engineering database, OOP may lead to simpler ways of performing higher-order design tasks, according to its advocates. "With object-oriented technology, you can develop programs that help you support an intelligent process model in a more practical way," Vrinat said. "For example, an object-oriented application could make it easier for you to take into account the types of drills available on the shop floor when you define a joining operation."
Here's how it would work. "With an object-oriented approach, it's straightforward to create an object such as a through hole," Vrinat said. "You could set up your application so that it tells you the most appropriate diameter for a hole given the constraints you defined, which could include the available diameters of your drill bits, the orientation of the hole with respect to the face, or the minimum distance of the hole to adjacent faces for a particular product or product family."
Vrinat added, "This is a different way of getting to a parametric or rules-based system. With object-oriented models, you can take into account the complete constraint scenario, which includes not only the parameters, such as variable dimensions, but also some other elements of the design, such as the environment, the finishing, and all the rules that are known by the engineers and that you want to implement on the model - even the time to delivery."
A NEW ROLE FOR SOFTWARE
Although a number of ambitious engineering projects are now being conducted with the aid of OOP toolkits, much work must be done before these tools meet their lofty goals. Users have been burned many times in the past by approaches that made sweeping promises, and they will no doubt be wary as they implement this and other new technologies.
Even so, the increasing adoption of object-oriented technology is slowly changing the way software is created and used, and it could have a profound impact on the CAD/CAM vendors themselves. "Reusable objects will definitely change the way we do business," Vrinat said. "Today, you have companies building computer chips, and many other companies package these chips for many different applications - in computers, for example, or washing machines. This is becoming true for software vendors, as well. We are becoming software factories, and we can provide software components to a very wide variety of industries and applications, just as the chip makers do."
|Printer friendly Cite/link Email Feedback|
|Date:||Apr 1, 1995|
|Previous Article:||A new spin on the rotary engine.|
|Next Article:||Bringing engineers into the mainstream.|