A Middleware-centric design methodology for networked embedded systems