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 , its assignment clock represents the instants at which it may be modified (otherwise than keeping its previous value ) while its utility clock in a given graph represents the instants at which it is effectively used in this graph.
Considering two graphs and with a signal sent from to , containers are built above and in order to minimize the clock at which must be communicated. On the sender side, the signal which has to be sent can be reduced to with , where is the lower bound of the assignment clock of and the utility clock of in . On the receiver side, is replaced in by with .
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.