RT-DB SensNetSim


This simulator named RT-DB SensNetSim is an object-oriented model mainly built for a simulation framework of Real-Time Database (RT-DB) techniques for WSNs implemented in Java. The model is based on the distributed approach and uses the Earliest Deadline First (EDF) protocol to schedule transactions and the Epsilon Serializability techniques to allow conflicting transactions to execute simultaneously and control the imprecision on the data.

However, the simulator is at early stages of software development and, although it was built for RT-DB protocols for WSN, it may be improved by adding the simulation of protocols or incorporating it in another existing simulator with acceptable characteristics of network protocols, layout, task scheduling by the operating system, GUI, etc.

When you use this tool, please cite this paper below:


Ousmane Diallo, Joel J. P. C. Rodrigues, Mbaye Sene, and Jaime Lloret “Simulation Framework for Real-Time Database on WSNs”, in Journal of Network and Computer Applications, Elsevier, ISSN: 1084-8045, Vol. 39, March 2014, pp. 191-201, DOI: 10.1016/j.jnca.2013.07.001.


The simulator is for applications that use firm real-time transactions and is implemented in Java programming language. In the file containing the MainSimulation class, a practitioner can configure almost all the parameters of the simulation as follows: 

  • Initialize the real-time-update-query transactions: configuration of the number of local and server updates and their parameters. 

        LocalUpdate(long liberationTime, long period)

          ServerUpdate(long id, long liberationTime, long period, long executionTime,  long deadline, int limitExport)

  • Initialize the network: initialize the network with the number of sensor nodes composing the network and their parameters.

        SensorNetworkNode(int identification, float energy,  LocalUpdate l, ServerUpdate s)

          network= {number of nodes}

  • Initialize the Gateway: for informing the gateway about the topology of the network.

        Gateway(SensorNetwork, int sizeDb)

  • Initialize the instant-query transactions

        Transactions(int idTransaction, targetedNodes)

  • Initialize the long-running-query transactions

        Transactions(int idTransaction, String type, long  periode, String initialize, String  terminate, targetedNodes)

  • Initialize the real-time-read-only-query transactions: initialize the number of real-time-read-only-query transactions and their parameters.

        RTreadTransaction(long idTransaction, long  executeTime, long deadline, int  limitImport, targetedNodes)

Compilation and execution

The compilation and execution is simple. The practitioner can use any IDE for Java, such as NetBeans, import the packages as simple project, built and execute the simulation.


The following images are taken from our software.

Top of Page