Modeling and Verifying Concurrent Reactive Systems Using Separation Logic
摘要
Reactive systems depend on a well-defined set of event handlers to continuously respond to environmental stimuli. In concurrent environments, interactions between these handlers introduce additional complexities, such as hardware interrupts in preemptive systems and inter-handler communication in multicore architectures. Existing techniques for concurrency in imperative languages often face challenges in modeling potentially unbounded sequences of handler invocations and accurately capturing the event context—both of which are essential for effective reasoning about concurrent reactive systems. In this paper, we present ReCore, a fully mechanized framework for modeling and verifying shared resources in concurrent reactive systems. Building upon PiCore, an event-based language that naturally represents unbounded handler invocation sequences and precisely tracks event context, we develop a separation logic-based reasoning framework tailored for concurrent reactive system correctness verification. Our ReCore framework is implemented in Isabelle/HOL and validated through a nontrivial case study involving the concurrent stack mechanism in Zephyr’s IPC module, demonstrating its practical effectiveness.