, VP Technologies, Inc. and Georgia Institute of Technology
Pages: pp. 15-16
An electronic product may need reengineering for a number of reasons related explicitly or implicitly to the passage of time. It needs reengineering if its requirements (what it does) change over time or if its specifications (how it does it) must change. The availability of newer and better architectures (processors, interconnections, software/hardware, and interface blocks) can also motivate the reengineering of a product. Newer technologies can result in a better form and fit specification, requiring that the legacy product be reengineered. In the commercial arena, manufacturers must reengineer their products to provide new features required by customers, to incorporate newer technologies and standards, or to reduce cost and increase value. Short times to market often force them to reengineer products in a span of months. In the military arena, products (for example, a radar system) often need reengineering over a relatively longer life span as parts become obsolete.
Whatever the reason for reengineering, time pressures increasingly demand design techniques that allow products to be reengineered efficiently, with as much reuse of functionality, architecture, and technology as possible. Design for reengineering must combine design reuse with the rapid integration of several diverse building blocks at various abstraction levels.
Figure 1 contrasts the forward and reengineering design flows. The main difference is the latter's inclusion of the abstraction activity, which facilitates a reverse link between lower and higher levels of design. A reengineering-based design paradigm requires that products can be upgraded for function, form, fit, or technology rapidly and efficiently.
Figure 1 Forward design flow (a) and reengineering design flow (b).
This special issue offers several perspectives on the reengineering process. In "Dealing with Obsolete Parts," Stogdill addresses reengineering from the standpoint of military electronic systems. He describes the parts obsolescence problems faced by military system managers and outlines a promising US Air Force initiative aimed at developing a systematic, cost-efficient obsolescence management approach.
An important part of reengineering is the abstraction process (often called design intent recovery). "Understanding Integrated Circuits" by Chisholm, Eckmann, Lain, and Veroff describes recent theoretical and practical developments in reverse engineering as applied to design intent recovery. The authors explain how syntactic and semantic algorithms can automate this part of the reverse-engineering process.
In "Reengineering Legacy Embedded Systems," Jung, Khan, Kim, Finnessy, and I describe the use of virtual prototyping in reengineering. The virtual prototyping process depends on the availability of libraries of models at multiple levels of design abstraction. Designers can develop and use these models in an integrated environment targeted for rapid and cost-effective system upgrades.
With rapidly diminishing times to market, designers of each succeeding generation of products will probably rely on extensive reuse of past products. They will also need the ability to rapidly integrate heterogeneous hardware and software components that represent the best practice for the application under design. In "System on Chip or System on Package," Tummala and I suggest that the SOC paradigm soon may face significant barriers to successful electronic product realization, and the newer SOP paradigm may provide a higher return on investment. The SOP paradigm facilitates rapid integration of components with relatively minor loss of efficiency or performance, compared to the SOC paradigm.
Reengineering-based design promises to be the paradigm of choice for future electronic systems, and this special issue represents a step in that direction. My hope is that this paradigm facilitates the next breakthrough required from the EDA community to ensure that system-level design and test become a reality by the end of the millennium.