Test-driven development of embedded control systems: application in an automotive collision prevention system