abstract priority-based frp (p-frp) is a functional programming formalism for reactive systems that...

1
Schedulability Analysis of P-FRP using Time Petri Nets Chaitanya Belwal ( Advisor. Dr. Albert M.K. Cheng) Abstract Priority-based FRP (P-FRP) is a functional programming formalism for reactive systems that guarantees real-time response. Preempted tasks in P-FRP are aborted and have to restart when no higher priority tasks are present in the execution queue. The abort and eventual restart makes the response time of a lower priority tasks completely dependent on the execution pattern of higher priority tasks. Exact schedulability analysis methods of P-FRP that have been presented so far require the evaluation of all release scenarios of higher priority tasks. Unfortunately, the number of such scenarios scale exponentially with the size of the task set making schedulability analysis of this execution model a computationally expensive proposition. In the past, the formal method of Time Petri Nets (TPN) has been used for schedulability analysis for preemptive and non-preemptive scheduling. In these prior works, analysis of TPN is done by converting a TPN network to a Timed Automata (TA) model and then evaluating it using available TA tools like UPPAAL or HyTech. We have developed a new TPN model for the transactional execution model of P-FRP and evaluated it through the model checker ROMEO without converting it to a corresponding TA model. This novel approach makes schedulability analysis simple and entails less overheads. P-FRP Time Petri Nets (TPN) A Time Petri Net is a tuple (P, T, B, F, M O , SI) where: P={p 1 ,p 2 ,p 3 ,…,p n } is a finite non-empty set of places; T= {t 1 ,t 2 ,t 3 ,…,t n } is a finite nonempty, set of transitions B: P x T N is the backward incidence function; where N is the set of non-negative integers; F: T x P N is the forward incidence function M O is the initial marking (P, T, B, F and M O together define a Petri net) SI is a mapping called static interval, tT,SI(t)= [SEFT(t), SLFT(t) ], where SEFT(t) is the static earliest firing time and SLFT(t) the static latest firing time • Priority based Functional Reactive Programming • Declarative programming language • P-PRP provides real-time guarantees using static priority assignment • Higher priority tasks preempt lower priority ones • Multi-version commit model of execution • Atomic execution – “all or nothing” proposition • Preempted tasks are aborted • Execution different from ‘standard’ models of C,C++, Java, etc. ROMEO – Tool for Time Petri Net Analysis Simple TPN for a 2-Task set 2 = { 1 , 2 }. 2 has a higher priority; T 2 ,C 2 = 10,3 and T 1 , C 1 = 12,4; SEFT and LEFT values of transitions are assigned values that denote these arrival periods/ execution times of tasks •Sub-network dealing with periodic release of higher priority tasks used; Several tokens can represent unique jobs of higher priority tasks, while a single token represents job of the lowest priority task • TPN is transformed to a state-space graph and the schedulability problem is reduced to a graph reachability problem; Reachability of states is analyzed through TCTL queries. ROMEO implement efficient state space search algorithms TCTL query EF[13,13](M(8)=0) checks if place at index 8 (‘Tau_1_Complete’) has no markings at time 13. If true is unschedulable; TPN can be easily scaled up to handle any task set A modified version of this poster was presented at the 17th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA) WiP Session, 2011 Simple TPN for the Schedulability Analysis of 2 Tasks ROMEO GUI. From left: Initial Screen with Options, Drawing Screen with TPN, Simulation Window, Timed Computation Tree Logic (TCTL) Query Window. Developed by IRCCyN, France and publicly available at: http://romeo.rts-software.org/

Upload: clementine-bryant

Post on 08-Jan-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Abstract Priority-based FRP (P-FRP) is a functional programming formalism for reactive systems that guarantees real-time response. Preempted tasks in P-FRP

Schedulability Analysis of P-FRP using Time Petri NetsChaitanya Belwal ( Advisor. Dr. Albert M.K. Cheng)

AbstractPriority-based FRP (P-FRP) is a functional programming formalism for reactive systems that guarantees real-time response. Preempted tasks in P-FRP are aborted and have to restart when no higher priority tasks are present in the execution queue. The abort and eventual restart makes the response time of a lower priority tasks completely dependent on the execution pattern of higher priority tasks. Exact schedulability analysis methods of P-FRP that have been presented so far require the evaluation of all release scenarios of higher priority tasks. Unfortunately, the number of such scenarios scale exponentially with the size of the task set making schedulability analysis of this execution model a computationally expensive proposition. In the past, the formal method of Time Petri Nets (TPN) has been used for schedulability analysis for preemptive and non-preemptive scheduling. In these prior works, analysis of TPN is done by converting a TPN network to a Timed Automata (TA) model and then evaluating it using available TA tools like UPPAAL or HyTech. We have developed a new TPN model for the transactional execution model of P-FRP and evaluated it through the model checker ROMEO without converting it to a corresponding TA model. This novel approach makes schedulability analysis simple and entails less overheads.

P-FRP

Time Petri Nets (TPN)A Time Petri Net is a tuple (P, T, B, F, MO, SI) where:• P={p1,p2,p3,…,pn} is a finite non-empty set of places; T= {t1,t2,t3,…,tn} is a finite nonempty, set of transitions • B: P x T N is the backward incidence function; where N is the set of non-negative integers; F: T x P N is the forward incidence function• MO is the initial marking (P, T, B, F and MO together define a Petri net)• SI is a mapping called static interval, tT,SI(t)= [SEFT(t), SLFT(t) ], where SEFT(t) is the static earliest firing time and SLFT(t) the static latest firing time

• Priority based Functional Reactive Programming • Declarative programming language• P-PRP provides real-time guarantees using static priority assignment • Higher priority tasks preempt lower priority ones• Multi-version commit model of execution • Atomic execution – “all or nothing” proposition• Preempted tasks are aborted • Execution different from ‘standard’ models of C,C++, Java, etc.

ROMEO – Tool for Time Petri Net Analysis

• Simple TPN for a 2-Task set 2 = {1, 2}. 2 has a higher priority; T2,C2 = 10,3 and T1, C1 = 12,4; SEFT and LEFT values of transitions are assigned values that denote these arrival periods/ execution times of tasks• Sub-network dealing with periodic release of higher priority tasks used; Several tokens can represent unique jobs of higher priority tasks, while a single token represents job of the lowest priority task

• TPN is transformed to a state-space graph and the schedulability problem is reduced to a graph reachability problem; Reachability of states is analyzed through TCTL queries. ROMEO implement efficient state space search algorithms• TCTL query EF[13,13](M(8)=0) checks if place at index 8 (‘Tau_1_Complete’) has no markings at time 13. If true 1 is unschedulable; TPN can be easily scaled up to handle any task set size

• Novel and highly efficient method for schedulability analysis of a transactional execution model like that of P-FRPA modified version of this poster was presented at the 17th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA) WiP Session, 2011

Simple TPN for the Schedulability Analysis of 2 TasksROMEO GUI. From left: Initial Screen with Options, Drawing Screen with TPN, Simulation Window, Timed Computation Tree Logic (TCTL) Query Window. Developed by IRCCyN, France and publicly available at: http://romeo.rts-software.org/