THE ESTEREL SYNCHRONOUS PROGRAMMING LANGUAGE - DESIGN, SEMANTICS, IMPLEMENTATION

被引:656
作者
BERRY, G
GONTHIER, G
机构
[1] ECOLE MINES,F-06565 VALBONNE,FRANCE
[2] INST NACL RECH INFORMAT & AUTOMAT,F-06565 VALBONNE,FRANCE
关键词
D O I
10.1016/0167-6423(92)90005-V
中图分类号
TP31 [计算机软件];
学科分类号
081202 [计算机软件与理论]; 0835 [软件工程];
摘要
We present the ESTEREL programming language which is especially designed to program reactive systems, that is systems which maintain a permanent interaction with their environment: real-time process controllers, communication protocols, man machine interface drivers, etc. ESTEREL is a deterministic concurrent programming language. It differs from classical asynchronous languages by its synchrony hypothesis: the outputs of a system are conceptually synchronous with its inputs. The synchrony hypothesis permits a high-level modular programming style simpler and more rigorous than its asynchronous counterpart. We present the imperative primitives of ESTEREL and the temporal manipulations they permit. We give a small programming example. We present two mathematical semantics of ESTEREL, which are given by conditional rewrite rules and related by a correctness theorem. The behavioral semantics defines the behavior of programs in an uneffective way as the solution of fixpoint equations. The effective execution semantics computes actions to be performed by a conceptually infinitely fast execution machine. To relate the two semantics, we solve the causality problems that are inherent in synchronous formalisms. We show how the ESTEREL v2 and ESTEREL v3 compilers efficiently translate concurrent ESTEREL programs into efficient equivalent sequential automata that can be implemented in conventional sequential languages. We discuss the quality of this object code and the practical adequacy of the synchrony hypothesis.
引用
收藏
页码:87 / 152
页数:66
相关论文
共 43 条
[1]
ARNOLD A, 1985, 3 ACT C C ANG
[2]
Berry G., 1983, Proceedings of the Real-Time Systems Symposium, P30
[3]
BERRY G, 1987, TSI-TECH SCI INF, V6, P305
[4]
BERRY G, 1987, INRIA647 SOPH ANT RE
[5]
Berry G., 1987, TCS THEORETICAL COMP, V48, P117
[6]
BERRY G, 1986, ESTREL SYSTEM MANUAL
[7]
BERRY G, 1984, LECTURE NOTES COMPUT, V197
[8]
BERRY G, 1986, ESTEREL PROGRAMMING
[9]
BLANCHARD M, 1979, COMPRENDRE MAITRISER
[10]
BORRAS P, 1987, INRIA777 SOPH ANT RE