Title :
Synthesis of embedded software using free-choice Petri nets
Author :
Sgroi, Marco ; Lavagno, Luciano ; Watanabe, Yosinori ; Sangiovanni-Vincentelli, Alberto
Author_Institution :
California Univ., Berkeley, CA, USA
Abstract :
Software synthesis from a concurrent functional specification is a key problem in the design of embedded systems. A concurrent specification is well-suited for medium-grained partitioning. However, in order to be implemented in software, concurrent tasks need to be scheduled on a shared resource (the processor). The choice of the scheduling policy mainly depends on the specification of the system. For pure dataflow specifications, it is possible to apply a fully static scheduling technique, while for algorithms containing data-dependent control structures, like the if-then-else or while-do constructs, the dynamic behaviour of the system cannot be completely predicted at compile time and some scheduling decisions are to be made at run-time. For such applications we propose a Quasi-Static Scheduling (QSS) algorithm that generates a schedule in which run-time decisions are made only for data-dependent control structures. We use Free Choice Petri Nets (FCPNs), as the underlying model, and define quasi-static schedulability for FCPNs. The proposed algorithm is complete, in that it can solve QSS for any FCPN that is quasi-statically schedulable. Finally, we show how to synthesize from a quasi-static schedule a C code implementation that consists of a set of concurrent tasks
Keywords :
Petri nets; embedded systems; multiprocessing programs; processor scheduling; program control structures; software engineering; C code implementation; concurrent functional specification; concurrent tasks set; data-dependent control structures; dataflow specifications; embedded software synthesis; free-choice Petri nets; medium-grained partitioning; quasi-static scheduling; run-time decisions; scheduling policy; Control systems; Dynamic scheduling; Embedded software; Embedded system; Permission; Petri nets; Processor scheduling; Programming; Runtime; Scheduling algorithm;
Conference_Titel :
Design Automation Conference, 1999. Proceedings. 36th
Conference_Location :
New Orleans, LA
Print_ISBN :
1-58113-092-9
DOI :
10.1109/DAC.1999.782140