1999 IEEE International Conference on Computer Design (ICCD'99)
Compositional Software Synthesis of Communicating Processes
Austin, Texas
October 10-October 13
ISBN: 0-7695-0406-X
In this paper, we describe a new compositional software synthesis method for synthesizing concurrent software programs into ordinary C programs so that they can be executed on embedded processors without the need for a run-time multi-tasking operating system. The synthesized C program can be readily retargeted to different processors using available optimizing C compilers. The method works by transforming the initial input specification into a set of interacting Petri net components. It then applies a quasi-static scheduling method on each Petri net component to produce a corresponding state machine model. The resulting set of interacting state machines are then mapped into a single C program, which can finally be compiled to native machine code via conventional C compilers. In the degenerate case, each process in the initial input specification is mapped into a separate Petri net component. In this case, the size of the resulting C program is directly proportional to the size of the original concurrent specification. Thus, this technique can scale well to large applications and is immune to code explosion.
Index Terms:
Software Synthesis, Embedded Systems, Hardware/Software Co-Design, System-On-a-Chip Applications
Citation:
Xiaohan Zhu, Bill Lin, "Compositional Software Synthesis of Communicating Processes," iccd, pp.646, 1999 IEEE International Conference on Computer Design (ICCD'99), 1999