Disentangling Denotational Semantics Definitions

Denotational semantics is a powerful technique to formally define program- ming languages. However, language constructs are not always orthogonal, so many se- mantic equations in a definition may have to be aware of unrelated constructs seman- tics. Current approaches for modularity in this formalism do not address this problem, providing, for this reason, tangled semantic definitions. This paper proposes an incre- mental approach for denotational semantic specifications, in which each step can either add new features or adapt existing equations, by means of a formal language based on function transformation and aspect weaving.

[1]  S. Doaitse Swierstra,et al.  First-class Attribute Grammars , 2000, Informatica.

[2]  Martin Wirsing,et al.  Formal Syntax and Semantics of Java , 1999 .

[3]  Peter D. Mosses A Constructive Approach to Language Definition , 2005, J. Univers. Comput. Sci..

[4]  John Hamer,et al.  A Modular Monadic Action Semantics , 1997, DSL.

[5]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[6]  Paul Hudak,et al.  Monad transformers and modular interpreters , 1995, POPL '95.

[7]  Martin Wirsing,et al.  An Event-Based Structural Operational Semantics of Multi-Threaded Java , 1999, Formal Syntax and Semantics of Java.

[8]  Eelco Visser,et al.  Program Transformation with Stratego/XT: Rules, Strategies, Tools, and Systems in Stratego/XT 0.9 , 2003, Domain-Specific Program Generation.

[9]  Peter D. Mosses,et al.  Modular structural operational semantics , 2004, J. Log. Algebraic Methods Program..

[10]  Eugenio Moggi,et al.  Notions of Computation and Monads , 1991, Inf. Comput..

[11]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[12]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[13]  Philip Wadler,et al.  Comprehending monads , 1990, LISP and Functional Programming.

[14]  Mitchell Wand A Semantics for Advice and Dynamic Join Points in Aspect-Oriented Programming , 2001, SAIG.

[15]  Narciso Martí-Oliet,et al.  The Maude 2.0 System , 2003, RTA.