Antoine El Hokayem - Runtime Verification of Hierarchical Decentralized Specifications

Organized by: 
Antoine El Hokayem
Antoine El Hokayem
Detailed information: 


  • Thierry Jéron, Senior Research Scientist, INRIA Rennes Bretagne-Atlantique, reviewer
  • Martin Leucker, Professor, University of Lübeck, reviewer
  • Saddek Bensalem,  Professor, Université Grenoble Alpes, examiner
  • Sylvain Hallé, Professor, Université du Québec à Chicoutimi, examiner
  • Klaus Havelund, Senior Research Scientist, NASA Jet Propulsion Laboratory, examiner
  • Leonardo Mariani, Professor, University of Milano Bicocca, examiner
  • Yliès Falcone, Associate Professor, Université Grenoble Alpes, thesis supervisor



Runtime Verification (RV) is a lightweight formal method which consists in verifying that a run of a system is correct with respect to a specification. The specification formalizes the behavior of the system typically using logics or finite-state machines. While RV comprehensively deals with monolithic systems, multiple challenges are presented when scaling existing approaches to decentralized systems, that is, systems with multiple components with no central observation point. We focus particularly on three challenges: managing partial information, separating monitor deployment from the monitoring process itself, and reasoning about decentralization in a modular and hierarchical way. We present the notion of a decentralized specification wherein multiple specifications are provided for separate parts of the system. Decentralized specifications provide various advantages such as modularity, and allowing for realistic monitor synthesis of the specifications. We also present a general monitoring algorithm for decentralized specifications, and a general data structure to encode automata execution with partial observations. We develop the THEMIS tool, which provides a platform for designing decentralized monitoring algorithms, metrics for algorithms, and simulation to better understand the algorithms, and design reproducible experiments.

We illustrate the approach with two applications. First, we use decentralized specifications to perform a worst-case analysis, adapt, compare, and simulate three existing decentralized monitoring algorithms on both a real example of a user interface and randomly generated traces and specifications. Second, we use decentralized specifications to check various specifications in a smart apartment: behavioral correctness of the apartment sensors, detection of specific user activities (known as activities of daily living), and composition of properties of the previous types.

Furthermore, we elaborate on utilizing decentralized specifications for the decentralized online monitoring of multithreaded programs. We first expand on the limitations of existing tools and approaches when meeting the challenges introduced by concurrency and ensure that concurrency needs to be taken into account by considering partial orders in traces. We detail the description of such concurrency areas in a single program execution and provide a general approach which allows re-using existing RV techniques. In our setting, monitors are deployed within specific threads and only exchange information upon reaching synchronization regions defined by the program itself. By using the existing synchronization, we reduce additional overhead and interference to synchronize at the cost of adding a delay to determine the verdict.