CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, vol.31, 2019 (SCI-Expanded)
We propose a run-time verification mechanism of things for self-healing capability in the Internet of Things domain. We discuss the software architecture of the proposed verification mechanism and its prototype implementations. To identify faulty running behavior of things, we utilize a complex event processing technique by applying rule-based pattern detection on the events generated real time. For events, we use a descriptor metadata of the measurements (such as CPU usage, memory usage, and bandwidth usage) taken from Internet of Things devices. To understand the usability and effectiveness of the proposed mechanism, we developed prototype applications using different event processing platforms. We test the prototype implementations for performance and scalability under increasing message rates. The results are promising because the processing overhead of the proposed verification mechanism is negligible.