RapidNet

Introduction

RapidNet is a development toolkit for rapid simulation and implementation of network protocols. RapidNet integrates a declarative networking engine with ns-3 and thus provides it a declarative interface. Protocols in RapidNet are written in a declarative programming language called NDlog, which stands for Network Datalog. These protocols are compiled using the RapidNet Compiler into C++ code that runs over the RapidNet Library.

Current version of RapidNet is implemented over version ns-3.5.

RapidNet Compiler

The RapidNet compiler parses the input NDlog protocols and translates them into an intermediate form of event-condition-action (ECA) rules. This representation of the protocol is compiled into C++ code that runs as an application over ns-3.

RapidNet Library

The RapidNet library is an extension over ns-3. It implements the common utilities across all RapidNet applications like the database engine, database operators, handling of network events, the type system, expression trees and so on.

Refer to the Modules page for API documentation on the RapidNet library and compiler.

List of Files and Folders

Following source folders are added to the base ns-3 for RapidNet:

RapidNet adds a few example scripts in the examples folder. Additionally, a few Python scripts are added to the following folders for:

Sample Applications

Several sample RapidNet applications are included in the release:

Example Experiments

The examples folder contains a few experiments to run a few of the above protocols:

It also includes a generic runner script to simulate any protocol under different experimental settings. This script is: examples/rapidnet-app-simulator.cc. A similar script for emulation is examples/rapidnet-app-emulator.cc. See RapidNet How-To's for documentation on these scripts.

Refer to RapidNet How-To's for getting started with RapidNet.


Generated on Fri Apr 9 15:00:42 2010 for NS-3 by  doxygen 1.5.8