No Cover Image

Journal article 514 views 117 downloads

Software meta-language engineering and CBS

Peter Mosses Orcid Logo

Journal of Computer Languages, Volume: 50, Pages: 39 - 48

Swansea University Author: Peter Mosses Orcid Logo

  • Mosses-final-twocolumn.pdf

    PDF | Accepted Manuscript

    Released under the terms of a Creative Commons Attribution Non-Commercial No Derivatives License (CC-BY-NC-ND).

    Download (658.33KB)

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...

Full description

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!
first_indexed 2018-12-18T20:01:22Z
last_indexed 2019-03-04T19:57:39Z
id cronfa47984
recordtype SURis
fullrecord <?xml version="1.0"?><rfc1807><datestamp>2019-03-04T15:08:40.6649193</datestamp><bib-version>v2</bib-version><id>47984</id><entry>2018-12-18</entry><title>Software meta-language engineering and CBS</title><swanseaauthors><author><sid>3f13b8ec315845c81d371f41e772399c</sid><ORCID>0000-0002-5826-7520</ORCID><firstname>Peter</firstname><surname>Mosses</surname><name>Peter Mosses</name><active>true</active><ethesisStudent>false</ethesisStudent></author></swanseaauthors><date>2018-12-18</date><deptcode>FGSEN</deptcode><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 &#x2018;funcons&#x2019;, 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.</abstract><type>Journal Article</type><journal>Journal of Computer Languages</journal><volume>50</volume><paginationStart>39</paginationStart><paginationEnd>48</paginationEnd><publisher/><issnPrint>25901184</issnPrint><keywords>semantics of programming languages, meta-languages, modularity</keywords><publishedDay>28</publishedDay><publishedMonth>2</publishedMonth><publishedYear>2019</publishedYear><publishedDate>2019-02-28</publishedDate><doi>10.1016/j.jvlc.2018.11.003</doi><url/><notes/><college>COLLEGE NANME</college><department>Science and Engineering - Faculty</department><CollegeCode>COLLEGE CODE</CollegeCode><DepartmentCode>FGSEN</DepartmentCode><institution>Swansea University</institution><apcterm/><lastEdited>2019-03-04T15:08:40.6649193</lastEdited><Created>2018-12-18T15:20:19.2234527</Created><path><level id="1">College of Science</level><level id="2">College of Science</level></path><authors><author><firstname>Peter</firstname><surname>Mosses</surname><orcid>0000-0002-5826-7520</orcid><order>1</order></author></authors><documents><document><filename>0047984-11022019144837.pdf</filename><originalFilename>Mosses-final-twocolumn.pdf</originalFilename><uploaded>2019-02-11T14:48:37.8430000</uploaded><type>Output</type><contentLength>611233</contentLength><contentType>application/pdf</contentType><version>Accepted Manuscript</version><cronfaStatus>true</cronfaStatus><embargoDate>2020-07-30T00:00:00.0000000</embargoDate><documentNotes>Released under the terms of a Creative Commons Attribution Non-Commercial No Derivatives License (CC-BY-NC-ND).</documentNotes><copyrightCorrect>true</copyrightCorrect><language>eng</language></document></documents><OutputDurs/></rfc1807>
spelling 2019-03-04T15:08:40.6649193 v2 47984 2018-12-18 Software meta-language engineering and CBS 3f13b8ec315845c81d371f41e772399c 0000-0002-5826-7520 Peter Mosses Peter Mosses true false 2018-12-18 FGSEN 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. Journal Article Journal of Computer Languages 50 39 48 25901184 semantics of programming languages, meta-languages, modularity 28 2 2019 2019-02-28 10.1016/j.jvlc.2018.11.003 COLLEGE NANME Science and Engineering - Faculty COLLEGE CODE FGSEN Swansea University 2019-03-04T15:08:40.6649193 2018-12-18T15:20:19.2234527 College of Science College of Science Peter Mosses 0000-0002-5826-7520 1 0047984-11022019144837.pdf Mosses-final-twocolumn.pdf 2019-02-11T14:48:37.8430000 Output 611233 application/pdf Accepted Manuscript true 2020-07-30T00:00:00.0000000 Released under the terms of a Creative Commons Attribution Non-Commercial No Derivatives License (CC-BY-NC-ND). true eng
title Software meta-language engineering and CBS
spellingShingle Software meta-language engineering and CBS
Peter Mosses
title_short Software meta-language engineering and CBS
title_full Software meta-language engineering and CBS
title_fullStr Software meta-language engineering and CBS
title_full_unstemmed Software meta-language engineering and CBS
title_sort Software meta-language engineering and CBS
author_id_str_mv 3f13b8ec315845c81d371f41e772399c
author_id_fullname_str_mv 3f13b8ec315845c81d371f41e772399c_***_Peter Mosses
author Peter Mosses
author2 Peter Mosses
format Journal article
container_title Journal of Computer Languages
container_volume 50
container_start_page 39
publishDate 2019
institution Swansea University
issn 25901184
doi_str_mv 10.1016/j.jvlc.2018.11.003
college_str College of Science
hierarchytype
hierarchy_top_id collegeofscience
hierarchy_top_title College of Science
hierarchy_parent_id collegeofscience
hierarchy_parent_title College of Science
department_str College of Science{{{_:::_}}}College of Science{{{_:::_}}}College of Science
document_store_str 1
active_str 0
description 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.
published_date 2019-02-28T03:56:07Z
_version_ 1757143019214077952
score 10.927741