Chapter

Transactions on Aspect-Oriented Software Development XII

Volume 8989 of the series Lecture Notes in Computer Science pp 132-179

Date:

Reusable Components of Semantic Specifications

  • Martin ChurchillAffiliated withGoogle, Inc.
  • , Peter D. MossesAffiliated withPLanCompS Project, Swansea University Email author 
  • , Neil SculthorpeAffiliated withPLanCompS Project, Swansea University
  • , Paolo TorriniAffiliated withPLanCompS Project, Swansea University

* Final gross prices may vary according to local VAT.

Get Access

Abstract

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 aspects, and present an illustrative case study: a component-based semantics for Caml Light. We have tested the correctness of the semantics by running programs on an interpreter generated from the semantics, comparing the output with that produced on the standard implementation of the language.

Our approach provides good modularity, facilitates reuse, and should support co-evolution of languages and their formal semantics. It could be particularly useful in connection with domain-specific languages and language-driven software development.

Keywords

Modularity Reusability Component-based semantics Fundamental constructs Funcons Modular SOS