A Time-Triggered Middleware for Safety-Critical Automotive Applications