Download presentation
Presentation is loading. Please wait.
1
Automotive Door Controls 4 Nithya Balakrishnan Qiong Wang Brian Koch Trong Nguyen
2
Introduction ADC is used to simplify adjusting : Mirror Window Door Lock Motivation Convenience Enhancement of features
3
Features Window Controller Move window up or down Lock passenger’s window controls Driver’s window express down Door Lock Controller Lock or unlock all the vehicle doors Mirror Controller Move the external mirrors of the vehicle Store and load the mirror positions from memory Tilt the passenger’s mirror to full down
5
UML Analysis
6
Problems with analysis Defining actors Included motors as actors Manual locks Did not include them in the system Defining the classes Defined each controller as a class
7
Problems with analysis continued Relationships between classes Inheritance between passenger controllers Organizations of the layout of the classes Rearranged the layout to avoid overlapping lines
12
Promela and XSpin
13
Critical Properties Safety properties High torque stops window movement Window lock inhibits passenger’s window controls Liveness Holding driver’s window button down for 1 sec causes express down to occur If passenger’s mirror is selected and the gear is in reverse, then the passenger’s mirror tilts to full down
14
Promela and XSpin Verify window process behaviors High torque eventually stops window movement #define p ( vdrWinTorqueHigh == 1) #define q (cur_drWin_state == stop ) Formula : [] (p -> <> q) Window lock inhibits passenger’s window controls #define p ( vwinLock_on == 1) #define q ( cur_passgWin_moveUpBy == passenger) #define s ( cur_passgWin_moveDownBy == passenger) Formula : [] ( p -> <> (! q || ! s) )
15
Promela and Xspin Continue Passenger’s window conflict will stop window #define p ( passgWinConflict == 1) #define q ( cur_passgWin_state == moveUp) #define s ( cur_passgWin_state == moveDown) #define r ( cur_passgWin_state == stop ) Formula : [] ( ( (q || s) && p ) -> <> r) Verify Mirror process behaviors Passenger’s mirror full down #define p ( event??[pass_select] ) #define q ( event??[switch_reversed] ) #define r ( gear_state == PULLING_DOWN ) Formula : [] (p && q-> <> r)
16
Window Promela
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.