A component-based approach to the design of networked control systems