skip to main content
article
Free Access

Axiomatic proof rules for a machine-specific microprogramming language

Published:01 December 1983Publication History
Skip Abstract Section

Abstract

In recent years, much effort has been devoted to the design and implementation of high level microprogramming languages. One of the goals for such languages is to facilitate the formal verification of microprograms using Hoare's inductive assertion method. Essential to the use of this method is an axiomatic definition of the microprogramming language.In this paper, we describe the axiomatization of the machine dependent microprogramming language S*(QM-1) [12]. This language is an instantiation of the machine independent language schema S* [3,4], for the Nanodata QM-1 "nanolevel" architecture. We show that, in spite of the complexity of the QM-1, with its variety of side-effects and special conditions, a small and uniform set of proof rules can be constructed.

References

  1. Berg, H. K., "Correctness of Firmware - An Overview," Firmware Engineering, W. Giloi (Ed), Springer-Verlag, New York (1980).]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Carter, W. C., Joyner W. H., and Brand D., "Microprogram Verification Considered Necessary," Proc. Natl. Comput. Conf., pp. 657--664 AFIPS Press, (1978).]]Google ScholarGoogle Scholar
  3. Dasgupta, S., "Towards a Microprogramming Language Schema," Proc. 11th Annual Microprogramming Workshop, MICRO 11, pp. 144--153 ACM/IEEE, (1978).]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Dasgupta, S., "Some Aspects of High-Level Microprogramming," ACM Computing Surveys vol. 12 (3) pp. 295--324 ACM, (1980).]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Davidson, S., "High Level Microprogramming - Current Usage, Future Prospects," Proc. 16th Annual Workshop on Microprogramming, IEEE Comp. Soc. Press, N.Y.]]Google ScholarGoogle Scholar
  6. Dijkstra, E. W., A Discipline of Programming, Prentice-Hall, Englewood Cliffs, N.J. (1976).]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Flynn M. J. and Rosin R. F., "Microprogramming: An Introduction and Viewpoint," IEEE Trans Comput. Vol. c-20(7) pp. 727--731 (July 1971).]]Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Floyd R. W., "Assigning Meanings to Programs," Mathematical Aspects of Computer Science Vol. xix, pp. 19--32 Amer. Math. Soc., (1967).]]Google ScholarGoogle ScholarCross RefCross Ref
  9. Gries, D. G., The Science of Programming, Springer-Verlag, New York (1981).]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Hoare, C. A. R., "An Axiomatic Basis for Computer Programming," Comm. ACM, 12, 10, pp. 576--583 (1969).]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Hoare, C. A. R. and Wirth, N., "An Axiomatic Definition of the Programming Language Pascal," Acta Informatica, Vol. 2 pp. 335--355 (1973).]]Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Klassen, A. and Dasgupta, S., "S*(QM-1): An Instantiation of the High Level Microprogramming Language Schema S* for the Nanodata QM-1," Proc: 14th Annual Microprogramming Workshop MICRO 14, pp. 124--130 IEEE Comput. Soc. Press, (1981).]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Kornerup, P. and Shriver, S. D., "An Overview of the MATHILDA System," SIGMICRO NEWSLETTER (ACM) Vol. 5(4) pp. 25--53 (Jan. 1975).]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Kraley, M. et al, "Design of a User Microprogrammable Building Block," Proc. 13th Annual Workshop on Microprogramming, pp. 106--114 IEEE Comput. Soc. Press, (1980).]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Leeman, G. B., Carter, W. C., and Birman, A., "Some Techniques for Microprogram Validation," Information Processing 74 (Pro c. IFIP Congress), pp. 76--80 North-Holland, (1974).]]Google ScholarGoogle Scholar
  16. Mueller, R. A. and Varghese, J., "Formal Semantics for the Automated Derivation of Microcode," Proc. 19th Design Automation Conf., Las Vegas, 1982.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Nanodate Corporation, QM-1 Hardware Users Manual, Third Edition, Revision 1, Nanodata Corporation, Buffalo, N.Y. (1979).]]Google ScholarGoogle Scholar
  18. Patterson, D. A., "STRUM: Structured Microprogram Development System for Correct Firmware," IEEE Trans. Comput., C-25, 10, Oct. 1976.]]Google ScholarGoogle Scholar
  19. Sint, M., "A Survey of High Level Microprogramming Languages," Proc. 13th Annual Workshop on Microprogramming, IEEE Computer Society Press, 1980, 141--153.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Stritter, S. and Tredennick, N., "Microprogrammed Implementation of a Single Chip Micro processor," Proc. 11th Annual Workshop on Microprogramming MICRO 11, pp. 8--16 ACM/IEEE, (1978).]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Wagner, A., "Verification of S* (QM-1) Microprograms," M.Sc. Thesis, Dept. of Computing Science, University of Alberta, Edmonton, Alberta, Canada (1983).]]Google ScholarGoogle Scholar
  22. Wagner, A. and Dasgupta, S., "The Use of Hoare Logic in the Verification of Horizontal Microprograms," Dept. of Computer Science, University of Southwestern Louisiana, Lafayette, LA, April 1983.]]Google ScholarGoogle Scholar

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in

Full Access

  • Published in

    cover image ACM SIGMICRO Newsletter
    ACM SIGMICRO Newsletter  Volume 14, Issue 4
    December 1983
    205 pages
    ISSN:1050-916X
    DOI:10.1145/1096419
    Issue’s Table of Contents

    Copyright © 1983 Authors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 1 December 1983

    Check for updates

    Qualifiers

    • article

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader
About Cookies On This Site

We use cookies to ensure that we give you the best experience on our website.

Learn more

Got it!