Presentation is loading. Please wait.

Presentation is loading. Please wait.

On Using Linearly Priced Timed Automata for Flow Analysis

Similar presentations


Presentation on theme: "On Using Linearly Priced Timed Automata for Flow Analysis"— Presentation transcript:

1 On Using Linearly Priced Timed Automata for Flow Analysis
MdH – 23/11/2005 Meeting On Using Linearly Priced Timed Automata for Flow Analysis

2 What is a LPTA? Timed Automata with extension: cost accumulation during behavior More formally: tuple A=(L, C, l0, E, I, P) Cost for taking an edge is Pe, and for staying n cycles in a state is Ps*n (should be > 0) Look for min cost ending of traces ending in a goal state Can “guide” the state space exploration with manually entered heuristics Use branch and bound techniques

3 Example of LPTA Min from left to right: 14

4 LPTA and Scheduling Problems
Optimal Task Graph Scheduling (TGS): schedule a number of interdependent tasks on heterogeneous processors Use a network of TA to simulate the multiple processes Inter-process Interaction: synchronization channels Time duration: Guarded edges over clock variables Associate cost to edges and states Uses work on priced symbolic state for solving

5 Similarity to Flow Analysis
Flow analysis: extract the dynamic behavior of the prog Flow extraction, representation, calculation conversion LPTA: good for extraction and representation at least (safe and tight # of iterations) Cost is time (can also be modeled as clock guards…) Network of TA can simulate multiple processes

6 Cont’d Instead of trying to find the optimal path cost-wise, we try to find the *least* optimal price Need to modify Branch and Bound algorithm Alternatively: use negative cost for guards: the more transitions, the better=WCET (need to extend the framework a little bit) Priced Symbolic State ↔ Symbolic Evaluation method Reachability Analysis ↔ Infeasible Path Determination Priced Clock Region ↔ State Space Reduction

7 Min and Max Algorithms Cost = inf Passed =empty Waiting = {(l0, C0)}
While Waiting != empty select (l, C) from Waiting if (l, C) ╞  and min(C) < cost then Cost = min(C) if  (l, C’) in Passed: C’ !subset C then add (l, C) to Passed  (m, D), (l, C) ~>(m, D): add (m, D) to Waiting Return Cost Cost = 0 Passed =empty Waiting = {(l0, C0)} While Waiting != empty select (l, C) from Waiting if (l, C) ╞  and max(C) > cost then Cost = max(C) if  (l, C’) in Passed: C’ !subset C then add (l, C) to Passed  (m, D), (l, C) ~>(m, D): add (m, D) to Waiting Return Cost

8 Obvious Corollaries Problems:
Still need to derive platform specific timing to quantify actual WCET Need to convert existing code to LPTA and extract platform dependent models Recursion! BUT: Can work on a higher level than either source/intermediate/machine code Allows for upstream formal testing Simplicity of modeling aspect Powerful tools for analysis exist (notably Uppaal CORA)

9 Tiny Uppaal Example Taken from Ebbe’s thesis
Note: we’re not using the CORA variant

10 Closing Thoughts Concepts still need refinement
How does LPTA compare to syntax/time trees? Is it really useful?


Download ppt "On Using Linearly Priced Timed Automata for Flow Analysis"

Similar presentations


Ads by Google