150 likes | 296 Views
Temporal Logics for Analyzing Hybrid Systems Simulation Traces. VehicleSim Simulator. MATLAB Simulink. Physical Simulation. Visual Tools PTOLEMY CHARON. Sources of Simulation Traces. VehicleSim : A software simulator for vehicle dynamics Simulation Traces from MATLAB / Simulink
E N D
Temporal Logics for Analyzing Hybrid Systems Simulation Traces
VehicleSim Simulator MATLAB Simulink Physical Simulation Visual Tools PTOLEMY CHARON Sources of Simulation Traces • VehicleSim : A software simulator for vehicle dynamics • Simulation Traces from MATLAB / Simulink • Physical testing of vehicles on roads • Hybrid Systems Visual Tools: Ptolemy (Berkeley), CHARON (UPenn)
Temporal Logic • We can define “interesting” events and sequence of events. • Event a does not ever happen before event b • Event a is eventually followed by event b • Event a is always accompanied by event b • Event a follows event b within two time steps. • Forces definition of formal correctness properties • Easier-to-use sugar-coated versions like Intel’s FORSPEC
Overall System Design Temporal Property VehicleSim Simulator MATLAB Simulink Automated Trace Analyzer Simulation Trace Physical Simulation Report Visual Tools PTOLEMY CHARON
Example • Always (a <= b) • The value of a never exceeds the value of b. a <= b a > b ERROR
Trace: a b c 0 0 0 1 2 100 Example • Always (a=b X (c=100) ) • If the value of a equals the value of b, then c must take the value 100 in 1 time step. True a = b c!=100 c=100 ERROR
Trace: a b c 0 0 0 1 2 100 Example • Always (a=b X (c=100) ) • If the value of a equals the value of b, then c must take the value 100 in 1 time step. True a = b c!=100 c=100 ERROR
Trace: a b c 0 0 0 1 2 100 Example • Always (a=b X (c=100) ) • If the value of a equals the value of b, then c must take the value 100 in 1 time step. True a = b c!=100 c=100 ERROR
Trace: a b c 0 0 0 1 2 99 Example • Always (a=b X (c=100) ) • If the value of a equals the value of b, then c must take the value 100 in 1 time step. True a = b c!=100 c=100 ERROR
Trace: a b c 0 0 0 1 2 99 Example • Always (a=b X (c=100) ) • If the value of a equals the value of b, then c must take the value 100 in 1 time step. True a = b c!=100 c=100 ERROR
Trace: a b c 0 0 0 1 2 99 Example • Always (a=b X (c=100) ) • If the value of a equals the value of b, then c must take the value 100 in 1 time step. True a = b c!=100 c=100 ERROR
Research Questions • How to capture the continuity of trace data ? • How to capture the notion of continuous time? • Do we need a richer yet understandable logic in line with FORSPEC for Hybrid Systems? • Online vs. Offline monitoring • If monitoring is offline, can we write efficient algorithms that can “look into the future”
Overall System Design Temporal Property VehicleSim Simulator MATLAB Simulink Automated Trace Analyzer Simulation Trace Physical Simulation Your inputs? Report Visual Tools PTOLEMY CHARON
Robustness of Hybrid Systems and Simulation Traces • If two traces have a prefix equivalent under a “robustness” assumption, we can combine them into an execution tree.