Functional Reactive Programming (FRP) is a declarative approach for modeling and building reactive systems. The FRP has been shown to be an expressive formalism for building graphics, robotic, and vision applications. The Priority-based FRP (P-FRP) is a formalism of FRP that allows preemption of execution and guarantees real-time response. Since functional programs cannot maintain state and mutable data, changes made by programs that are preempted have to be rolled back, and the work done by the preempted programs has to be discarded. Hence in the P-FRP model, a preempted lower priority task will have to restart after higher priority tasks have completed execution. Current real-time research mainly focuses on the classic preemptive or non-preemptive models and plenty methods have been developed to analyze the real-time guarantees of these models. Unfortunately, due to its transactional nature where preempted tasks are aborted and have to restart, the execution semantics of the P-FRP model does not fit into the standard definitions of classic preemptive or non-preemptive execution. In this survey paper, we review existing researches on the P-FRP task scheduling, and present a few research areas for future work.
['Xingliang Zou', 'Albert Mo Kim Cheng', 'Yu Jiang']
P-FRP task scheduling: A survey