Compositional Software Synthesis of Communicating Processes

  • Authors:
  • Affiliations:
  • Venue:
  • ICCD '99 Proceedings of the 1999 IEEE International Conference on Computer Design
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.