Automatic hierarchical discovery of quasi-static schedules of RVC-CAL dataflow programs

Jani Boutellier, Mickaël Raulet, Olli Silvén

    Research output: Contribution to journalArticleScientificpeer-review

    8 Citations (Scopus)


    RVC-CAL is an actor-based dataflow language that enables concurrent, modular and portable description of signal processing algorithms. RVC-CAL programs can be compiled to implementation languages such as C/C++ and VHDL for producing software or hardware implementations. This paper presents a methodology for automatic discovery of piecewise-deterministic (quasi-static) execution schedules for RVC-CAL program software implementations. Quasi-static scheduling moves computational burden from the implementable run-time system to design-time compilation and thus enables making signal processing systems more efficient. The presented methodology divides the RVC-CAL program into segments and hierarchically detects quasi-static behavior from each segment: first at the level of actors and later at the level of the whole segment. Finally, a code generator creates a quasi-statically scheduled version of the program. The impact of segment based quasi-static scheduling is demonstrated by applying the methodology to several RVC-CAL programs that execute up to 58 % faster after applying the presented methodology.

    Original languageEnglish
    Pages (from-to)35-40
    Number of pages6
    JournalJournal of Signal Processing Systems
    Issue number1
    Publication statusPublished - 2013
    Publication typeA1 Journal article-refereed


    • Dataflow analysis
    • Scheduling
    • Signal processing

    ASJC Scopus subject areas

    • Hardware and Architecture
    • Information Systems
    • Signal Processing
    • Theoretical Computer Science
    • Control and Systems Engineering
    • Modelling and Simulation


    Dive into the research topics of 'Automatic hierarchical discovery of quasi-static schedules of RVC-CAL dataflow programs'. Together they form a unique fingerprint.

    Cite this