Abstract
This chapter overviews the motivation, guiding principles and main concepts used in the book. It starts by explaining the role of formal semantics and different approaches to its definition, then briefly touches on some important subjects covered in the book, such as domain theory and induction principles, and it is concluded by an explanation of the content of each chapter, together with a list of references to the literature for studying some topics in more depth or for using some companion textbooks in conjunction with the current text.
It is not necessary for the semantics to determine an implementation, but it should provide criteria for showing that an implementation is correct. (Dana Scott)
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Samson Abramsky and Achim Jung. Domain theory. In S. Abramsky, D.M. Gabbay, and T.S.E. Maibaum, editors, Handbook of Logic in Computer Science, volume 3, pages 1–168. Clarendon Press, Oxford, 1994.
Luca Aceto, Anna Ingόlfsdόttir, Kim Guldstrand Larsen, and Jirί Srba. Reactive Systems: Modelling, Specification and Verification. Cambridge University Press, New York, 2007.
Luca Aceto, Anna Ingόlfsd´ottir, and Jirί Srba. The algorithmics of bisimilarity. In Davide Sangiorgi and Jan Rutten, editors, Advanced Topics in Bisimulation and Coinduction, pages 100–172. Cambridge University Press, 2011. Cambridge Books Online.
Christel Baier and Joost-Pieter Katoen. Principles of Model Checking. MIT Press, Cambridge, 2008.
B.A. Davey and H.A. Priestley. Introduction to Lattices and Order. Cambridge University Press, Cambridge, 2002.
Véronique Donzeau-Gouge, Gilles Kahn, and Bernard Lang. On the formal definition of ADA. In Neil D. Jones, editor, Semantics-Directed Compiler Generation, Proceedings of a Workshop, Aarhus, Denmark, January 14-18, 1980, volume 94 of Lecture Notes in Computer Science, pages 475–489. Springer, Berlin, 1980.
Maribel Fern´andez. Programming Languages and Operational Semantics - A Concise Overview. Undergraduate Topics in Computer Science. Springer, Berlin, 2014.
Robert W. Floyd. Assigning meanings to programs. In J. T. Schwartz, editor, Mathematical Aspects of Computer Science, volume 19 of Proceedings of Symposia in Applied Mathematics, pages 19–32. American Mathematical Society, Providence, 1967.
Stephen Gilmore and Jane Hillston. The PEPA workbench: A tool to support a process algebra-based approach to performance modelling. In Günter Haring and Gabriele Kotsis, editors, Computer Performance Evaluation, Modeling Techniques and Tools, 7th International Conference, Vienna, Austria, May 3-6, 1994, Proceedings, volume 794 of Lecture Notes in Computer Science, pages 353–368. Springer, Berlin, 1994.
M.J.C. Gordon. The Denotational Description of Programming Languages: An Introduction. Springer, Berlin, 1979.
Roberto Gorrieri and Cristian Versari. Introduction to Concurrency Theory - Transition Systems and CCS. Texts in Theoretical Computer Science. An EATCS Series. Springer, Berlin, 2015.
Matthew Hennessy. The Semantics of Programming Languages: An Elementary Introduction Using Structural Operational Semantics. Wiley, New York, 1990.
Jane Hillston. Compositional Markovian modelling using a process algebra. In William J. Stewart, editor, Computations with Markov Chains: Proceedings of the 2nd International Workshop on the Numerical Solution of Markov Chains, pages 177–196. Springer, Berlin, 1995.
Jane Hillston. A Compositional Approach to Performance Modelling. Cambridge University Press, New York, 1996.
C. A. R. Hoare. An axiomatic basis for computer programming. Commun. ACM, 12(10):576–580, 1969.
Gilles Kahn. Natural semantics. In Franz-Josef Brandenburg, Guy Vidal-Naquet, and Martin Wirsing, editors, STACS 87, 4th Annual Symposium on Theoretical Aspects of Computer Science, Passau, Germany, February 19-21, 1987, Proceedings, volume 247 of Lecture Notes in Computer Science, pages 22–39. Springer, Berlin, 1987.
Richard Kelsey, William D. Clinger, and Jonathan Rees, editors. Revised report on the algorithmic language Scheme. SIGPLAN Notices, 33(9):26–76, 1998.
Giacomo Lenzi. The modal μ-calculus: a survey. TASK Quarterly, 9(3):293–316, 2005.
John McCarthy. Recursive functions of symbolic expressions and their computation by machine, part I. Commun. ACM, 3(4):184–195, 1960.
Robin Milner. Communication and Concurrency. PHI Series in Computer Science. Prentice Hall, Upper Saddle River, 1989.
Robin Milner. Communicating and Mobile Systems - the π-calculus. Cambridge University Press, New York, 1999.
Robin Milner, Mads Tofte, and Robert Harper. Definition of Standard ML. MIT Press, Cambridge, 1990.
John C. Mitchell. Foundations for Programming Languages. Foundation of Computing Series. MIT Press, Cambridge, 1996.
Hanne Riis Nielson and Flemming Nielson. Semantics with Applications - a Formal Introduction. Wiley Professional Computing. Wiley, New York, 1992.
Prakash Panangaden. Labelled Markov Processes. Imperial College Press, London, 2009.
Frank Pfenning. Logic programming, 2007. Lecture notes. Available at http://www.cs.cmu.edu/˜fp/courses/lp/.
Benjamin C. Pierce. Types and Programming Languages. MIT Press, Cambridge, 2002.
Gordon D. Plotkin. A Structural Approach to Operational Semantics. Technical Report DAIMI FN-19, Computer Science Department, Aarhus, Denmark, 1981.
Gordon D. Plotkin. Domains (the ‘Pisa’ Notes), 1983. Notes for lectures at the University of Edinburgh, extending lecture notes for the Pisa summer school 1978. Available at http://homepages.inf.ed.ac.uk/gdp/publications/Domains_a4.ps.
Gordon D. Plotkin. The origins of structural operational semantics. J. Log. Algebr. Program., 60–61:3–15, 2004.
Gordon D. Plotkin. A structural approach to operational semantics. J. Log. Algebr. Program., 60–61:17–139, 2004.
John C. Reynolds. Theories of Programming Languages. Cambridge University Press, Cambridge, 1998.
Davide Sangiorgi. Introduction to Bisimulation and Coinduction. Cambridge University Press, New York, 2011.
Davide Sangiorgi and DavidWalker. The π-calculus - a Theory of Mobile Processes. Cambridge University Press, Cambridge, 2001.
David A. Schmidt. Denotational Semantics: A Methodology for Language Development. William C. Brown, Dubuque, 1986.
David A. Schmidt. Programming language semantics. In Allen B. Tucker, editor, The Computer Science and Engineering Handbook, pages 2237–2254. CRC Press, Boca Raton, 1997.
Dana S. Scott. Outline of a Mathematical Theory of Computation. Technical Report PRG–2, Programming Research Group, Oxford, November 1970.
Dana S. Scott. Some reflections on Strachey and his work. Higher-Order and Symbolic Computation, 13(1/2):103–114, 2000.
Dana S. Scott and Christopher Strachey. Toward a mathematical semantics for computer languages. In Jerome Fox, editor, Proceedings of the Symposium on Computers and Automata, volume XXI, pages 19–46. Polytechnic Press, Brooklyn, 1971.
Aaron Stump. Programming Language Foundations. Wiley, New York, 2013.
Robert D. Tennent. Semantics of Programming Languages. Prentice Hall International Series in Computer Science. Prentice Hall, Upper Saddle River, 1991.
Adriaan van Wijngaarden, B. J. Mailloux, J. E. L. Peck, Cornelis H. A. Koster, Michel Sintzoff, C. H. Lindsey, L. G. T. Meertens, and R. G. Fisker. Revised report on the algorithmic language ALGOL 68. Acta Inf., 5(1):1–236, 1975.
Glynn Winskel. The Formal Semantics of Programming Languages: An Introduction. Foundations of Computing Series. MIT Press, Cambridge, 1993.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2017 Springer International Publishing Switzerland
About this chapter
Cite this chapter
Bruni, R., Montanari, U. (2017). Introduction. In: Models of Computation. Texts in Theoretical Computer Science. An EATCS Series. Springer, Cham. https://doi.org/10.1007/978-3-319-42900-7_1
Download citation
DOI: https://doi.org/10.1007/978-3-319-42900-7_1
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-42898-7
Online ISBN: 978-3-319-42900-7
eBook Packages: Computer ScienceComputer Science (R0)