Towards a Uniform Design Methodology for Software, Firmware, and Hardware

  • Helmut K. Berg
Conference paper
Part of the Informatik-Fachberichte book series (INFORMATIK, volume 36)


Over the last two decades, drastic changes in computer technologies had an enormous impact on the computer system design scenario. To cope with the implications of these changes, designers must strive for new approaches to computer system design. These approaches must lead to methods for analyzing design tradeoffs in the context of changing technologies and expanding applications as well as to methods for synthesizing application-driven system designs that economically use the multitude of potentials offered by new technologies. Moreover, modern approaches to system design integrate software, firmware, and hardware development into design methodologies which allow these major components of system implementation to be tailored such as to optimize their contribution to the evnisioned application and system performance. In this paper we attempt to indicate how principles and concepts of software, firmware, and hardware design might be integrated into a uniform design methodology. Our considerations are primarily concerned with formal methods. We do not intend to propose the ideas presented in this paper as the ultimate approach to integrated system design.


Software Design Computer Architecture Deductive System Hardware Component Abstract Machine 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Myers, W., “The Need for Software Engineering”, Computer, Vol. 11, No. 2, 1978, pp. 12–26.CrossRefGoogle Scholar
  2. [2]
    NATO, “NATO Science Committee Report on Software Engineering”, Randell and Naur (eds.), NATO Science Affairs Division, Brussels, 1969.Google Scholar
  3. [3]
    Special Issue, “Firmware Engineering”, Computer, Vol. 11, No. 5, 1978.Google Scholar
  4. [4]
    Giloi, W. K., “Rechnerarchitekturen”, Course Notes, Technical University of Berlin, 1978.Google Scholar
  5. [5]
    Berg, H. K.; Boyd, D. L., “Notions in Computer Architecture”, Proc. Honeywell Computer Architecture Workshop, Minneapolis, June 1978.Google Scholar
  6. [6]
    Boyd, D. L.; Pizzarello, A.; Vestal, S. C, “Rational Design Methodology”, Honeywell Inc., Corporate Computer Sciences Center, Systems & Research Center, Report No. HR-78–257:17–38, 1978.Google Scholar
  7. [7]
    Parnas, D. L., “On the Criteria to be Used in Decomposing Systems into Modules”, Comm. of the ACM, Vol. 15, No. 12, 1972, pp. 1053–1058.CrossRefGoogle Scholar
  8. [8]
    Boyd, D. L.; Pizzarello, A.; Wood, W. T., “An Overview of RDM: Rational Design Methodology”, this volume.Google Scholar
  9. [9]
    Boyd, D. L.; Pizzarello, A.; Wood, W. T., “Abstraction and Refinement in RDM”, this volume.Google Scholar
  10. [10]
    Levitt, K. N.; Neumann, P. G.; Robinson, L., “The SRI Hierarchical Development Methodology (HDM) and its Application to the Development of Secure Software”, this volume.Google Scholar
  11. [11]
    Berg, H. K., “Correctness of Firmware — An Overview”, presented at the Seminar on the Use of Formal Specification of Software and Firmware, Berlin, June 1979.Google Scholar
  12. [12]
    Berg, H. K.; Franta, W. R.; Moher, T. G., “Software Correctness — An Overview”, this volume.Google Scholar
  13. [13]
    Dijkstra, E. W., “A Discipline of Programming”, Prentice Hall, Inc., Englewood Cliffs, NJ., 1976.MATHGoogle Scholar
  14. [14]
    Moriconi, M. S., “Interactive Design and Verification: A Message Switching Network Example”, this volume.Google Scholar
  15. [15]
    Berg, H. K.; Giloi, W. K., “Hierarchical Specification of Abstract Data Types”, this volume.Google Scholar
  16. [16]
    Ross, D. T., “Structured Analysis (SA): A Language for Communicating Ideas”, IEEE Trans. on Software Engineering, Vol. 3, No. 1, 1977, PP. 16–34.CrossRefGoogle Scholar
  17. [17]
    Franta, W. R.; Boebert, W. E.; Berg, H. K., “An Approach to the Specification of Distributed Software”, this volume.Google Scholar
  18. [18]
    Giloi, W. K., “The Hardware/Firmware Specification System APL*DS”, presented at the Seminar on the Use of Formal Specification of Software and Firmware, Berlin, June 1979.Google Scholar
  19. [19]
    Wegbreit, B., “Verifying Program Performances”, Journal of the ACM, Vol. 23, No. 4, 1976, pp. 691–699.MathSciNetMATHCrossRefGoogle Scholar
  20. [20]
    Berg, H. K., “Firmware Fundamentals”, Course Notes, Technical University of Berlin, 1979.Google Scholar
  21. [21]
    Gonzales, M. J., Jr., “Workshop Report: Future Directions in Computer Architecture”, Computer, Vol. 11, No. 3, 1978, pp. 54–62.CrossRefGoogle Scholar
  22. [22]
    Berg, H. K.; Franta, W. R., “An Approach to Firmware Engineering Disciplines”, submitted to the IFIP Working Conference on Firmware, Microprogramming and Restructurable Hardware, Linz, Austria, May 1980.Google Scholar
  23. [23]
    Hoare, C. A. R., “An Axiomatic Approach to Computer Programming”, Comm. of the ACM, Vol. 12, No. 10, 1969, pp.576–583.MATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1980

Authors and Affiliations

  • Helmut K. Berg
    • 1
    • 2
  1. 1.Technical University of BerlinGermany
  2. 2.University of MinnesotaUSA

Personalised recommendations