A fail-operational truck platooning architecture
design patterns for safety - critical embedded systems .