Sites Inria

Embedded Systems

Jean-Michel Prima - 11/06/2012

Polychronous Modeling for Multi-core Embedded Systems

Researchers from Inria and VirginiaTech work together on polychronous programming paradigms that could help design critical embedded software for multi-core architectures. Part of this open source technology will be used by the US Air Force,  as French scientist Jean-Pierre Talpin explains

“Sandeep Shukla? He is so good that when he applied to a post-doc position in Espresso, my research team, here in Rennes, France, in 2001, I immedialtely knew it would be better to hire him as a researcher right away and he was indeed given this opportunity”,  French scientist Jean-Pierre Talpin recalls. But the Indian-born specialist of embedded software engineering eventually went to UC Irvine. Later on, he joined VirginaTech where he was to found the Fermat Laboratory.
“Nevertheless, we had built a link. First, we started a NSF-Inria collaborative program and then the longer Balboa project. In 2008, Sandeep joined us for a sabbatical. He really got embedded into our team. He had countless talks with researchers Loïc Besnard, Paul Le Guernic and Thierry Gautier. He wanted to understand what our development platform is really about. He was willing to use it, eager to work on it.”


And this is how Polychrony happened to cross the Atlantic. “Virginia Tech is working with the US Air Force Laboratory. Sandeep Shukla has started to build a domain-specific programming environment for embedded software architecture design that will be based on the model of computation and communication of our tool set. Loïc Besnard, the real architect of Polychrony, went there in order to help them use the source. Things are working really well so far.”
The software is being used in many different contexts. “Not just because of the modeling technology but because of our positioning. Indeed, we do not consider Polychrony as a end-user environment, but rather as a lot of experience of algorithms and methodologies that we wish to apply to any specific scenari we deem suitable. Virginia Tech's scenario is one such typical example. They will build an end-user environment that will embark some of the algorithms that are packed inside our toolbox.”
For next year, Talpin expects “a joint project between Espresso, Virginia Tech and the US Air Force Lab. For us, that is obviously not a common scheme.”  But Polychrony happens to be an open source technology. And that is a sine qua non for the USAF. “They don't want any piece of software for which they can't access the source code.”

 The collaboration might soon extend to yet another research team: the Embedded Systems Group of Kaiserslautern University. “Such partnership would be good as each of us brings very specific contributions. The ESG develops an Esterel-based synchronous programming environment. It's an imperative programming language. Espresso supplies Polychrony, a data flow networks specification environment. And Virginia Tech proposes a new approach and application scenario for putting things together. The three of us exchange a great deal. This will yield a lot of novelty in the field.”

Contradictory discussions

What makes the collaboration yet more fruitfull is the fact that researchers don't even agree on everything. “We have some dogmatical confrontation, you could say. On some technical aspects, Sandeep's views differ significantly from our own perspectives. There are really original. But it's good, sometime, to shake what is regarded as the common knowledge. Lately, for instance, we had some contradictory discussions on the concept of causality, the relation of cause and effect between events in a system. This plays an key role in developing embedded software. There are different approaches to the issue. Sandeep takes advantage of the so-called constructive semantics which has been developed in other synchronous languages. On the other hand, our environment has been developed around a concept of causality graph. It is more efficient in term of analysis time but it is less precise. We renounce to some precision in favor of speed. Comparing both avenues will be precisely the subject of our next publication.”

 In the mean time, Espresso and Virginia Tech have started yet another project: Polycore. “The trend is to try to catch up with multicore architectures. They are getting cheaper and hitting the hardware market right now. They become common in large embedded architectures. But I think the formal methods that were employed for embedded software design are not poised to benefit concurrent programming. Most of them are based on a strict synchronous model of computation best suitable for static scheduling on mono-processor. I believe that an environment like Polychrony is very well suited to address concurrent deterministic executions of programs on multicore executions. This is actually the core added value that we wish to put forwards in this project.”

Keywords: VirginiaTech Embedded systems Jean-Pierre Taplin ESPRESSO Polychrony INRIA Rennes - Bretagne Atlantique