Skip to main content

Theory and practice of action semantics

  • Invited Papers
  • Conference paper
  • First Online:
Mathematical Foundations of Computer Science 1996 (MFCS 1996)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1113))

Abstract

Action Semantics is a framework for the formal description of programming languages. Its main advantage over other frameworks is pragmatic: action-semantic descriptions (ASDs) scale up smoothly to realistic programming languages. This is due to the inherent extensibility and modifiability of ASDs, ensuring that extensions and changes to the described language require only proportionate changes in its description. (In denotational or operational semantics, adding an unforeseen construct to a language may require a reformulation of the entire description.)

After sketching the background for the development of action semantics, we summarize the main ideas of the framework, and provide a simple illustrative example of an ASD. We identify which features of ASDs are crucial for good pragmatics. Then we explain the foundations of action semantics, and survey recent advances in its theory and practical applications. Finally, we assess the prospects for further development and use of action semantics.

The action semantics framework was initially developed at the University of Aarhus by the present author, in collaboration with David Watt (University of Glasgow). Groups and individuals scattered around five continents have since contributed to its theory and practice.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. S. Abramsky. Semantics of interaction. In Trees in Algebra and Programming — CAAP'96, Proc. 21st Int. Coll., Linköping, volume 1059 of Lecture Notes in Computer Science, page 1. Springer-Verlag, 1996.

    Google Scholar 

  2. G. Agha, I. A. Mason, S. F. Smith, and C. L. Talcott. A foundation for actor computation. To appear in Journal of Functional Programming, 1994.

    Google Scholar 

  3. A. Bondorf and J. Palsberg. Compiling actions by partial evaluation. In FPCA'93, Proc. Sixth ACM Conf. on Functional Programming Languages and Computer Architecture, Copenhagen, pages 308–317, 1993.

    Google Scholar 

  4. D. Brown and D. A. Watt. Sort inference in the Actress compiler generator. In [44], pages 81–98, 1994.

    Google Scholar 

  5. D. F. Brown, H. Moura, and D. A. Watt. Actress: an action semantics directed compiler generator. In CC'92, Proc. 4th Int. Conf. on Compiler Construction, Paderborn, volume 641 of Lecture Notes in Computer Science, pages 95–109. Springer-Verlag, 1992.

    Google Scholar 

  6. K.-G. Doh. Action Semantics-Directed Prototyping. PhD thesis, Kansas State University, 1992.

    Google Scholar 

  7. K.-G. Doh. Action transformation by partial evaluation. In PEPM'95, Proc. ACM/SIGPLAN Symposium on Partial Evaluation and Semantics-based Program Transformation, La Jolla, California, pages 230–240, 1995.

    Google Scholar 

  8. K.-G. Doh and D. A. Schmidt. Extraction of strong typing laws from action semantics definitions. In ESOP'92, Proc. European Symposium on Programming, Rennes, volume 582 of Lecture Notes in Computer Science, pages 151–166. Springer-Verlag, 1992.

    Google Scholar 

  9. K.-G. Doh and D. A. Schmidt. Action semantics-directed prototyping. Comput. Lang., 19(4):213–233, 1993.

    Article  Google Scholar 

  10. K.-G. Doh and D. A. Schmidt. The facets of action semantics: Some principles and applications (extended abstract). In [44], pages 1–15, 1994.

    Google Scholar 

  11. S. Even and D. A. Schmidt. Category sorted algebra-based action semantics. Theoretical Comput. Sci., 77:73–96, 1990.

    Article  Google Scholar 

  12. S. Even and D. A. Schmidt. Type inference for action semantics. In ESOP'90, Proc. European Symposium on Programming, Copenhagen, volume 432 of Lecture Notes in Computer Science, pages 118–133. Springer-Verlag, 1990.

    Google Scholar 

  13. J. A. Goguen, J. W. Thatcher, E. G. Wagner, and J. B. Wright. Initial algebra semantics and continuous algebras. J. ACM, 24:68–95, 1977.

    Article  Google Scholar 

  14. Y. Gurevich. Evolving algebras 1993: Lipari guide. In E. Börger, editor, Specification and Validation Methods. Oxford University Press, 1995.

    Google Scholar 

  15. B. S. Hansen and J. Bundgaard. The role of the ANDF formal specification. Technical Report 202104/RPT/5, issue 2, DDC International A/S, Lundtoftevej 1C, DK-2800 Lyngby, Denmark, 1992.

    Google Scholar 

  16. B. S. Hansen and J. U. Toft. The formal specification of ANDF, an application of action semantics. In [44], pages 34–42, 1994.

    Google Scholar 

  17. C. Hintermeier, H. Kirchner, and P. D. Mosses. Combining algebraic and settheoretic specification. In Recent Trends in Data Type Specification, Proc. 11th Workshop on Specification of Abstract Data Types, Oslo, 1995, Selected Papers. Lecture Notes in Computer Science, 1996. To appear.

    Google Scholar 

  18. P. Klint. A meta-environment for generating programming environments. ACM Transactions on Software Engineering Methodology, 2(2):176–201, 1993.

    Article  Google Scholar 

  19. P. Krishnan. Specification of systems with interrupts. J. Systems Software, 21:291–304, 1993.

    Article  Google Scholar 

  20. P. Krishnan, B. McKenzie, and S. Hunt. Guile: Graphical user interface for linguistic experiments. In Proceedings of the 17th Annual Computer Science Conference, Australian Communications, pages 309–320, 1994.

    Google Scholar 

  21. P. Krishnan and P. D. Mosses. Specifying asynchronous transfer of control. In RTFT'92, Proc. Symp. on Formal Techniques in Real-Time and Fault-Tolerant Systems, Delft, volume 571 of Lecture Notes in Computer Science. Springer-Verlag, 1992.

    Google Scholar 

  22. S. B. Lassen. Design and semantics of action notation. In [44], pages 34–42, 1994.

    Google Scholar 

  23. S. B. Lassen. Action semantics reasoning about functional programs. BRICS, Dept. of Computer Science, Univ. of Aarhus, Dec. 1995.

    Google Scholar 

  24. S. B. Lassen. Basic action theory. Technical Report RS-95-25, BRICS, Dept. of Computer Science, Univ. of Aarhus, 1995.

    Google Scholar 

  25. S. Liang and P. Hudak. Modular denotational semantics for compiler construction. In Programming Languages and Systems — ESOP'96, Proc. 6th European Symposium on Programming, Linköping, volume 1058 of Lecture Notes in Computer Science, pages 219–234. Springer-Verlag, 1996.

    Google Scholar 

  26. R. Milner, M. Tofte, and R. Harper. The Definition of Standard ML. The MIT Press, 1990.

    Google Scholar 

  27. E. Moggi. Computational lambda-calculus and monads. In LICS'89, Proc. 4th Ann. Symp. on Logic in Computer Science, pages 14–23. IEEE, 1989.

    Google Scholar 

  28. P. D. Mosses. The mathematical semantics of Algol60. Tech. Mono. PRG-12, Programming Research Group, Univ. of Oxford, 1974.

    Google Scholar 

  29. P. D. Mosses. Mathematical Semantics and Compiler Generation. D.Phil. dissertation, University of Oxford, 1975.

    Google Scholar 

  30. P. D. Mosses. Compiler generation using denotational semantics. In MFCS'76, Proc. Symp. on Math. Foundations of Computer Science, Gdańsk, volume 45 of Lecture Notes in Computer Science. Springer-Verlag, 1976.

    Google Scholar 

  31. P. D. Mosses. Making denotational semantics less concrete. In Proc. Int. Workshop on Semantics of Programming Languages, Bad Honnef, pages 102–109. Abteilung Informatik, Universität Dortmund, 1977. Bericht nr. 41.

    Google Scholar 

  32. P. D. Mosses. SIS, Semantics Implementation System: Reference manual and user guide. Tech. Mono. MD-30, Dept. of Computer Science, Univ. of Aarhus, 1979. Out of print.

    Google Scholar 

  33. P. D. Mosses. A constructive approach to compiler correctness. In ICALP'80, Proc. Int. Coll. on Automata, Languages, and Programming, Noordwijkerhout, volume 85 of Lecture Notes in Computer Science, pages 449–469. Springer-Verlag, 1980.

    Google Scholar 

  34. P. D. Mosses. A semantic algebra for binding constructs. In Proc. Int. Coll. on Formalization of Programming Concepts, Peñiscola, volume 107 of Lecture Notes in Computer Science, pages 408–418. Springer-Verlag, 1981.

    Google Scholar 

  35. P. D. Mosses. Abstract semantic algebras! In Formal Description of Programming Concepts II, Proc. IFIP TC2 Working Conference, Garmisch-Partenkirchen, 1982, pages 45–71. North-Holland, 1983.

    Google Scholar 

  36. P. D. Mosses. A basic abstract semantic algebra. In Proc. Int. Symp. on Semantics of Data Types, Sophia-Antipolis, volume 173 of Lecture Notes in Computer Science, pages 87–107. Springer-Verlag, 1984.

    Google Scholar 

  37. P. D. Mosses. Unified algebras and action semantics. In STACS'89, Proc. Symp. on Theoretical Aspects of Computer Science, Paderborn, volume 349 of Lecture Notes in Computer Science. Springer-Verlag, 1989.

    Google Scholar 

  38. P. D. Mosses. Unified algebras and institutions. In LICS'89, Proc. 4th Ann. Symp. on Logic in Computer Science, pages 304–312. IEEE, 1989.

    Google Scholar 

  39. P. D. Mosses. Unified algebras and modules. In POPL'89, Proc. 16th Ann. ACM Symp. on Principles of Programming Languages, pages 329–343. ACM, 1989.

    Google Scholar 

  40. P. D. Mosses. Denotational semantics. In Handbook of Theoretical Computer Science, volume B, chapter 11. Elsevier Science Publishers, Amsterdam; and MIT Press, 1990.

    Google Scholar 

  41. P. D. Mosses. A practical introduction to denotational semantics. In Formal Description of Programming Concepts, IFIP State-of-the-Art Report, pages 1–49. Springer-Verlag, 1991.

    Google Scholar 

  42. P. D. Mosses. Action Semantics. Number 26 in Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, 1992.

    Google Scholar 

  43. P. D. Mosses. On the action semantics of concurrent programming languages. In Semantics: Foundations and Applications, Proc. REX Workshop, Beekbergen, 1992, volume 666 of Lecture Notes in Computer Science, pages 398–424. Springer-Verlag, 1993.

    Google Scholar 

  44. P. D. Mosses, editor. Proc. 1st Intl. Workshop on Action Semantics, Edinburgh, 1994, number NS-94-1 in BRICS Notes Series. BRICS, Dept. of Computer Science, Univ. of Aarhus, 1994.

    Google Scholar 

  45. P. D. Mosses. Unified algebras and abstract syntax. In Recent Trends in Data Type Specification, Proc. 9th Workshop on Specification of Abstract Data Types, Caldes de Malavella, 1992, Selected Papers, volume 785 of Lecture Notes in Computer Science, pages 280–294. Springer-Verlag, 1994.

    Google Scholar 

  46. P. D. Mosses, editor. CoFI: Initiative for a Common Framework for Algebraic Specification, URL: http://www.brics.dk/Projects/CoFI, 1996.

    Google Scholar 

  47. P. D. Mosses. A tutorial on action semantics. 50pp. Tutorial notes for FME'94 (Formal Methods Europe, Barcelona, 1994) and FME'96 (Formal Methods Europe, Oxford, 1996), Mar. 1996.

    Google Scholar 

  48. P. D. Mosses and M. A. Musicante. An action semantics for ML concurrency primitives. In FME'94, Proc. Formal Methods Europe: Symposium on Industrial Benefit of Formal Methods, Barcelona, volume 873 of Lecture Notes in Computer Science, pages 461–479. Springer-Verlag, 1994.

    Google Scholar 

  49. P. D. Mosses and D. A. Watt. The use of action semantics. In Formal Description of Programming Concepts III, Proc. IFIP TC2 Working Conference, Gl. Avernæs, 1986, pages 135–166. North-Holland, 1987.

    Google Scholar 

  50. P. D. Mosses and D. A. Watt. Pascal action semantics, version 0.6. URL: ftp://ftp.brics.dk/pub/BRICS/Projects/AS/Papers/MossesWatt93DRAFT.ps.Z, Mar. 1993.

    Google Scholar 

  51. H. Moura. Action Notation Transformations. PhD thesis, Dept. of Computing Science, Univ. of Glasgow, 1993.

    Google Scholar 

  52. H. Moura and D. A. Watt. Action transformations in the Actress compiler generator. In CC'94, Proc. 5th Intl. Conf. on Compiler Construction, Edinburgh, volume 786 of Lecture Notes in Computer Science, pages 16–30. Springer-Verlag, 1994.

    Google Scholar 

  53. M. A. Musicante. The Sun RPC language semantics. In Proceedings of PANEL '92, XVIII Latin-American Conference on Informatics. Universidad de Las Palmas de Gran Canaria, 1992.

    Google Scholar 

  54. M. A. Musicante and P. D. Mosses. Communicative action notation with shared storage. Tech. Mono. PB-452, Dept. of Computer Science, Univ. of Aarhus, 1993.

    Google Scholar 

  55. J. P. Nielsen and J. U. Toft. Formal specification of ANDF, existing subset. Technical Report 202104/RPT/19, issue 2, DDC International A/S, Lundtoftevej 1C, DK-2800 Lyngby, Denmark, 1994.

    Google Scholar 

  56. P. Ørbæk. OASIS: An optimizing action-based compiler generator. In CC'94, Proc. 5th Intl. Conf. on Compiler Construction, Edinburgh, volume 786 of Lecture Notes in Computer Science, pages 1–15. Springer-Verlag, 1994.

    Google Scholar 

  57. J. Palsberg. An automatically generated and provably correct compiler for a subset of Ada. In ICCL'92, Proc. Fourth IEEE Int. Conf. on Computer Languages, Oakland, pages 117–126. IEEE, 1992.

    Google Scholar 

  58. J. Palsberg. Provably Correct Compiler Generation. PhD thesis, Dept. of Computer Science, Univ. of Aarhus, 1992. xii+224 pages.

    Google Scholar 

  59. J. Palsberg. A provably correct compiler generator. In ESOP'92, Proc. European Symposium on Programming, Rennes, volume 582 of Lecture Notes in Computer Science, pages 418–434. Springer-Verlag, 1992.

    Google Scholar 

  60. G. D. Plotkin. A structural approach to operational semantics. Lecture Notes DAIMI FN-19, Dept. of Computer Science, Univ. of Aarhus, 1981.

    Google Scholar 

  61. D. A. Schmidt. Denotational Semantics: A Methodology for Language Development. Allyn & Bacon, 1986.

    Google Scholar 

  62. D. A. Schmidt. The Structure of Typed Programming Languages. The MIT Press, 1994.

    Google Scholar 

  63. K. Slonneger and B. L. Kurtz. Formal Syntax and Semantics of Programming Languages: A Laboratory Based Approach. Addison-Wesley, 1995.

    Google Scholar 

  64. J. E. Stoy. Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory. The MIT Press, 1977.

    Google Scholar 

  65. The RAISE Language Group. The RAISE Specification Language. BCS Practitioner Series. Prentice-Hall, 1992.

    Google Scholar 

  66. J. U. Toft. Feasibility of using RSL as the specification language for the ANDF formal specification. Technical Report 202104/RPT/12, issue 2, DDC International A/S, Lundtoftevej 1C, DK-2800 Lyngby, Denmark, 1993.

    Google Scholar 

  67. A. van Deursen. Executable Language Definitions: Case Studies and Origin Tracking Techniques. PhD thesis, Univ. of Amsterdam, 1994.

    Google Scholar 

  68. A. van Deursen and P. D. Mosses. ASD: The action semantic description tools. In AMAST'96, Proc. 5th Intl. Conf. on Algebraic Methodology and Software Technology, Munich, Lecture Notes in Computer Science. Springer-Verlag, 1996. To appear.

    Google Scholar 

  69. D. A. Watt. Executable semantic descriptions. Software — Practice and Experience, 16:13–43, 1986.

    Google Scholar 

  70. D. A. Watt. An action semantics of Standard ML. In Proc. Third Workshop on Math. Foundations of Programming Language Semantics, New Orleans, volume 298 of Lecture Notes in Computer Science, pages 572–598. Springer-Verlag, 1988.

    Google Scholar 

  71. D. A. Watt. Programming Language Syntax and Semantics. Prentice-Hall, 1991.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Wojciech Penczek Andrzej Szałas

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Mosses, P.D. (1996). Theory and practice of action semantics. In: Penczek, W., Szałas, A. (eds) Mathematical Foundations of Computer Science 1996. MFCS 1996. Lecture Notes in Computer Science, vol 1113. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61550-4_139

Download citation

  • DOI: https://doi.org/10.1007/3-540-61550-4_139

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-61550-7

  • Online ISBN: 978-3-540-70597-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics