Model Driven Engineering for Distributed Real-time Embedded Systems