Martin Churchill, Peter D. Mosses, Paolo Torrini. Reusable components of semantic specifications. In Walter Binder, Erik Ernst, Achille Peternier, Robert Hirschfeld, editors, 13th International Conference on Modularity, MODULARITY '14, Lugano, Switzerland, April 22-26, 2014. pages 145-156, ACM, 2014. [doi]
Semantic specifications of programming languages typically have poor modularity. This hinders reuse of parts of the semantics of one language when specifying a different language – even when the two languages have many constructs in common – and evolution of a language may require major reformulation of its semantics. Such drawbacks have discouraged language developers from using formal semantics to document their designs. In the PLANCOMPS project, we have developed a component- based approach to semantics. Here, we explain its modularity as- pects, and present an illustrative case study. Our approach provides good modularity, facilitates reuse, and supports co-evolution of lan- guages and their formal semantics. It could be particularly useful in connection with domain-specific languages and language-driven software development.