What is RapidNet?

RapidNet is a development toolkit for rapid simulation, implementation and experimentation of network protocols. RapidNet utilizes declarative networking, a declarative, database-inspired extensible infrastructure that uses query languages to specify behavior. RapidNet integrates a declarative networking engine with the emerging ns-3 network simulator.

Network protocols are specified using Network Datalog (NDlog), which is a distributed recursive query language. Protocol specifications in NDlog are compiled into ns-3 code (in C++) using the RapidNet compiler. The compiled code runs as an ns-3 application in simulation mode. The same NDlog specifications can also be used as an actual implementation using the ns-3 network emulator, hence providing a bridge between simulation and testbed-based experimentation.

The long term goal of RapidNet is to provide a unified platform for rapid prototyping, synthesis, and deployment of new network protocols.

Acknowledgments

This work is based on work supported in part by NSF grants CNS-0721845, CCF-0820208, IIS-0812270, and CNS-0845552.

RapidNet Development Cycle

RapidNet Development Cycle