首页> 外文会议>IEEE International Conference on Industrial Informatics >Well-formed control flow for critical sections in RTFM-core
【24h】

Well-formed control flow for critical sections in RTFM-core

机译:RTFM核心中关键部分的格式正确的控制流

获取原文

摘要

The mainstream of embedded software development as of today is dominated by C programming. To aid the development, hardware abstractions, libraries, kernels and lightweight operating systems are commonplace. Such kernels and operating systems typically impose a thread based abstraction to concurrency. However, in general thread based programming is hard, plagued by race conditions and dead-locks. For this paper we take an alternative outset in terms of a language abstraction, RTFM-core, where the system is modelled directly in terms of tasks and resources. In compliance to the Stack Resource Policy (SRP) model, the language enforces (well-formed) LIFO nesting of claimed resources, thus SRP based analysis and scheduling can be readily applied. For the execution onto bare-metal single core architectures, the rtfm-core compiler performs SRP analysis on the model and render an executable that is deadlock free and (through RTFM-kernel primitives) exploits the underlying interrupt hardware for efficient scheduling. The RTFM-core language embeds C-code and links to C-object files and libraries, and is thus applicable to the mainstream of embedded development. However, while the language enforces well-formed resource management, control flow in the embedded C-code may violate the LIFO nesting requirement. In this paper we address this issue by lifting a subset of C into the RTFM-core language allowing arbitrary control flow at the model level. In this way well-formed LIFO nesting can be enforced, and models ensured to be correct by construction. We demonstrate the feasibility by means of a prototype implementation in the rtfm-core compiler. Additionally, we develop a set of running examples and show in detail how control flow is handled at compile time and during run-time execution.
机译:迄今为止,嵌入式软件开发的主流是C编程。为了帮助开发,硬件抽象,库,内核和轻量级操作系统是司空见惯的。这样的内核和操作系统通常对并发施加基于线程的抽象。但是,一般而言,基于线程的编程很难,因为存在竞争条件和死锁。在本文中,我们从语言抽象(RTFM-core)的角度出发,该系统直接根据任务和资源进行建模。根据堆栈资源策略(SRP)模型,该语言强制(格式正确)LIFO嵌套要求保护的资源,因此可以轻松应用基于SRP的分析和调度。为了在裸机单核体系结构上执行,rtfm-core编译器在模型上执行SRP分析,并提供无死锁的可执行文件,并(通过RTFM-kernel)利用底层中断硬件进行有效的调度。 RTFM核心语言嵌入了C代码并链接到C对象文件和库,因此适用于嵌入式开发的主流。但是,尽管该语言强制执行格式正确的资源管理,但嵌入式C代码中的控制流可能会违反LIFO嵌套要求。在本文中,我们通过将C的子集提升为RTFM核心语言来解决此问题,从而允许在模型级别进行任意控制。这样,可以强制执行格式良好的LIFO嵌套,并且可以通过构造确保模型正确。我们通过rtfm-core编译器中的原型实现来证明可行性。此外,我们开发了一组运行示例,并详细显示了在编译时和运行时执行过程中如何处理控制流。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号