This paper presents the design of a discrete decision making algorithm for vehicles with advanced driver-assistance and automated features. We model the system as a hybrid automaton, where transitions between discrete modes in the automaton correspond to driving mode decisions, and develop a method to determine the timing of mode transitions based on backward and forward reachable sets. The algorithm can be used either as a stand-alone component or as a method to guide an underlying motion planner to safe reference trajectories. Under certain assumptions, the algorithm guarantees safety and liveness, which are validated through computer simulations on a city driving scenario that requires going through multiple discrete modes and includes several surrounding moving obstacles.