当前位置: X-MOL 学术Softw. Pract. Exp. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Tice: A real‐time language compilable using C++ compilers
Software: Practice and Experience ( IF 3.5 ) Pub Date : 2020-10-05 , DOI: 10.1002/spe.2891
Tadeus Prastowo 1 , Luigi Palopoli 1 , Luca Abeni 2
Affiliation  

Model‐based development (MBD) holds the promise to capture potential timing problems in embedded software during the early phases of the development, securing the production of bug‐free embedded software. For most MBD approaches, the source code is just an intermediate artifact that can be generated automatically from the models. This assumption clashes with an undeniable fact: a large share of the commercial embedded software exploits existing libraries or is developed using C/C++ natively. A way to reconcile the ambitions of MBD with the use of a programming language is by offering new language constructs and an innovative compilation tool‐chain that prevents model error and timing problems “by construction.” However, the persistent popularity of C/C++ among embedded programmers and the limited availability of tools have severely limited the uptake of alternative programming languages for embedded software. Therefore, we propose an original route. Our language proposal, named Tice, has been shaped as a C++ active library. Tice retains full compatibility with existing C++ code, which can be integrated easily into new Tice‐based projects. The enforcement of Tice syntax and semantics can be made by a standard C++ compiler, forgoing the need for new tools. In this article, we describe Tice's syntax, semantics, and model of computation and communication. We demonstrate Tice's practical applicability on an industrial scale use‐case and give ample evidence for Tice's efficient compilation using off‐the‐shelf C++ compilers. Finally, we show Tice's code generation process.

中文翻译:

Tice:一种可使用 C++ 编译器编译的实时语言

基于模型的开发 (MBD) 有望在开发的早期阶段捕获嵌入式软件中的潜在时序问题,从而确保无错误嵌入式软件的生产。对于大多数 MBD 方法,源代码只是可以从模型自动生成的中间工件。这种假设与不可否认的事实相冲突:很大一部分商业嵌入式软件利用现有库或本地使用 C/C++ 开发。将 MBD 的雄心与编程语言的使用相协调的一种方法是提供新的语言结构和创新的编译工具链,以“通过结构”防止模型错误和时序问题。然而,C/C++ 在嵌入式程序员中的持续流行以及工具的有限可用性严重限制了嵌入式软件替代编程语言的采用。因此,我们提出了一条原始路线。我们的语言提案名为 Tice,已被塑造成一个 C++ 活动库。Tice 保留与现有 C++ 代码的完全兼容性,可以轻松集成到新的基于 Tice 的项目中。Tice 语法和语义的实施可以由标准 C++ 编译器完成,无需新工具。在本文中,我们将描述 Tice 的语法、语义以及计算和通信模型。我们证明了 Tice 在工业规模用例上的实际适用性,并为 Tice 使用现成的 C++ 编译器进行高效编译提供了充分的证据。最后,我们展示了 Tice'
更新日期:2020-10-05
down
wechat
bug