Real-time languages found in the literature, starting with Esterel up to Timed C, cannot be compiled using off-the-shelf C++ compilers and processed by off-the-shelf C++ tools (e.g., editors, debuggers, program analyzers). Since C++ is one of the de facto languages to program real-time systems, recently Tice has been proposed as a real-time language that is embedded in C++ by means of TMP (template metaprogramming) so that the experience of programming in Tice is the experience of using an ordinary C++ library, and as such, Tice programs are compilable and processable using off-the-shelf C++ compilers and tools. The proposal, however, only described Tice syntax, semantics, and the compile-time model analyses performed by the language implementation without addressing practical compilation times, which could prevent wide-spread adoption. Considering its novelty, potential industrial impact, and the implementation's repository being public, we analyzed its time complexity and validated our analyses empirically by using GCC and Clang, the widely available industrial off-the-shelf compilers. Furthermore, during analysis we learned the engineering techniques that likely shorten compilation times and make the complex language implementation possible. This paper presents our analyses, their empirical validations, and the engineering techniques learned.

Analyses of a Model-Based Real-Time Language Embedded in C++ / Prastowo, Tadeus; Palopoli, Luigi; Abeni, Luca; Lipari, Giuseppe. - (2020), pp. 1330-1339. (Intervento presentato al convegno 35th Annual ACM Symposium on Applied Computing, SAC 2020 tenutosi a Brno, Czech Republic nel 30 March -3 April 2020) [10.1145/3341105.3373994].

Analyses of a Model-Based Real-Time Language Embedded in C++

Prastowo, Tadeus;Palopoli, Luigi;Abeni, Luca;
2020-01-01

Abstract

Real-time languages found in the literature, starting with Esterel up to Timed C, cannot be compiled using off-the-shelf C++ compilers and processed by off-the-shelf C++ tools (e.g., editors, debuggers, program analyzers). Since C++ is one of the de facto languages to program real-time systems, recently Tice has been proposed as a real-time language that is embedded in C++ by means of TMP (template metaprogramming) so that the experience of programming in Tice is the experience of using an ordinary C++ library, and as such, Tice programs are compilable and processable using off-the-shelf C++ compilers and tools. The proposal, however, only described Tice syntax, semantics, and the compile-time model analyses performed by the language implementation without addressing practical compilation times, which could prevent wide-spread adoption. Considering its novelty, potential industrial impact, and the implementation's repository being public, we analyzed its time complexity and validated our analyses empirically by using GCC and Clang, the widely available industrial off-the-shelf compilers. Furthermore, during analysis we learned the engineering techniques that likely shorten compilation times and make the complex language implementation possible. This paper presents our analyses, their empirical validations, and the engineering techniques learned.
2020
Proceedings of the 35th Annual ACM Symposium on Applied Computing
1515 BROADWAY, NEW YORK, NY 10036-9998 USA
Association for Computing Machinery
9781450368667
Prastowo, Tadeus; Palopoli, Luigi; Abeni, Luca; Lipari, Giuseppe
Analyses of a Model-Based Real-Time Language Embedded in C++ / Prastowo, Tadeus; Palopoli, Luigi; Abeni, Luca; Lipari, Giuseppe. - (2020), pp. 1330-1339. (Intervento presentato al convegno 35th Annual ACM Symposium on Applied Computing, SAC 2020 tenutosi a Brno, Czech Republic nel 30 March -3 April 2020) [10.1145/3341105.3373994].
File in questo prodotto:
File Dimensione Formato  
camera_ready.pdf

Solo gestori archivio

Tipologia: Post-print referato (Refereed author’s manuscript)
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 769.82 kB
Formato Adobe PDF
769.82 kB Adobe PDF   Visualizza/Apri
3341105.3373994.pdf

Solo gestori archivio

Tipologia: Versione editoriale (Publisher’s layout)
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 1.36 MB
Formato Adobe PDF
1.36 MB Adobe PDF   Visualizza/Apri

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11572/256170
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 1
  • ???jsp.display-item.citation.isi??? 1
  • OpenAlex ND
social impact