Skip to content

Releases: arleserp/NetworkRecoverySim

Network Recovery Simulator 1.0

Choose a tag to compare

@arleserp arleserp released this 05 Feb 00:55
084ebc9

Network Recovery Simulator v 1.0

Network Recovery Simulator is a simulator that allows simulating network reconstruction algorithms by applying multi-agent systems and developing a simulation in discrete time. Given an initial state of a network modeled as a graph, the simulator allows to evaluate rules to be able to reconstruct the structure of a given network using information that is distributed in the nodes of a network and that corresponds to the topology of a given network.

Various types of experiments can be carried out in the simulator:

• One where multicast is used to synchronize and make nodes obtain network topology information from their neighbors.
• Another where mobile agents can be applied to synchronize the data corresponding to the topology of a network.

Analysis

For the development of the simulation, the ODD protocol for documentation and development of multi-agent systems was applied as a methodology. The entities to be modeled were defined and three main ones that the simulator models were determined:

  • Node
  • Mobile Agent
  • Environment.

Design

The different types of agents were modeled and several types of experiments were designed that were coded in the simulator:

  • An initial experiment in which the nodes are given information about the topology of the given network and failures are applied to the nodes for a given period of time defined in rounds and the algorithm that allows recovering the structure of a network is executed Dadaist. This allows evaluating the failure rate of each node for given network topology and whether it is possible to maintain a network structure for this failure rate.

  • From this simulation, another scenario is modeled in which a data collection algorithm (multicast or mobile agents) is applied for a period of time so that through this algorithm the information on the topology of a given network is synchronized. After this period of time, faults are applied to the nodes and the network recovery algorithm is executed.

The following metrics are additionally defined in the simulator:

  • Number of messages sent between the nodes.
  • Number of messages transmitted by mobile agents.
  • Size in bytes of the node-node and mobile agents-node communication.
  • Memory occupied by nodes and agents during a simulation.

Implementation

The implementation is done in Java to be executed on a single machine. The agents run in parallel in random order and are synchronized at the end of each round to collect memory and communication metrics between them.

Validation

The simulator validation is performed by experimental measurement applying the experiments seen in the design phase. By comparing the experiments, the correct operation of the simulator is determined.

The simulator results were published in the Journal: Autonomous Agents and Multi-Agent Systems. Post link and full reference are listed below: https://link.springer.com/article/10.1007/s10458-020-09486-3.

Rodríguez, A., Gómez, J., & Diaconescu, A. (2020). A decentralized self-healing approach for network topology maintenance. Autonomous Agents and Multi-Agent Systems, 35 (1), 6. https://doi.org/10.1007/s10458-020-09486-3

Platform

It can be run on any operating system with JRE.

Ambient

Java-JRE.