Journal article 22583 views 220 downloads
Software meta-language engineering and CBS
Journal of Computer Languages, Volume: 50, Pages: 39 - 48
Swansea University Author: Peter Mosses
-
PDF | Accepted Manuscript
Released under the terms of a Creative Commons Attribution Non-Commercial No Derivatives License (CC-BY-NC-ND).
Download (658.33KB)
DOI (Published version): 10.1016/j.jvlc.2018.11.003
Abstract
The SLE conference series is devoted to the engineering principles of software languages: their design, their implementation, and their evolution. This paper is about the role of language specification in SLE. A precise specification of a software language needs to be written in a formal meta-langua...
Published in: | Journal of Computer Languages |
---|---|
ISSN: | 25901184 |
Published: |
2019
|
Online Access: |
Check full text
|
URI: | https://cronfa.swan.ac.uk/Record/cronfa47984 |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Abstract: |
The SLE conference series is devoted to the engineering principles of software languages: their design, their implementation, and their evolution. This paper is about the role of language specification in SLE. A precise specification of a software language needs to be written in a formal meta-language, and it needs to co-evolve with the specified language. Moreover, different software languages often have features in common, which should provide opportunities for reuse of parts of language specifications. Support for co-evolution and reuse in a meta-language requires careful engineering of its design.The author has been involved in the development of several meta-languages for semantic specification, including action semantics and modular variants of structural operational semantics (MSOS, I-MSOS). This led to the PLanCompS project, and to the design of its meta-language, CBS, for component-based semantics. CBS comes together with an extensible library of reusable components called ‘funcons’, corresponding to fundamental programming constructs. The main aim of CBS is to optimise co-evolution and reuse of specifications during language development, and to make specification of language semantics almost as straightforward as context-free syntax specification.The paper discusses the engineering of a selection of previous meta-languages, assessing how well they support co-evolution and reuse. It then gives an introduction to CBS, and illustrates significant features. It also considers whether other current meta-languages might also be used to define an extensible library of funcons for use in component-based semantics. |
---|---|
Keywords: |
semantics of programming languages, meta-languages, modularity |
College: |
Faculty of Science and Engineering |
Start Page: |
39 |
End Page: |
48 |