Title :
Modular Interpretation of Heterogeneous Modeling Diagrams into Synchronous Equations Using Static Single Assignment
Author :
Talpin, Jean-Pierre ; Ouy, Julien ; Gautier, Thierry ; Besnard, Loïc ; Cortier, Alexandre
Author_Institution :
CNRS, IRISA, Rennes, France
Abstract :
The ANR project SPaCIFY develops a domain-specific programming environment, Synoptic, to engineer embedded software for space applications. Synoptic is an Eclipse-based modeling environment which supports all aspects of aerospace software design. As such, it is a domain-specific environment consisting of heterogeneous modeling and programming principles defined in collaboration with the industrial partners and end users of the project : imperative synchronous programs, data-flow diagrams, mode automata, blocks, components, scheduling, mapping and timing. This article focuses on the essence and distinctive features of its behavioral or programming aspects : actions, flows and automata, for which we use the code generation infrastructure of the synchronous modeling environment SME. It introduces an efficient method for transforming a hierarchy of blocks consisting of actions (sequential Esterel-like programs), data-flow diagrams (to connect and time modules) and mode automata (to schedule or mode blocks) into a set of synchronous equations. This transformation significantly reduces the needed control states and block synchronizations. It consists of an inductive static-single assignment transformation algorithm across a hierarchy of blocks that produces synchronous equations. The impact of this new transformation technique is twofold. With regards to code generation objectives, it reduces the needed resynchronization of each block in the system with respects to its parents, potentially gaining substantial performance from way less synchronizations. With regards to verification requirements, it also reduces the number of states across a hierarchy of automata and hence maximizes model checking performances.
Keywords :
aerospace computing; automata theory; data flow analysis; embedded systems; formal specification; formal verification; program compilers; programming environments; Eclipse-based modeling environment; Synoptic; aerospace software design; behavioral aspect; code generation infrastructure; data-flow diagram; domain-specific environment; domain-specific programming environment; embedded software; heterogeneous modeling diagram; imperative synchronous program; inductive static-single assignment transformation; mapping; mode automata; mode block; model checking; programming aspect; programming principle; scheduling; sequential Esterel-like program; space application; synchronous equation; synchronous modeling environment; timing; verification requirement; Automata; Computational modeling; Equations; Mathematical model; Radiation detectors; Software; Synchronization; domain-specific language; embedded software architecture design; program analysis and transformation;
Conference_Titel :
Application of Concurrency to System Design (ACSD), 2010 10th International Conference on
Conference_Location :
Braga
Print_ISBN :
978-1-4244-7266-6
Electronic_ISBN :
1550-4808
DOI :
10.1109/ACSD.2010.14