SyncCharts in C: a proposal for light-weight, deterministic concurrency

SyncCharts in C: a proposal for light-weight, deterministic concurrency
复制标题

C 语言的 SyncCharts:轻量级、确定性并发的提案

DOI:
--
复制
发表时间:
2009
期刊:
International Conference on Embedded Software
影响因子:
--
通讯作者:
R. V. Hanxleden
R. V. Hanxleden
中科院分区:
--
文献类型:
--
作者:
R. V. Hanxleden

文献摘要

被引文献

相似文献

C(SC)中的Synccharts用控制流动器扩展了C,以确定性,轻巧的并发性和先发制位。 SC基于Synccharts,这是具有正式基础的Statecharts的同步变体。 SC通过对多线程的模拟实现并发,灵感来自反应性处理。这种方法允许非常快速的上下文开关,并允许使用常规的顺序C代码表示SC运算符。因此,并发SC计划既不需要特殊的编译器,也不需要OS支持并发。 基于C宏的SC的参考实现可作为开源代码提供。 SC可以在许多情况下使用:1)作为常规编程语言,仅需要C编译器; 2)作为将图形同步模型合成为可执行代码的中间目标语言,以可追溯的方式; 3)作为编程精度定时(PRET)或反应性体系结构的指令集体系结构,从物理计时提取功能;或4)作为虚拟机指令集,具有非常密集的编码。
SyncCharts in C (SC) extends C with control flow operators for deterministic, light-weight concurrency and preemption. SC is based on SyncCharts, a synchronous variant of Statecharts with a sound formal basis. SC implements concurrency via a simulation of multi-threading, inspired by reactive processing. This approach permits very fast context switches and allows to express SC operators with regular, sequential C code. Thus a concurrent SC program requires neither a special compiler nor OS support for concurrency. A reference implementation of SC, based on C macros, is available as open source code. SC can be used in a number of scenarios: 1) as a regular programming language, requiring just a C compiler; 2) as an intermediate target language for synthesizing graphical SyncChart models into executable code, in a traceable manner; 3) as instruction set architecture for programming precision timed (PRET) or reactive architectures, abstracting functionality from physical timing; or 4) as a virtual machine instruction set, with a very dense encoding.