Formulation and evaluation of scheduling techniques for control flow graphs
EURO-DAC '95/EURO-VHDL '95 Proceedings of the conference on European design automation
Software synthesis of process-based concurrent programs
DAC '98 Proceedings of the 35th annual Design Automation Conference
Efficient compilation of ESTEREL for real-time embedded systems
CASES '00 Proceedings of the 2000 international conference on Compilers, architecture, and synthesis for embedded systems
Multiprocessor SoC Platforms: A Component-Based Design Approach
IEEE Design & Test
Tutorial: Compiling concurrent languages for sequential processors
ACM Transactions on Design Automation of Electronic Systems (TODAES)
Compositional Software Synthesis of Communicating Processes
ICCD '99 Proceedings of the 1999 IEEE International Conference on Computer Design
Lightweight Multitasking Support for Embedded Systems using the Phantom Serializing Compiler
Proceedings of the conference on Design, Automation and Test in Europe - Volume 2
Code partitioning for synthesis of embedded applications with phantom
Proceedings of the 2004 IEEE/ACM International conference on Computer-aided design
Compilers: Principles, Techniques, and Tools (2nd Edition)
Compilers: Principles, Techniques, and Tools (2nd Edition)
Quasi-static scheduling of independent tasks for reactive systems
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
Hi-index | 0.00 |
Multitasking of concurrent processes implements the concurrency inherited from applications, increasing the utilization of limited resources. It requires an operating system and imposes significant runtime overhead. Serializing multitasking codes removes the need of operating system and the overhead as well. In this paper, we propose a software synthesis method to transform multitasking codes into a single process code. For this, we decompose multitasking codes into a set of code fractions and then recompose the code fractions into a single process code, preserving the functionality of the original codes. We present two different techniques for the transformation - code partitioning and code covering - and propose a hybrid technique that combines the two techniques.