Skip to main content

Machine structure oriented control code logic

Abstract

Control code is a concept that is closely related to a frequently occurring practitioner’s view on what is a program: code that is capable of controlling the behaviour of some machine. We present a logical approach to explain issues concerning control codes that are independent of the details of the behaviours that are controlled. Using this approach, such issues can be explained at a very abstract level. We illustrate this among other things by means of an example about the production of a new compiler from an existing one. The approach is based on abstract machine models, called machine structures. We introduce a model of systems that provide execution environments for the executable codes of machine structures and use it to go into portability of control codes.

This is a preview of subscription content, access via your institution.

References

  1. Aho A.V., Ullman J.D.: Principles of Compiler Design. Addison-Wesley, Reading (1977)

    Google Scholar 

  2. Aycock J.: A brief history of just-in-time. ACM Comput. Surv. 35(2), 97–113 (2003)

    Article  Google Scholar 

  3. Bergstra, J.A.: Machine function based control code algebras. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.P. (eds.) FMCO 2003, Lecture Notes in Computer Science, vol. 3188, pp. 17–41. Springer-Verlag (2004)

  4. Bergstra, J.A., Bethke, I.: Polarized process algebra and program equivalence. In: Baeten, J.C.M., Lenstra, J.K., Parrow, J., Woeginger, G.J. (eds.) Proceedings 30th ICALP, Lecture Notes in Computer Science, vol. 2719, pp. 1–21. Springer-Verlag (2003)

  5. Bergstra J.A., Klint P.: About “trivial” software patents: the IsNot case. Sci. Comput. Program. 64(3), 264–285 (2006)

    Article  MathSciNet  Google Scholar 

  6. Bergstra J.A., Loots M.E.: Program algebra for sequential code. J. Log. Algebraic Program. 51(2), 125–156 (2002)

    Article  MATH  MathSciNet  Google Scholar 

  7. Bergstra J.A., Middelburg C.A.: Thread algebra with multi-level strategies. Fundam. Inform. 71(2–3), 153–182 (2006)

    MATH  MathSciNet  Google Scholar 

  8. Bergstra, J.A., Middelburg, C.A.: Machine structure oriented control code logic. Computer Science Report 07-10, Department of Mathematics and Computer Science, Eindhoven University of Technology (2007)

  9. Bergstra J.A., Ponse A.: Combining programs and state machines. J. Log. Algebraic Program. 51(2), 175–192 (2002)

    Article  MATH  MathSciNet  Google Scholar 

  10. Bergstra J.A., Ponse A.: Execution architectures for program algebra. J. Appl. Log. 5(1), 170–192 (2007)

    Article  MATH  MathSciNet  Google Scholar 

  11. Bratman H.: An alternate form of the UNCOL diagram. Commun. ACM 4(3), 142 (1961)

    Article  Google Scholar 

  12. Delen G.: Decision and control factors for IT-sourcing. In: Bergstra, J.A., Burgess, M. (eds) Handbook of Network and Systems Administration, pp. 929–946. Elsevier, Amsterdam (2007)

    Google Scholar 

  13. Earley J., Sturgis H.: A formalism for translator interactions. Commun. ACM 13(10), 607–617 (1970)

    Article  MATH  Google Scholar 

  14. Fokkink W.J.: Introduction to Process Algebra. Texts in Theoretical Computer Science, An EATCS Series. Springer-Verlag, Berlin (2000)

    Google Scholar 

  15. Gosling J., Joy B., Steele G., Bracha G.: The Java Language Specification. 2nd edn. Addison-Wesley, Reading (2000)

    Google Scholar 

  16. Hejlsberg A., Wiltamuth S., Golde P.: C# Language Specification. Addison-Wesley, Reading (2003)

    Google Scholar 

  17. Hoare C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)

    MATH  Google Scholar 

  18. Janlert L.E.: Dark programming and the case for the rationality of programs. J. Appl. Log. 6(4), 545–552 (2008)

    Article  Google Scholar 

  19. Lindholm T., Yellin F.: The Java Virtual Machine Specification. Addison-Wesley, Reading (1996)

    Google Scholar 

  20. Loh L., Venkatraman N.: Diffusion of information technology outsourcing, influence sources and the Kodak effect. Inform. Syst. Res. 3(4), 334–358 (1992)

    Article  Google Scholar 

  21. Milner R.: Communication and Concurrency. Prentice-Hall, Englewood Cliffs (1989)

    MATH  Google Scholar 

  22. Poole, P.C., Waite, W.M.: Portability and adaptability. In: Bauer, F.L. (ed.) Software Engineering, An Advanced Course. Lecture Notes in Computer Science, vol. 30, pp. 183–277. Springer-Verlag (1975)

  23. Tanenbaum A.S., Klint P., Bohm W.: Guidelines for software portability. Softw. Pract. Exp. 8, 681–698 (1978)

    Article  MATH  Google Scholar 

  24. Verhoef C.: Quantitative aspects of outsourcing deals. Sci. Comput. Program. 56(3), 275–313 (2005)

    Article  MathSciNet  Google Scholar 

  25. Watkins D., Hammond M., Abrams B.: Programming in the .NET Environment. Addison-Wesley, Reading (2003)

    Google Scholar 

  26. Wirth N.: Theory and Techniques of Compiler Construction. Addison-Wesley, Reading (1996)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to C. A. Middelburg.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Bergstra, J.A., Middelburg, C.A. Machine structure oriented control code logic. Acta Informatica 46, 375–401 (2009). https://doi.org/10.1007/s00236-009-0099-2

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00236-009-0099-2

Keywords