A bi-criteria scheduling heuristic for distributed embedded systems under reliability and real-time constraints