System-Level Middleware for Embedded Hardware and Software Communication