Concurrent and real-time programming in ada