Research Interest
I am interested in synchronous languages. A group a languages dedicated to programming of reactive systems. These languages offer a nice abstraction from timing constraints and have formal semantics.
In particular, I am interested in:
- Semantical issues of Statecharts and transformation between statechart dialects
- Semantics of Safe State Machines.
The semantics of Safe State Machines are on the one hand defined by an informal language description and operationally by an algorithm to compute to single reactions. On the other hand, there exists a translation from SyncCharts to Esterel. But as far as I know, there is no formal, denotational semantics defined directly on the Safe State Machines. Such a semantics would really help in formal reasoning on the transformations below.
- A semantic preserving transformation from Stateflow to Safe State Machines.
Both Statechart dialects have very different models of execution (run-to-completion vs. synchronous), what makes a transformation difficult. There already exists a transformation in the tools Scade form Esterel-Technologies, but they perform a syntactical graph transformation, simple removing all parts which can not be directly matched to Safe State Machines. While this transformation does not produce syntactical correct Statecharts for non-trivial examples, it is probably exactly what most users want, who do not care about the correct behavior, but want to implement their own intuition. Well, my approach was to use an existing transformation from Stateflow to Automata, e.g.,via Lustre. And to annotate the resulting states to reintroduce parallelism and hierarchy if possible. However, I have not come too far.
- A transformation from Esterel to Safe State Machines.
While Esterel and Safe State Machines look very different, they share the same synchronous model of computation. The transformation from Safe State Machines to Esterel is the usual way to generate code form Safe State Machines. But also the other is valuable, e.g., for visualization of Esterel programs.
- Semantics of Safe State Machines.
- Reactive Processing
- Worst Case Reaction Time Analysis
The WCRT of an Esterel program is the maximal time for one reaction, from reading the inputs to computing the outputs. While this information is already helpful for Esterel programs which are synthesized into hardware or software, this is crucial when they are executed on a reactive processor. Here, the WCRT gives the exact execution time for one reaction. - Reactive Processing beyond Esterel
So far, the reactive processors mainly use Esterel as an input language, i.e., they have an Instruction Set Architecture that is strongly influenced by Esterel. To have a reactive processor with a generic interface would allow to execute a much larger set of programs.
- Worst Case Reaction Time Analysis





