Semantics of SyncCharts

Authors

Charles André

Abstract

SyncCharts are a visual synchronous model. They were conceived in the mid nineties [André 1996a] as a graphical notation for the Esterel language [Boussinot and De Simone 1991, Berry 2000]. As such, SyncCharts were given a mathematical semantics fully compatible with the Esterel semantics. A technical report [André 1996b] explained this semantics. This is a valuable document for people familiar with formal semantics but may be difficult to read for most potential users. Since SyncCharts were also devised as a graphical model, akin to finite state machine, intended for engineers, an informal presentation of the model and its semantics was missing. This paper is an attempt to fill this need.


Like Esterel, SyncCharts are devoted to programming control-dominated software or hardware systems. These systems are reactive, that is, they continuously react to stimuli coming from their environment by sending back other stimuli. They are purely input-driven: they react at a pace imposed by their environment. A reactive application usually performs both data handling and control handling. Esterel and SyncCharts are imperative languages especially well-equipped to deal with control-handling: they produce discrete output signals in reaction to incoming signals. At a given instant, a signal is characterized by its presence status. Besides its presence status, a signal may convey a value of a given type. Such a signal is called a valued signal. A signal that conveys no other information than its presence is called a pure signal.


This paper mostly focuses on Pure SyncCharts, which are restricted to pure signaling. Pure SyncCharts are enough to explain most typical reactions that are easily expressed by graphical notations. Since a syncChart1 may include any “in-line” Esterel code, a comprehensive presentation of the semantics of SyncCharts should include a presentation of the Esterel semantics. This is definitely beyond the scope of this paper. Interested readers should refer to two papers written by Gérard BERRY: “The Primer” for the Esterel language [Berry 1997], which presents the language and its semantics in a precise but informal way, and “The Constructive Semantics of Pure Esterel” [Berry 1999], which presents the reference semantic framework for the language. Note that this presentation is also restricted to the “pure” subset
of the language. While Esterel adopts a textual form to express the control, SyncCharts rely on a graphical representation made of a hierarchy of communicating and concurrent finite state machines (FSMs). Our intuitive presentation of the semantics of SyncCharts will explain why, given a current configuration (a set of active states) and a stimulus (a set of input signals), a syncChart changes its configuration and generates output signals. Since SyncCharts are deterministic, the new configuration and the set of emitted signals are perfectly defined for any correct syncChart.

The observed reactions result from instantaneous interactions among finite state machines. With simple examples, progressively enriched, we will introduce structural elements of SyncCharts and explain their interactions. Not surprisingly, our informal but precise descriptions of the behavior are visual representations.

Reference

I3S RR-2003-24

 

@TECHREPORT{sp:RR0324,
AUTHOR = "C. Andr\'e",
TITLE = {Semantics of SyncCharts},
YEAR = {2003},
INSTITUTION = "I3S Laboratory",
MONTH = {April},
ADDRESS = {Sophia-Antipolis, France},
NUMBER = {ISRN I3S/RR--2003--24--FR}
}


Paper

pdf, 1152KB (76 pages)