Title :
On the Deterministic Multi-threaded Software Synthesis from Polychronous Specifications
Author :
Jose, Bijoy A. ; Shukla, Sandeep K. ; Patel, Hiren D. ; Talpin, Jean-Pierre
Author_Institution :
FERMAT Lab., Virginia Polytech. Inst. & State Univ., Blacksburg, VA
Abstract :
In order to exploit the emerging multi-core processors, creating multi-threaded applications is going to be a necessity. However, resolving concurrency, synchronization, and coordination issues, and tackling the non-determinism germane in multi-threaded software is extremely difficult. Ensuring deterministic behavior and correctness with respect to the specification is necessary for safe execution of such code. It is desirable to synthesize multi-threaded code from formal specifications using a provably ´correct-by- construction´ approach. In the past, reasonable success has been achieved in the ´correct-by-construction´ sequential software synthesis for embedded reactive systems from synchronous programming models. Here we target deterministic multi-threaded software synthesis from deterministic specifications, such that the behavior of the code is semantically equivalent to that of the specification. We choose the polychronous model of computation for specification because (i) such specifications are multi-rate, reactive, concurrent and can be made deterministic through constraints on the environment, and (ii) formal verification methodologies and tools exist for such specifications. In this paper, we analyze under what condition a polychronous specification can be synthesized into multi-threaded C-code preserving its semantics. We also discuss how the synchronous data flow graph structure for a polychronous specification can be used to infer the threading structure of the resulting C-code.
Keywords :
data flow graphs; formal specification; multi-threading; program verification; synchronisation; data flow graph structure; deterministic multithreaded software synthesis; formal verification; polychronous specifications; synchronization; Application software; Concurrent computing; Formal specifications; Multicore processing; Operating systems; Programming profession; Signal generators; Software systems; Specification languages; Yarn;
Conference_Titel :
Formal Methods and Models for Co-Design, 2008. MEMOCODE 2008. 6th ACM/IEEE International Conference on
Conference_Location :
Anaheim, CA
Print_ISBN :
978-1-4244-2417-7
DOI :
10.1109/MEMCOD.2008.4547700