## Section: New Results

### New features of Polychrony

Participants : Loïc Besnard, Thierry Gautier, Paul Le Guernic.

**Reduction of communications.**
We have developed, as a general functionality of the Signal toolbox,
a means to reduce communications between two graphs,
using assignment clocks and utility clocks.

For a given signal $x$, its assignment clock represents the instants at which it may be modified (otherwise than keeping its previous value $x\$$) while its utility clock in a given graph represents the instants at which it is effectively used in this graph.

Considering two graphs ${G}_{i}$ and ${G}_{j}$ with a signal $x$ sent from ${G}_{i}$ to ${G}_{j}$, containers are built above ${G}_{i}$ and ${G}_{j}$ in order to minimize the clock at which $x$ must be communicated. On the sender side, the signal which has to be sent can be reduced to ${x}_{j}$ with ${x}_{j}\phantom{\rule{0.166667em}{0ex}}:=\phantom{\rule{0.166667em}{0ex}}x\phantom{\rule{0.166667em}{0ex}}\mathrm{\U0001d6a0\U0001d691\U0001d68e\U0001d697}\phantom{\rule{0.166667em}{0ex}}h$, where $h$ is the lower bound of the assignment clock of $x$ and the utility clock of $x$ in ${G}_{j}$. On the receiver side, $x$ is replaced in ${G}_{j}$ by $x\_r$ with $x\_r\phantom{\rule{0.166667em}{0ex}}:=\phantom{\rule{0.166667em}{0ex}}{x}_{j}\phantom{\rule{0.166667em}{0ex}}\mathrm{\U0001d68d\U0001d68e\U0001d68f\U0001d68a\U0001d69e\U0001d695\U0001d69d}\phantom{\rule{0.166667em}{0ex}}x\_r\$$.

Note that this reduction is not always possible because it may introduce cycles between signals and clocks.

Experiments have been made on programs intended to the distribution of Quartz applications, with a gain of up to 40on some of them [18] .

**Polychronous automata.**
We have defined a new model of polychronous constrained automata
that has been provided as semantic model for our proposal of
an extension of the AADL behavioural annex [20] .
An algebra of regular expressions is also defined to represent
abstractions of constrained automata or, more specifically,
their time constraints.

An experimental implementation of the semantic features of this
“timing annex” will be provided through the Polychrony framework.
For that purpose, representations of automata are introduced in
the Signal toolbox of Polychrony.
In a first step, we have decided to provide only a minimal extension
of the Signal language itself. A new syntactic category of process model,
which is an automaton model, has been introduced. States are described
by the association of labels with subprocesses, as it is available
in Signal, and transitions between states, at a given clock,
are written as calls to *intrinsic* (predefined) processes.
Constraints described as regular expressions on events should
also be introduced using intrinsic processes.

Automata will be used in different ways related to stategies of compilation. In particular, they will serve as an alternative model for the code generation. For that purpose, polychronous programs are rewritten thanks to valuations of memorized boolean signals. The resulting partially valuated programs are the states of a control automaton.

Such techniques can be applied to implement endo-isochronous programs. Currently, code may be generated only for endochronous programs, for which clock hierarchy is a tree. Endo-isochronous programs are compositions of endochronous programs the “intersection” of which is also endochronous. For example, an automaton can be built to generate code when two signals are known to alternate.