Charles André
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.
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}
}
pdf, 1152KB (76 pages)