UCb Validation & Verification Timed Automata Construction of UPPAAL models & Controller Program Plant Model Checking Discrete Continuous Using UPPAALx : x ∈ {1,2,3,4} sensors Task Task Task Task Model actuators of tasks Kim Guldstrand Larsen (automatic) BRICS@Aalborg & FMT@Twente Model 1 2 a 1 2 of 3 4 environment b c 3 4 (user-supplied) 1 2 a Formal UC UCb b 1 2 methods a b c 3 4 & Tools b c 3 4 UPPAAL Model 2 DISC Summer School, June 2003 Kim G. Larsen UCb UCb …and Beyond Synthesis of Control Program Timed Automata review Alur & Dill 1990 Controller Program Clocks: x, y Plant Discrete Continuous n Guard sensors Boolean combination of integer bounds Task on clocks and clock-differences . Task Synthesis Task of Task Reset actuators Action tasks/scheduler x<=5 & y>3 used Action perfomed on clocks (automatic) for synchronization State a ( location , x =v , y =u ) where v,u are in R Model 1 2 Transitions a x := 0 of 1 2 3 4 a s ( n , x =2.4 , y =3.1415 ) environment a n T r e b c m e t c r 3 4 D i s (user-supplied) ( m , x =0 , y =3.1415 ) 1 2 a 1 2 a e(1.1) 3 4 b c n s a ( n , x =2.4 , y =3.1415 ) T r a y e l b c D ( n , x =3.5 , y =4.2415 ) 3 4 Partial UPPAAL Model DISC Summer School, June 2003 Kim G. Larsen 3 DISC Summer School, June 2003 Kim G. Larsen 4 UCb UCb Timed Automata review Invariants n Clocks: x, y x<=5 Transitions x<=5 & y>3 e(3.2) Location ( n , x =2.4 , y =3.1415 ) Invariants a e(1.1) ( n , x =2.4 , y =3.1415 ) ( n , x =3.5 , y =4.2415 ) x := 0 m y<=10 g4 Invariants ensure Invariants ensure g1 g2 g3 progress!! progress!! DISC Summer School, June 2003 Kim G. Larsen 5 DISC Summer School, June 2003 Kim G. Larsen 6 1
UCb UCb 7 8 DISC Summer School, June 2003 Kim G. Larsen DISC Summer School, June 2003 Kim G. Larsen UCb UCb Timed Automata: Example guard location a action reset-set DISC Summer School, June 2003 Kim G. Larsen 9 DISC Summer School, June 2003 Kim G. Larsen 10 UCb UCb Timed Automata: Example Timed Automata: Example guard location x ≤ 3 a a a a a Invariant action reset-set DISC Summer School, June 2003 Kim G. Larsen 11 DISC Summer School, June 2003 Kim G. Larsen 12 2
UCb UCb Timed Automata: Example Fundamental Results PSPACE-c � Reachability ☺ Alur, Dill � Trace-inclusion Alur, Dill � Timed � ; Untimed ☺ a a a ≤ a � Bisimulation x 3 � Timed ☺ ; Untimed ☺ Cerans � Model-checking ☺ Invariant PSPACE-c / EXPTIME-c � TCTL, T mu , L nu ,... 13 14 DISC Summer School, June 2003 Kim G. Larsen DISC Summer School, June 2003 Kim G. Larsen UCb UCb Updatable Timed Automata Other Extensions W Diagonals Patricia Bouyer, Catherine Dufourd, � Ordinary clocks ..... x rate 1 Emmanuel Fleury, Antoine Petit � Integer variables .... x rate 0 Cassez, Larsen � Stopwatches ..... x rate 0 or x rate 1 ( loc.dep .) W Diagonals � Cost ….. c rate n where n is in Nat , however c cannot be guarded � Const. slope clocks .. x rate n where n is in Nat � Parameters .... x rate 0 (and NOT assignable) � Multirate clocks H y T Lin. Hyb. Aut. ..... x rate [l,u] where l,u is in Nat e c h linear guards & linear asgn . DISC Summer School, June 2003 Kim G. Larsen 15 DISC Summer School, June 2003 Kim G. Larsen 16 UCb UCb The UPPAAL Model Parallel Composition (a’la CCS) = Networks of Timed Automata + Integer Var + Array Var + …. m1 m1 l1 l1 Two-way synchronization Two-way synchronization Two-way synchronization Two-way synchronization x>=2 x>=2 y<=4 …………. on complementary actions. y<=4 …………. on complementary actions. on complementary actions. i==3 on complementary actions. a! a? a! a? Closed Systems! Closed Systems! Closed Systems! Closed Systems! x := 0 x := 0 i:=i+4 l2 m2 l2 m2 Example transitions Example transitions tau tau ( l1 , m1 ,………, x=2, y=3.5,…..) ( l2,m2 ,……..,x=0, y=3.5, …..) ( l1 , m1 ,………, x=2, y=3.5, i=3,…..) ( l2,m2 ,……..,x=0, y=3.5, i=7,…..) 0.2 0.2 ( l1,m1 ,………,x=2.2, y=3.7, …..) ( l1,m1 ,………,x=2.2, y=3.7, I=3,…..) If a URGENT CHANNEL If a URGENT CHANNEL DISC Summer School, June 2003 Kim G. Larsen 17 DISC Summer School, June 2003 Kim G. Larsen 18 3
UCb UCb First UPPAAL model LEGO Mindstorms/RCX Ken Tindell Sor Sorting of ng of L Lego Bo Boxes � Sensors: temperature, 3 output ports Piston light, rotation, pressure. Boxes eject � Actuators: motors, lamps, remove 99 � Virtual machine: Conveyer Belt red � 10 tasks, 4 timers, 18 81 9 90 Blck 1 infra-red port 16 integers. 3 input ports Rd Controller � Several Programming Languages: MAIN PUSH Black � NotQuiteC, Mindstorm, Robotics, legOS, etc. Exercise: Design Controller so that only black boxes are being pushed out 19 20 DISC Summer School, June 2003 Kim G. Larsen DISC Summer School, June 2003 Kim G. Larsen UCb int active; int active; NQC programs int DELAY; int DELAY; int LIGHT_LEVEL ; int LIGHT_LEVEL ; task MAIN{ task MAIN{ DELAY=75; DELAY=75; task PUSH{ task PUSH{ LIGHT_LEVEL=35; LIGHT_LEVEL=35; while(true){ active=0; while(true){ active=0; wait(Timer(1)>DELAY && active==1); wait(Timer(1)>DELAY && active==1); Sensor(IN_1, IN_LIGHT); Sensor(IN_1, IN_LIGHT); active=0; active=0; Fwd(OUT_A,1); Fwd(OUT_A,1); Rev(OUT_C,1); Rev(OUT_C,1); Display(1); UPPAAL Demo Display(1); Sleep(8); Sleep(8); Fwd(OUT_C,1); Fwd(OUT_C,1); start PUSH; start PUSH; Sleep(12); Sleep(12); Off(OUT_C); Off(OUT_C); while(true){ while(true){ } } wait(IN_1<=LIGHT_LEVEL); wait(IN_1<=LIGHT_LEVEL); } } ClearTimer(1); ClearTimer(1); active=1; active=1; PlaySound(1); PlaySound(1); wait(IN_1>LIGHT_LEVEL); wait(IN_1>LIGHT_LEVEL); } } } } IDA foredrag 20.4.99 DISC Summer School, June 2003 Kim G. Larsen 21 UCb UCb The Production Cell From RCX to UPPAAL Course at DTU, Copenhagen Task MAIN � Model includes Round-Robin Scheduler. � Compilation of RCX tasks into TA models. � Presented at ECRTS 2000 Production Cell DISC Summer School, June 2003 Kim G. Larsen 23 DISC Summer School, June 2003 Kim G. Larsen 24 4
UCb UCb Case-Studies: Controllers Case Studies: Protocols � Philips Audio Protocol [HS’95, CAV’95, RTSS’95, CAV’96 ] � Gearbox Controller [TACAS’98] � Collision-Avoidance Protocol [SPIN’95] � Bang & Olufsen Power Controller � Bounded Retransmission Protocol [TACAS’97] [RTPS’99,FTRTFT’2k] � Bang & Olufsen Audio/Video Protocol [RTSS’97] � SIDMAR Steel Production Plant [RTCSA’99, DSVV’2k] � TDMA Protocol [PRFTS’97] � Real-Time RCX Control-Programs [ECRTS’2k] � Lip-Synchronization Protocol [FMICS’97] � Experimental Batch Plant (2000) � Multimedia Streams [DSVIS’98] � RCX Production Cell (2000) � ATM ABR Protocol [CAV’99] � Terma, Memory Management for Radar (2001) � ABB Fieldbus Protocol [ECRTS’2k] � IEEE 1394 Firewire Root Contention (2000) 25 26 DISC Summer School, June 2003 Kim G. Larsen DISC Summer School, June 2003 Kim G. Larsen UCb UCb Communication via channels and Train Crossing Train Crossing shared variable. Stopable Stopable Area Area [10,20] [10,20] appr, [3,5] [3,5] leave stop Crossing Crossing [7,15] [7,15] el el go River River Queue Queue empty nonempty hd, add,rem Gate Gate DISC Summer School, June 2003 Kim G. Larsen 27 DISC Summer School, June 2003 Kim G. Larsen 28 UCb UPPAAL 3.2 (and 3.3, 3.4) Released October 01 � Graphical User Interface www.uppaal.com � XML based file format THE UPPAAL ENGINE � Better syntax-error indicataion � Drop-and-drag for transitions � Changed menu Symbolic � Verification Engine Reachability � Restructured (increased flexibility) Checking � Normalization-bug fixed � More freedom in combing optimization options � Deadlock checking � Support for more general properties (E[]p, A<>p, p � q) IDA foredrag 20.4.99 DISC Summer School, June 2003 Kim G. Larsen 29 5
Recommend
More recommend