Change search
ReferencesLink to record
Permanent link

Direct link
Formal Semantics Based Translator Generation and Tool Development in Practice
Linköpings universitet, Institutionen för datavetenskap. (PELAB)ORCID iD: 0000-0002-3435-4996
Linköpings universitet, Institutionen för datavetenskap. (PELAB)
Linköpings universitet, Institutionen för datavetenskap. (PELAB)ORCID iD: 0000-0001-8457-4105
Linköpings universitet, Institutionen för datavetenskap. (PELAB)
2009 (English)In: Proceedings of  20th Australian Software Engineering Conference (ASWEC 2009), IEEE Computer Society, 2009, 256-266 p.Conference paper (Refereed)
Abstract [en]

In this paper we report on a long-term research effort to develop and use efficient language implementation generators in practice. The generator is applied to a number of different languages, some of which are used for projects in industry. The used formal specification style is operational semantics, primarily in the form called natural semantics, represented and supported by a meta-language and tool called the relational meta language (RML), which can generate efficient implementations in C, on par with hand-implemented code. Generating implementations from formal specifications are assumed to give advantages such as: high level descriptions, higher degree of correctness, and consistency between specification and implementation. To what extent can this be realized in practice? Does it scale to large language implementations? To answer some of these questions we have developed specifications of a range of languages: imperative, functional, object-oriented (Java), and equation-based (Modelica). The size of specifications range from half a page to large specifications of 60 000 lines. It turns out to be possible to generate efficient compilers, also for large languages. However, the performance of the generator tool and the user support of the development environment become increasingly important for large specifications. To satisfy such user needs the speed of the generator was increased a factor of ten to reduce turn-around time, and an Eclipse plug-in including a debugger were developed. For very large specifications, the structuring and modularity of the specification itself also become essential for performance and maintainability.

Place, publisher, year, edition, pages
IEEE Computer Society, 2009. 256-266 p.
, Australian Software Engineering Conference, ISSN 1530-0803
National Category
Software Engineering
URN: urn:nbn:se:kth:diva-163782DOI: 10.1109/ASWEC.2009.46ISI: 000268134000027ScopusID: 2-s2.0-70349493342ISBN: 978-0-7695-3599-9OAI: diva2:803867
2009 Australian Software Engineering Conference, ASWEC 2009; Gold Coast; Australia; 14 April 2009 through 17 April 2009

QC 20150420

Available from: 2009-10-13 Created: 2015-04-12 Last updated: 2016-06-13Bibliographically approved

Open Access in DiVA

No full text

Other links

Publisher's full textScopus

Search in DiVA

By author/editor
Fritzson, PeterBroman, David
Software Engineering

Search outside of DiVA

GoogleGoogle Scholar
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

Altmetric score

Total: 15 hits
ReferencesLink to record
Permanent link

Direct link