Abstract
In this chapter, the application of object-oriented techniques to the modeling and design of hardware for embedded systems is presented. The use of these techniques is an example of cross fertilization from the software domain to the hardware domain. This work brings together several ideas common to both hardware and software, such as state, information hiding, specialization, reuse, families of components, and virtual machines. The potential advantages of object-oriented techniques when applied to hardware design are discussed and illustrated on several examples using C++, which supports user-defined data types and inheritance. It is shown that data decomposition, a decomposition technique based on abstract data types, can be applied recursively to hardware components, supporting complexity management and refinement. A representation that captures this decomposition technique, referred to as the decomposition graph, is also presented.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Smith, C. U., R. R. Gross, “Technology Transfer between VLSI Design and Software Engineering: CAD Tools and Design Methodologies,” Proceedings of the IEEE, Vol. 74, No. 6, June 1986, pp. 875–885.
McFarland, M. C, A. C. Parker, R. Camposano, “The High-level Synthesis of Digital Systems,” Proceedings of the IEEE, Vol. 78, No. 2, 1990, pp. 301–318.
Kumar, S., J. H. Aylor, B. W. Johnson, W. A. Wulf, The Codesign of Embedded Systems: A Unified Hardware/Software Representation, Kluwer Academic Publishers, Dordrecht, The Netherlands, 1996.
Tobias, J. R., “LSI/VLSI Building Blocks,” IEEE Computer, August 1981, pp. 83–101.
Peels, A. J. H. M., “Designing Digital Systems — SSI and MSI vs. LSI and VLSI,” IEEE Micro, April 1987, pp. 66–80.
Stroustrup, B., The C++ Programming Language, 2nd Edition, Addison-Wesley Publishing Company, Reading, Massachusetts, 1991.
Wulf, W., M. Shaw, P. N. Hilfinger, L. Flon, Fundamental Structures of Computer Science, Addison-Wesley Publishing Company, Reading, Massachusetts, 1981.
Liskov, B., J. Guttag, Abstraction and Specification in Program Development, MIT Press, Cambridge, Massachusetts, 1986.
Kumar, S., J. H. Aylor, B. W. Johnson, W. A. Wulf, “Object-Oriented Techniques in Hardware Design,” IEEE Computer, Vol. 27, No. 6, June 1994, pp. 64–70.
Gnu C++ library.
Wynia, T., “RISC and CISC Processors Target Embedded Systems,” Electronic Design, June 27, 1991, pp. 55–70.
Wolfe, A., J. P. Shen, “Flexible Processors: A Promising Application-Specific Processor Design Approach,” Proceedings of the 21st Annual Workshop on Microprogramming and Microarchitectures, 1988, pp. 30–39.
Mulder, H., P. Stravers, “A Flexible VLSI Core for an Adaptable Architecture,” Proceedings of the 22nd Annual Workshop on Microprogramming and Microarchitectures, 1989, pp. 223–231.
Jalote, P., An Integrated Approach to Software Engineering, Springer-Verlag, New York, 1991.
Booch, G., Object-Oriented Analysis and Design with Applications, 2nd Edition, Benjamin/Cummings Publishing Co., Inc., Redwood City, California, 1994.
Williams, R. D. “Class Project Fall 1990,” University of Virginia.
Hoare, C. A. R., “An Axiomatic Basis for Computer Programming,” Communications of the ACM, Vol. 12, No. 3, March 1969, pp. 335–355.
Shaw, A. C, “Reasoning About Time in Higher-Level Language Software,” IEEE Transactions on Software Engineering, Vol. 15, No. 7, July 1989, pp. 875–889.
Davidson, J. W., J. V. Gresh, “Cint: A RISC Interpreter for the C Programming Language,” SIGPLAN ’87 Symposium on Interpreters and Interpretive Techniques, St. Paul, Minnesota, June 24–26, 1987, pp. 189–198.
Meyer, B., “Genericity versus Inheritance,” Proceedings of the Object-Oriented Programming Systems, Languages, and Applications Conference (OOPSLA ’86), September 1986, pp. 391–405.
Cardelli, L., P. Wegner, “On Understanding Types, Data Abstraction, and Polymorphism,” Computing Surveys, Vol. 17, No. 4, December 1985, pp. 471–522.
Khoshafian, S., R. Abnous, Object Orientation: Concepts, Languages, Databases, and User Interfaces, John Wiley and Sons, Inc., New York, 1990.
Wulf, W. A., R. L. London, M. Shaw, “An Introduction to the Construction and Verification of Alphard Programs,” IEEE Transactions on Software Engineering, Vol. SE-2, No. 4, December 1976, pp 253–265.
Parnas, D. L., “On the Design and Development of Program Families,” IEEE Transactions on Software Engineering, Vol. SE-2, No. 1, March 1976, pp. 1–9.
Giloi, W. K., “Towards a Taxonomy of Computer Architectures Based on the Machine Data Type View,” 10th International Symposium on Computer Architecture, 1983, pp. 6–13.
Langdon, Jr., G. G., Computer Design, Computeach Press Inc., San Jose, Ca., 1982.
Müller, W., F. Rammig, “ODICE: Object-Oriented Hardware Description in CAD Environment,” Proceedings of the Ninth International Symposium on Computer Hardware Description Languages and their Applications, J. A. Darringer and F. J. Rammig, eds., Elsevier Science Publishers B. V. (North-Holland), IFIP, 1990, pp. 19–34.
Chung, M. J., S. Kim, “An Object-Oriented VHDL Design Environment,” 27th ACM/IEEE Design Automation Conference, 1990, pp. 431–436.
Nelson, M. L., K. A. Fontes, A. Zaky, “An Object-Oriented Approach to Computer Architecture Simulation,” Proceedings of the 25th Annual Hawaii International Conference on System Sciences (HICSS-25), Vol. 1: Architecture and Emerging Technologies, January 7–10, 1992, Kauai, Hawaii, pp. 476–485.
Covnot, B. M, D. W. Hurst, S. Swamy, “OO-VHDL: An Object-Oriented VHDL,” Proceedings of the fall 1994 VHDL International User’s Forum. (VIUF’94), Tyson’s Corner, Virginia, 1994.
Newton, D. E., P. W. Vaughn, R. P. Johns, “PRISM: An Object-Oriented System Modeling Environment with an Embedded Symbolic Spreadsheet,” Proceedings of the 1991 (23rd) Summer Computer Simulation Conference, July 22–24, 1991, Baltimore, Maryland, pp 81–86.
Scientific Engineering Software, Inc., SES/Workbench User’s Guide, Austin, Texas, April 1989.
Yokote, Y., M. Tokoro, “Concurrent Programming in Concurrent Smalltalk,” in Object-Oriented Concurrent Programming, A. Yonezawa and M. Tokoro, eds., MIT Press, Cambridge, Massachusetts, 1987.
Wolf, W., “Object-Oriented Programming for CAD,” IEEE Design and Test of Computers, March 1991, pp. 35–42.
Gupta, R., W. H. Cheng, R. Gupta, I. Hardonag, M. A. Breuer, “An Object-Oriented VLSI CAD Framework,” IEEE Computer, Volume 22, May 1989, pp. 28–37.
Ledbetter, L., B. Cox, “Software-ICs,” BYTE, June 1985, pp. 307–316.
Setliff, D., E. Kant, T. Cain, “Practical Software Synthesis,” IEEE Software, May 1993, pp. 6–10.
Jalote, P., “Synthesizing Implementations of Abstract Data Types from Axiomatic Specifications,” Software-Practice and Experience, Vol. 17, No. 11, November 1987, pp. 847–858.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1996 Kluwer Academic Publishers
About this chapter
Cite this chapter
Kumar, S., Aylor, J.H., Johnson, B.W., Wulf, W.A. (1996). Object-Oriented Modeling of Hardware for Embedded Systems. In: Bergé, JM., Levia, O., Rouillard, J. (eds) Object-Oriented Modeling. Current Issues in Electronic Modeling, vol 7. Springer, New York, NY. https://doi.org/10.1007/978-1-4613-1349-6_2
Download citation
DOI: https://doi.org/10.1007/978-1-4613-1349-6_2
Publisher Name: Springer, New York, NY
Print ISBN: 978-1-4612-8581-6
Online ISBN: 978-1-4613-1349-6
eBook Packages: Springer Book Archive