A Modular SOS for Action Notation

Modularity is an important pragmatic aspect of semantic descriptions: good modularity is needed to allow the reuse of existing descriptions when extending or changing the described language. In denotational semantics, the issue of modularity has received much attention, and appropriate abstractions have been introduced, so that definitions of semantic functions may be independent of the details of how computations are modeled. In structural operational semantics (SOS), however, this issue has largely been neglected, and SOS descriptions of programming languages typically exhibit rather poor modularity; the original SOS given for Action Notation (the notation for the semantic entities used in action semantics) suffered from the same problem. This paper recalls a recent proposal, called MSOS, for obtaining a high degree of modularity in SOS, and presents an MSOS description of Action Notation. Due to its modularity, the MSOS description pinpoints some complications in the design of Action Notation, and should facilitate the design of an improved version of the notation. It also provides a major example of the applicability of the MSOS framework. The reader is assumed to be familiar with conventional SOS and with the basic concepts and constructs of Action Notation. The description of Action Notation is formulated almost entirely in Casl, the common algebraic specification language.

[1]  Egidio Astesiano,et al.  Inductive and Operational Semantics , 1989, Formal Description of Programming Concepts.

[2]  Kim Guldstrand Larsen,et al.  Model-Checking Real-Time Control Programs. Verifying LEGO Mindstorms Systems Using UPPAAL , 1999 .

[3]  Peter D. Mosses,et al.  Logical Specification of Operational Semantics , 1999, CSL.

[4]  Madhavan Mukund,et al.  Towards a Theory of Regular MSC Languages , 1999 .

[5]  Peter D. Mosses,et al.  Unified algebras and modules , 1988, POPL '89.

[6]  Peter D. Mosses,et al.  Unified algebras and institutions , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[7]  Peter D. Mosses CASL: A Guided Tour of Its Design , 1998, WADT.

[8]  Peter D. Mosses,et al.  An Action Semantics for ML Concurrency Primitives , 1994, FME.

[9]  Markus Roggenbach,et al.  Basic Datatypes in CASL , 2000 .

[10]  David A. Watt Programming language syntax and semantics , 1991, Prentice Hall International Series in Computer Science.

[11]  Peter D. Mosses,et al.  Theory and Practice of Action Semantics , 1996, MFCS.

[12]  Olivier Danvy,et al.  Formalizing Implementation Strategies for First-Class Continuations , 1999, ESOP.

[13]  Srinivasan Venkatesh,et al.  Improved bounds for dictionary look-up with one error , 2000, Inf. Process. Lett..

[14]  Peter D. Mosses Foundations of Modular SOS , 1999, MFCS.

[15]  Maxim Sviridenko,et al.  An Approximation Algorithm for Hypergraph Max k-Cut with Given Sizes of Parts , 1999, ESA.