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.
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
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.
D. Brown and D. A. Watt. Sort inference in the Actress compiler generator. In [44], pages 81–98, 1994.
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.
K.-G. Doh. Action Semantics-Directed Prototyping. PhD thesis, Kansas State University, 1992.
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.
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.
K.-G. Doh and D. A. Schmidt. Action semantics-directed prototyping. Comput. Lang., 19(4):213–233, 1993.
K.-G. Doh and D. A. Schmidt. The facets of action semantics: Some principles and applications (extended abstract). In [44], pages 1–15, 1994.
S. Even and D. A. Schmidt. Category sorted algebra-based action semantics. Theoretical Comput. Sci., 77:73–96, 1990.
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.
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.
Y. Gurevich. Evolving algebras 1993: Lipari guide. In E. Börger, editor, Specification and Validation Methods. Oxford University Press, 1995.
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.
B. S. Hansen and J. U. Toft. The formal specification of ANDF, an application of action semantics. In [44], pages 34–42, 1994.
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.
P. Klint. A meta-environment for generating programming environments. ACM Transactions on Software Engineering Methodology, 2(2):176–201, 1993.
P. Krishnan. Specification of systems with interrupts. J. Systems Software, 21:291–304, 1993.
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.
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.
S. B. Lassen. Design and semantics of action notation. In [44], pages 34–42, 1994.
S. B. Lassen. Action semantics reasoning about functional programs. BRICS, Dept. of Computer Science, Univ. of Aarhus, Dec. 1995.
S. B. Lassen. Basic action theory. Technical Report RS-95-25, BRICS, Dept. of Computer Science, Univ. of Aarhus, 1995.
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.
R. Milner, M. Tofte, and R. Harper. The Definition of Standard ML. The MIT Press, 1990.
E. Moggi. Computational lambda-calculus and monads. In LICS'89, Proc. 4th Ann. Symp. on Logic in Computer Science, pages 14–23. IEEE, 1989.
P. D. Mosses. The mathematical semantics of Algol60. Tech. Mono. PRG-12, Programming Research Group, Univ. of Oxford, 1974.
P. D. Mosses. Mathematical Semantics and Compiler Generation. D.Phil. dissertation, University of Oxford, 1975.
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.
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.
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.
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.
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.
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.
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.
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.
P. D. Mosses. Unified algebras and institutions. In LICS'89, Proc. 4th Ann. Symp. on Logic in Computer Science, pages 304–312. IEEE, 1989.
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.
P. D. Mosses. Denotational semantics. In Handbook of Theoretical Computer Science, volume B, chapter 11. Elsevier Science Publishers, Amsterdam; and MIT Press, 1990.
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.
P. D. Mosses. Action Semantics. Number 26 in Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, 1992.
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.
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.
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.
P. D. Mosses, editor. CoFI: Initiative for a Common Framework for Algebraic Specification, URL: http://www.brics.dk/Projects/CoFI, 1996.
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.
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.
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.
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.
H. Moura. Action Notation Transformations. PhD thesis, Dept. of Computing Science, Univ. of Glasgow, 1993.
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.
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.
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.
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.
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.
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.
J. Palsberg. Provably Correct Compiler Generation. PhD thesis, Dept. of Computer Science, Univ. of Aarhus, 1992. xii+224 pages.
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.
G. D. Plotkin. A structural approach to operational semantics. Lecture Notes DAIMI FN-19, Dept. of Computer Science, Univ. of Aarhus, 1981.
D. A. Schmidt. Denotational Semantics: A Methodology for Language Development. Allyn & Bacon, 1986.
D. A. Schmidt. The Structure of Typed Programming Languages. The MIT Press, 1994.
K. Slonneger and B. L. Kurtz. Formal Syntax and Semantics of Programming Languages: A Laboratory Based Approach. Addison-Wesley, 1995.
J. E. Stoy. Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory. The MIT Press, 1977.
The RAISE Language Group. The RAISE Specification Language. BCS Practitioner Series. Prentice-Hall, 1992.
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.
A. van Deursen. Executable Language Definitions: Case Studies and Origin Tracking Techniques. PhD thesis, Univ. of Amsterdam, 1994.
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.
D. A. Watt. Executable semantic descriptions. Software — Practice and Experience, 16:13–43, 1986.
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.
D. A. Watt. Programming Language Syntax and Semantics. Prentice-Hall, 1991.
Author information
Authors and Affiliations
Editor information
Rights 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