Reusable models for timing and liveness analysis of middleware for distributed real-time and embedded systems