Real-time systems - abstractions, languages, and design methodologies