In traditional automotive electronic design, software update has been a component oriented, manual process rather than a systematic designed in capability suitable for automation. In recent days as software content in vehicles grow, the need to update software in vehicles more frequently is becoming a necessity. Moreover, additional attributes for software updates, for example timely delivery of security related update for vehicles, desire to add features using software update, control cost of software updates, etc., requires a system engineered design rather than a component oriented approach. As the automobile domain utilizes various means of mobility (Combustion Engine, Hybrid, Battery, etc.) and various functional domains (Infotainment, Safety, Mobility, Telematics, ADAS (Advance Driving Assist service), Autonomous, etc.), to control the overall cost of future software update for such a diverse environment, it is beneficial to introduce automation in the software update process. One way to facilitate introduction of automation is leveraging a systematic architecture. As the system that is used for updating software is also required to be updated, a stable interface design is very important.
The paper reviews the state of practice and state of art software update system architectures for the automotive domain. It also reviews the current software update architecture of the personal devices domain. Models of these architectures are developed to compare system architectures. To synthesize a suitable system architecture, relevant system attributes are established. Using the system attributes developed, a model of a software update system is synthesized. The developed model is compared with other models. In conclusion, measures to evaluate effectiveness are discussed.