Open Systems Laboratory at Illinois

A compositional approach for modeling and timing analysis of wireless sensor and actuator networks

By Marjan Sirjani, Ehsan Khamespanah, Kirill Mechitov, and Gul Agha. SIGBED Review, 14(3):49–56, 2017.

Publisher Link:


Wireless sensor and actuator networks (WSAN) are created through the integration of multiple nodes which acquire data and perform reaction based on them. In a general overview, sensor nodes of WSANs are responsible for data acquisition and sending them to a central node. The central node stores all the received data and performs reactions. Timing verification of WSAN applications to ensure schedulability of tasks is a challenge, and is generally performed by worst-case analysis. This process is error-prone and inherently conservative. On the other hand, using model checking for analyzing WSAN applications results in state space explosion even for middle-sized configurations. The reason is the necessity of considering the interleaving of the large number of sensors in WSANs. In this paper, we show how to build an actor-based model of WSAN applications, starting from sensor node-level and moving towards the full system, and we show how this compositional modeling improves analysability and modifiability. Realtime extension of actor model is appropriate for modeling WSAN applications where we have many concurrent and asynchronous processes, and interdependent realtime deadlines. We demonstrate the approach using a case study of a distributed realtime data acquisition system for high-frequency sensing, where Timed Rebeca is used for modeling. We use model checking to check the intra/inter-sensor node schedulability.


    author = "Sirjani, Marjan and Khamespanah, Ehsan and Mechitov,
              Kirill and Agha, Gul",
    title = "A compositional approach for modeling and timing analysis
             of wireless sensor and actuator networks",
    biburl = "",
    doi = "10.1145/3166227.3166237",
    journal = "{SIGBED} Review",
    number = "3",
    pages = "49--56",
    timestamp = "Tue, 06 Nov 2018 00:00:00 +0100",
    url = "",
    volume = "14",
    year = "2017",