Abstract
Software synthesis for system level design languages becomes feasible because the current technology, pricing and application trends will most likely alleviate the industrial emphasis on real-time operating systems minimization [13]. Automatic code generation also becomes necessary, because of increasing product complexity and decreasing design time. This paper discusses software synthesis for a realistic system level design language, to generate an executable model for implementation, simulation and verification purposes. A completely automatic mapping of both the architectural aspects and data objects is shown, including real-time garbage collection. Process execution trees (PETs) are introduced to schedule real-time, concurrent processes. This paper explains the functioning of these self-modifying data structures based on the operational semantics of POOSL [14] (Parallel Object-Oriented Specification Language). Process execution trees are generally applicable to other process algebras as well (e.g. CCS, CSP, ACP), and follow quite naturally from the inference rules of these algebras.