I. Introduction
In recent years, Cyber-Physical Systems (CPS) have referred to integrated systems of computing and physical processes that are the foundation of modern applications such as robotics [1], [2], [3], [4], [5], [6]. These robotic systems have significantly improved the quality of our lives and have been widely deployed in various fields to enhance work efficiency. The Robot Operating System (ROS) is a software framework, first released in 2007, designed to facilitate the development of robotic systems and component applications [7], [8]. ROS comprises essential packages known as the client library, allowing developers the flexibility to extend ROS with specific functionalities through the addition of extra packages tailored to their requirements [9], [10], [11]. Since ROS consists of various elements such as robotic arms and autonomous robots, it requires real-time and security guarantees [12], but unfortunately, these two trade off each other. For example, a robotic system in ROS is formed from multiple parts or tasks, called nodes, each normally runs as a separate process. The ROS design that maps each node to one process has pros and cons. This design would be advantageous as OS-supported process isolation mechanisms protect nodes from each other by running them in separate address spaces. In other words, through process isolation, ROS can isolate faulty nodes from each other in the system by precluding the possibility that one fault in the memory of a node affects other nodes. However, it also has a downside that would adversely affect the performance of collaborating nodes because they always have to explicitly transfer data between them via message passing that usually relies on the OS-level expensive inter-process communication (IPC) mechanism. Evidently, such an adverse performance effect would be exacerbated when nodes communicate more frequently for closer interaction.