Download presentation
Presentation is loading. Please wait.
1
Adaptive Cruise Control Group 2 Presenters:Lydia Eatmon Ben Deneweth Toby Tripp Craig Vasel
2
Unique Feature of System Adjustable safe distance interval Components of adjustable safe distance interval –User interface (at this point unspecified)
3
What Does Feature Support? Functionality of unique feature –Allows driver to adjust the safe distance –Does not allow driver to make the safe distance less than 2 seconds Sample scenario description –Useful for slippery road conditions
4
Key Model Controller state diagram Why important –Where all the work of the ACC is done –Makes all the decisions of the system
5
Controller Model Idle No Cars Ahead Current_speed > 25mph Car Ahead Contact Lost Lead Vehicle Is Too Slow Lead Vehicle Is Too Close Safe Now Contact Gone
6
Key Model Class diagram of entire system Why important –Clarifies how different segments work at the same time –Shows main aspects of system
7
Class Model Adaptive Cruise Control Sensor Speed Radar Cruise Control Actuator Brake Speed Cruise Control Engine Speed User Interface Active Indicator Warning Indicator Safe Interval Adjustment Controller Contact
8
Critical Properties Representative list of critical properties –Collision avoidance –Maintains safe distance –Resumes driver control –Imminent collision warning (Safety) (Liveness) (Safety)
9
Promela and XSpin Analysis –Modeled entire system, separating states with labels –Tested with random sensor feedback –Tested specific event sequences Results –Identified potential deadlock –Verified model behavior Reachability Safety/Liveness Assertions /* "Idle" State */ end_ctrl_idle: ctrl_idle: do :: get_speed!signal; ret_speed?current_speed; if :: ( current_speed goto ctrl_idle; :: ( current_speed > 25 ) -> goto ctrl_no_cars; fi; od; init{ host_speed = 65; target_speed = 45; target_distance = 350; cruise = OFF; radar = CONTACT; radar = NOCONTACT; cruise = ON; host_speed = 85; target_speed = 55; target_distance = 280; radar = CONTACT; } /* speed sensor model */ active proctype speed_sensor() { end_speed_sensor: do :: get_speed?_; ret_speed!10; :: get_speed?_; ret_speed!25; … :: get_speed?_; ret_speed!95; od; } [] ( sentNoContact -> <> (resumeCruise || resumeEngine)) #define sentNoContactradar_sensor[1]@sent_no_contact #define resumeCruisecruise_actuator[1]@resume_cruise #define resumeEngineengine_actuator[1]@resume_engine
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.