Published in Volume XVII, 2007, pages 47-81

Authors: J. A. Bergstra and C. A. Middelburg

Abstract

PGA (ProGram Algebra) is an algebra of programs which concerns programs in their simplest form: sequences of instructions. Molecular dynamics is a simple model of computation developed in the setting of PGA, which bears on the use of dynamic data structures in programming.

Full Text (PDF)

References

[1] J.A. Bergstra and I. Bethke. Molecular dynamics, Journal of Logic and Algebraic Programming, Vol. 51, pp. 193-214, 2002.

[2] J.A. Bergstra, I. Bethke. Polarized process algebra and program equivalence, in J.C.M. Baeten, J.K. Lenstra, J. Parrow, G.J. Woeginger (editors), Proceedings 30th ICALP, Lecture Notes in Computer Science Vol. 2719, pp. 1-21, Springer-Verlag, Berlin, 2003.

[3] J.A. Bergstra, M.E. Loots. Program algebra for sequential code, Journal of Logic and Algebraic Programming, Vol. 51, pp. 125-156, 2002.

[4] J.A. Bergstra and C.A. Middelburg. Instruction sequences with indirect jumps, Scientific Annals of Computer Science, in press, 2007.

[5] J.A. Bergstra, C.A. Middelburg. Thread algebra with multi-level strategies, Fundamenta Informaticae, Vol. 71, pp. 153-182, 2006.

[6] J.A. Bergstra and C.A. Middelburg. A thread calculus with molecular dynamics, Computer Science Report 06-24, Department of Mathematics and Computer Science, Eindhoven University of Technology, Eindhoven, 2006.

[7] J.A. Bergstra and C.A. Middelburg. Instruction sequences with dynamically instantiated instructions, Electronic Report PRG0710, Programming Research Group, University of Amsterdam, Amsterdam, 2007.

[8] J.A. Bergstra, C.A. Middelburg. Thread algebra for strategic interleaving, Formal Aspects of Computing, Vol. 19, pp. 445-474, 2007.

[9] J.A. Bergstra, A. Ponse. Combining programs and state machines, Journal of Logic and Algebraic Programming, Vol. 51, pp. 175-192, 2002.

[10] W.J. Fokkink. Introduction to Process Algebra, Texts in Theoretical Computer Science, An EATCS Series, Springer-Verlag, Berlin, 2000.

[11] A. Hejlsberg, S. Wiltamuth, P. Golde. C# Language Specification, Addison-Wesley, Reading, Massachusetts, 2003.

[12] A. Ponse and M.B. van der Zwaag. An introduction to program and thread algebra, in A. Beckmann et al. (editors), CiE 2006, Lecture Notes in Computer Science Vol. 3988, pp. 445-458, Springer-Verlag, Berlin, 2006.

[13] D. Sannella, A. Tarlecki. Algebraic preliminaries, in E. Astesiano, H.-J. Kreowski, B. Krieg-Br¨uckner (editors), Algebraic Foundations of Systems Specification, pp. 13-30, Springer-Verlag, Berlin, 1999.

[14] M. Wirsing. Algebraic specification, in J. van Leeuwen (editor), Handbook of Theoretical Computer Science, Vol. B, pp. 675-788, Elsevier, Amsterdam, 1990.

[15] N. Wirth. The programming language PASCAL, Acta Informatica, Vol. 1, pp. 35-63, 1971.

Bibtex

@article{sacscuza:bergstra2007paiumd,
  title={Programming an Interpreter Using Molecular Dynamics},
  author={J. A. Bergstra and C. A. Middelburg},
  journal={Scientific Annals of Computer Science},
  volume={17},
  organization={``A.I. Cuza'' University, Iasi, Romania},
  year={2007},
  pages={47--81},
  publisher={``A.I. Cuza'' University Press}
}