UCBT (stands for University of Cincinnati - BlueTooth) is a ns-2 based Bluetooth network module which simulates the Bluetooth network operations in great details. Most specifications at Baseband and above like LMP, L2CAP, BNEP have been simulated in UCBT, including frequency hopping scheme, device discovery, connection set up, Hold, Sniff and Park modes management, role switch and multi-slot packet type negotiation, SCO voice connection, etc. There is a provision to constitute a cluster of Bluetooth devices and such formation with up to 8 Bluetooth devices is known as a piconet. It also allows a number of piconets to be connected together using "bridge nodes" and such a large network is usually referred to as a scatternet.
UCBT is not the first ns-2 based Bluetooth simulator. BlueHoc developed at IBM and its scatternet extension, Blueware at MIT, both pre-date UCBT. However, with 28,000+ lines of C++ code, UCBT is the most accurate, complete and up-to-date open-source Bluetooth simulator. UCBT adapts to the PAN profile with Bluetooth Network Encapsulation Protocol (BNEP). UCBT takes clock drift into account, which is very important for simulating synchronization or scheduling protocols accurately, as difference devices will drift apart in long period. UCBT also includes the newly adopted Enhanced Data Rate (EDR) specification to simulate new devices with 2 or 3 Mbps data rate. One of our main contributions is that UCBT provides a flexible framework to conduct Bluetooth scatternet research. A scatternet requires time sharing of some common devices (bridges) among piconets. Coordination of the presence schedule of bridge nodes in a large mesh scatternet is very challenging. UCBT provides multiple bridge scheduling algorithms to enable scatternets to operate smoothly. Prototype self-organized scatternets are being designed and simulated.
Radio Channel/PHY is not modeled explicitly. We model it using a configurable Loss model and Interpiconet interference detection model. The table driven loss model using by BlueHoc is available too.
Baseband moduling is fairly complete. As expected, it has a correct frequency hopping kernel which generates the same sequence as illustrated on the Specs 1.1 (pp963-968). It handles multiple slots packets. It handles SCO. It understand clock drift.
Handle Link setup, Role Switch, Link Suspension (Hold, Sniff, and Park) and Piconet Switch.
Handle SAR and Protocal Multiplexing.
Provide MAC interface to higher layer such as LL.
SCO connections are handled by SCO-Agents, which bridge Baseband/LMP and Applications.
Mobility is specified as the wlan node style. That is, let node 'setdest' at specific time to change the direction and speed.