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.
- Berg, H. K., "Correctness of Firmware - An Overview," Firmware Engineering, W. Giloi (Ed), Springer-Verlag, New York (1980).]] Google Scholar
Digital Library
- Carter, W. C., Joyner W. H., and Brand D., "Microprogram Verification Considered Necessary," Proc. Natl. Comput. Conf., pp. 657--664 AFIPS Press, (1978).]]Google Scholar
- Dasgupta, S., "Towards a Microprogramming Language Schema," Proc. 11th Annual Microprogramming Workshop, MICRO 11, pp. 144--153 ACM/IEEE, (1978).]] Google Scholar
Digital Library
- Dasgupta, S., "Some Aspects of High-Level Microprogramming," ACM Computing Surveys vol. 12 (3) pp. 295--324 ACM, (1980).]] Google Scholar
Digital Library
- Davidson, S., "High Level Microprogramming - Current Usage, Future Prospects," Proc. 16th Annual Workshop on Microprogramming, IEEE Comp. Soc. Press, N.Y.]]Google Scholar
- Dijkstra, E. W., A Discipline of Programming, Prentice-Hall, Englewood Cliffs, N.J. (1976).]] Google Scholar
Digital Library
- 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 Scholar
Digital Library
- Floyd R. W., "Assigning Meanings to Programs," Mathematical Aspects of Computer Science Vol. xix, pp. 19--32 Amer. Math. Soc., (1967).]]Google Scholar
Cross Ref
- Gries, D. G., The Science of Programming, Springer-Verlag, New York (1981).]] Google Scholar
Digital Library
- Hoare, C. A. R., "An Axiomatic Basis for Computer Programming," Comm. ACM, 12, 10, pp. 576--583 (1969).]] Google Scholar
Digital Library
- Hoare, C. A. R. and Wirth, N., "An Axiomatic Definition of the Programming Language Pascal," Acta Informatica, Vol. 2 pp. 335--355 (1973).]]Google Scholar
Digital Library
- 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 Scholar
Digital Library
- Kornerup, P. and Shriver, S. D., "An Overview of the MATHILDA System," SIGMICRO NEWSLETTER (ACM) Vol. 5(4) pp. 25--53 (Jan. 1975).]] Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- Mueller, R. A. and Varghese, J., "Formal Semantics for the Automated Derivation of Microcode," Proc. 19th Design Automation Conf., Las Vegas, 1982.]] Google Scholar
Digital Library
- Nanodate Corporation, QM-1 Hardware Users Manual, Third Edition, Revision 1, Nanodata Corporation, Buffalo, N.Y. (1979).]]Google Scholar
- Patterson, D. A., "STRUM: Structured Microprogram Development System for Correct Firmware," IEEE Trans. Comput., C-25, 10, Oct. 1976.]]Google Scholar
- Sint, M., "A Survey of High Level Microprogramming Languages," Proc. 13th Annual Workshop on Microprogramming, IEEE Computer Society Press, 1980, 141--153.]] Google Scholar
Digital Library
- 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 Scholar
Digital Library
- Wagner, A., "Verification of S* (QM-1) Microprograms," M.Sc. Thesis, Dept. of Computing Science, University of Alberta, Edmonton, Alberta, Canada (1983).]]Google Scholar
- 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 Scholar
Recommendations
Proof rules for the programming language Euclid
In the spirit of the previous axiomatixation of the programming language Pascal, this paper describes Hoare-style proof rules for Euclid, a programming language intended for the expression of system programs which are to be verified. All constructs of ...
MicroTAL - a machine-dependent, high-level microprogramming language
The design and implementation of a high-level microprogramming language is described. The language is a subset of an existing systems programming language, TAL, which allows algorithms to be written and debugged using that language. The procedure may ...
Declaratively defining domain-specific language debuggers
GCPE '11Tool support is vital to the effectiveness of domain-specific languages. With language workbenches, domain-specific languages and their tool support can be generated from a combined, high-level specification. This paper shows how such a specification ...






Comments