Software Engineering for Automotive Systems (Principles and Applications)