Download presentation
Presentation is loading. Please wait.
Published byJeffery French Modified over 6 years ago
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?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.