Heterogeneous  synchronous/asynchronous  systems  and correct-by-construction  deployment


   

 

Next

  Aims | Main Results Documents | Back to the table of contents


 

Aims

 

Heterogeneity: a bottleneck in designing embedded systems

 

Embedded systems are intrinsically heterogeneous since they are based on processors that see the world digitally and an environment that is analog. In addition, the processing elements are heterogeneous too since they often include micro-controllers and digital signal processors in addition to special purpose computing engines. 

 

Today, designers face a much diversified landscape when it comes to methodologies, supporting tools, and engineering best practices. This would not necessarily be a problem if it were not for the fact that transitioning between tools that are based on different paradigms is increasingly becoming a design productivity bottleneck. A solution to this problem would be to impose a “homogeneous'' design policy, such as the fully synchronous approach.

 

However, heterogeneity will naturally manifest itself at the component level where different models of computation may be used to represent component operation and, more frequently, at different levels of abstraction, where, for example, a synchronous-language specification of the design may be refined into a globally asynchronous locally synchronous (GALS) architecture. Combining non functional aspects with functional ones further increases heterogeneity.

 

Having a sound framework for the heterogeneous modeling of reactive systems gives freedom of choice between different synchronization policies at different stages of the design process, allows to smoothly integrating non functional features, and provides a solid foundation to handle formally communication and coordination among heterogeneous components. This problem can be addressed from both semantic and syntactic sides.

 

Semantic aspects of heterogeneity

 

Semantics is about the mathematical meaning of models and programs. During the 80’s and 90’s, solid foundations have been provided to the semantics of languages dedicated to reactive systems, a class of systems that continuously interacts with its environment and is therefore central to embedded systems design. Examples include Simulink/Stateflow, the statecharts, etc… More recently, timed and other variants of these formalisms have been proposed to address non functional properties. One can say that semantics is not really an issue any more for homogeneous systems, i.e., systems having a homogeneous Models of Computation and Communication (MoCC) – at least for those formalisms that have been nicely designed.

 

Heterogeneous systems are ultimately composed of homogeneous sub-systems or components having different MoCCs. What does the word composed mean in this context? What kind of mathematical parallel composition can give a meaning to this informal statement? This aspect of heterogeneity is referred in our report as “horizontal heterogeneity”.

 

“Vertical heterogeneity” is encountered when traversing the design flow with its different tools. What does it mean to map a design based on a certain MoCC to an architecture based on a different MoCC? What if the design and the architecture are heterogeneous themselves? How can we claim correct-by-construction deployment in these situations?

 

Syntactic aspects of heterogeneity

 

Notations or formalisms always use a precisely defined syntax, be it textual or graphical. Combining models based on different formalisms requires some kind of syntactic adaptors.

 

Also, some closely related notations have semantics that are variants one another (think of the many semantics of statecharts that have been proposed and even implemented). Sometimes, these variants can be expanded by using an identical formalism or language. This expansion is another way to relate different (but still close enough) MoCCs. This typically yields a more flexible but less powerful way of handling heterogeneity.

 

Research agenda

 

Develop a semantic theory of heterogeneous reactive systems that is able to handle both horizontal and vertical heterogeneity. Use this theory to provide the foundations for combined functional and non functional modeling. Use this theory to develop methods, algorithms, and tools to support correct-by-construction deployment. Develop a theory and tools addressing the syntactic aspects of heterogeneity.

 

   

 

Next

  Aims | Main Results Documents | Back to the table of contents