Software synthesis for system level design using process execution trees
L.J. van Bokhoven, Jeroen P. M. Voeten, Marc C. W. Geilen · Proceedings 25th EUROMICRO Conference. Informatics: Theory and Practice for the New Millennium · 1999
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 minimisation. 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 (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.