Analogy categories, virtual machines, and structured programming

  • B. R. Gaines
Logische Systeme
Part of the Lecture Notes in Computer Science book series (LNCS, volume 34)


This paper arises from a number of studies of machine/problem relationships, software development techniques, language and machine design. It develops a category-theoretic framework for the analysis of the relationships between programmer, virtual machine, and problem that are inherent in discussions of "ease of programming", "good programming techniques", "structured programming", and so on. The concept of "analogy" is introduced as an explicatum of the comprehensibility of the relationship between two systems. Analogy is given a formal definition in terms of a partially ordered structure of analogy categories whose minimal element is a "truth" or "proof" category. The theory is constructive and analogy relationships are computable between defined systems, or classes of system. Thus the structures developed may be used to study the relationships between programmer, problem, and virtual machine in practical situations.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

5. References

  1. 1.
    Elspas, B., Levitt, K.N., Waldinger, R.J. and Waksmann, A., "An assessment of techniques for proving program correctness", ACM Comp. Surveys, Vol. 4, pp. 97–147, June 1972.Google Scholar
  2. 2.
    Foster, J.M. and Elcock, E.W., "Absys 1: an incremental compiler for assertions; an introduction", in Meltzer, B. and Michie, D., Machine Intelligence 4, pp. 423–429, Edinburgh: University Press 1969.Google Scholar
  3. 3.
    Chang, C.L. and Lee, C.T.L., Symbolic Logic and Mechanical Theorem Proving, New York: Academic Press 1973.Google Scholar
  4. 4.
    Arbib, M.A. and Manes, E.G., "Foundations of system theory", Automatica, Vol. 10, pp. 285–302, 1974.Google Scholar
  5. 5.
    Bobrow, L.S. and Arbib, M.A., Discrete mathematics, Ch. 9, Philadelphia: Saunders, 1974.Google Scholar
  6. 6.
    Holt, A.W., "Introduction to occurrence systems", in Jacks, E.L. (ed.) Associative Information Techniques, New York: Elsevier, 1968.Google Scholar
  7. 7.
    Scott, D., "The lattice of flow diagrams", in Dold, A. and Eckmann, B. (eds) Symposium on the semantics of algorithmic languages, pp. 311–366, Berlin: Springer, 1971.Google Scholar
  8. 8.
    Goguen, J.A., "Semantics of computation", in Proc. 1st Int. Symp. on Category Theory Applied to Computation and Control, Massachusetts, February 1974.Google Scholar
  9. 9.
    Dahl, O.J., Dijkstra, E.W. and Hoare, C.A.R., Structured Programming, New York: Academic Press, 1972.Google Scholar
  10. 10.
    Goldberg, R.P., "Survey of virtual machine research", Computer, Vol. 7, pp. 34–35, June 1974.Google Scholar
  11. 11.
    Popek, G.J. and Goldberg, R.P., "Formal requirements for virtualizable third generation architectures", Comm. ACM, Vol. 17, pp. 412–421, July 1974.Google Scholar
  12. 12.
    Gaines, B.R., "Varieties of computer — their applications and interrelationships", IFAC Symposium, Budapest, April 1968.Google Scholar
  13. 13.
    Goguen, J.A., "System theory concepts in computer science", Proc. 6th Hawaii Int. Conf. on System Sciences, pp. 77–80, 1973.Google Scholar
  14. 14.
    Goguen, J.A., "Systems and minimal realization", Proc. IEEE Conf. on Decision and Control, pp. 42–46, 1971.Google Scholar
  15. 15.
    Goguen, J.A., "Realization is universal", Math. Syst. Theory, Vol. 6, pp. 359–374, 1973.Google Scholar
  16. 16.
    Goguen, J.A., "Concept representation in natural and artificial languages: axioms, extensions, and applications for fuzzy sets", Int. J. Man-Machine Studies, Vol. 6, pp. 513–561, September 1974.Google Scholar
  17. 17.
    Milner, R., "An algebraic definition of simulation between programs", Proc. 2nd Int. Joint Conf. on Artificial Intelligence, London: British Computer Society, pp. 481–489, 1971.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1975

Authors and Affiliations

  • B. R. Gaines
    • 1
  1. 1.Man-Machine Systems Laboratory, Dept. of Electrical Engineering ScienceUniversity of EssexColchesterU.K.

Personalised recommendations