liu.seSearch for publications in DiVA
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • oxford
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Bootstrapping a Compiler for an Equation-Based Object-Oriented Language
Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, The Institute of Technology. (PELAB)
Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, The Institute of Technology. (PELAB)ORCID iD: 0000-0002-3435-4996
Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, The Institute of Technology. (PELAB)
2014 (English)In: Modeling, Identification and Control, ISSN 0332-7353, E-ISSN 1890-1328, Vol. 35, no 1, 1-19 p.Article in journal (Refereed) Published
Abstract [en]

What does it mean to bootstrap a compiler, and why do it? This paper reports on the first bootstrapping of a full-scale EOO (Equation-based Object-Oriented) modeling language such as Modelica. Bootstrapping means that the compiler of a language can compile itself. However, the usual application area for the Modelica is modeling and simulation of complex physical systems. Fortunately it turns out that with some minor extensions, the Modelica language is well suited for the modeling of language semantics. We use the name MetaModelica for this slightly extended Modelica. This is a prerequisite for bootstrapping which requires that the language can be used to model and/or implement itself. The OpenModelica Compiler (OMC) has been written in this MetaModelica language. It originally supported only the standard Modelica language but has been gradually extended to also cover the MetaModelica language extensions. After substantial work, OMC is able to quickly compile itself and produces an executable with good performance. The benefits include a more extensible and maintainable compiler by introducing improved language constructs and a more powerful runtime that makes it easy to add functionality such as parser generators, debuggers, and profiling tools. Future work includes extracting and restructuring parts of OMC, making the compiler smaller and more modular and extensible. This will also make it easier to interface with OMC, making it possible to create more powerful and user-friendly OpenModelica-based tools. The compiler and its bootstrapping is a major effort -- it is currently about 330 000 lines of code, and the MetaModelica extensions are used routinely by approximately ten developers on a daily basis. 

Place, publisher, year, edition, pages
Norwegian Society of Automatic Control , 2014. Vol. 35, no 1, 1-19 p.
Keyword [en]
compilation, equation-based, object-oriented, meta-programming, modeling
National Category
Computer Science
Identifiers
URN: urn:nbn:se:liu:diva-104894DOI: 10.4173/mic.2014.1.1ISI: 000333248800001OAI: oai:DiVA.org:liu-104894DiVA: diva2:699889
Available from: 2014-03-02 Created: 2014-03-02 Last updated: 2017-12-05Bibliographically approved

Open Access in DiVA

fulltext(435 kB)456 downloads
File information
File name FULLTEXT01.pdfFile size 435 kBChecksum SHA-512
d90a2fb8929655c569fa03941e8eb835123823def2bda7cbc3655549a0600010ef9584301323a042caed8a6997f02ca4ba985e1092eae324a6abae2fe4097e4b
Type fulltextMimetype application/pdf

Other links

Publisher's full text

Authority records BETA

Sjölund, MartinFritzson, PeterPop, Adrian

Search in DiVA

By author/editor
Sjölund, MartinFritzson, PeterPop, Adrian
By organisation
Software and SystemsThe Institute of Technology
In the same journal
Modeling, Identification and Control
Computer Science

Search outside of DiVA

GoogleGoogle Scholar
Total: 456 downloads
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

doi
urn-nbn

Altmetric score

doi
urn-nbn
Total: 157 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • oxford
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf