Automotive Door Controls 4 Nithya Balakrishnan Qiong Wang Brian Koch Trong Nguyen

Download Automotive Door Controls 4 Nithya Balakrishnan Qiong Wang Brian Koch Trong Nguyen

Post on 20-Dec-2015

215 views

Category:

Documents

3 download

Embed Size (px)

TRANSCRIPT

  • Slide 1
  • Automotive Door Controls 4 Nithya Balakrishnan Qiong Wang Brian Koch Trong Nguyen
  • Slide 2
  • Introduction ADC is used to simplify adjusting : Mirror Window Door Lock Motivation Convenience Enhancement of features
  • Slide 3
  • Features Window Controller Move window up or down Lock passengers window controls Drivers 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 passengers mirror to full down
  • Slide 4
  • Slide 5
  • UML Analysis
  • Slide 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
  • Slide 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
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Promela and XSpin
  • Slide 13
  • Critical Properties Safety properties High torque stops window movement Window lock inhibits passengers window controls Liveness Holding drivers window button down for 1 sec causes express down to occur If passengers mirror is selected and the gear is in reverse, then the passengers mirror tilts to full down
  • Slide 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 passengers window controls #define p ( vwinLock_on == 1) #define q ( cur_passgWin_moveUpBy == passenger) #define s ( cur_passgWin_moveDownBy == passenger) Formula : [] ( p -> (! q || ! s) )
  • Slide 15
  • Promela and Xspin Continue Passengers 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 Passengers mirror full down #define p ( event??[pass_select] ) #define q ( event??[switch_reversed] ) #define r ( gear_state == PULLING_DOWN ) Formula : [] (p && q-> r)
  • Slide 16
  • Window Promela