The Underwater Networks Project
At the heart of the Unet project, we have UnetStack, an agent-based network stack and simulator designed to run highly optimized protocols for use in underwater communication networks. Although the default stack provides everything needed to get a basic underwater network working, the real power of the stack lies in its customizability and extensibility. It not only allows you to easily configure a network to meet your needs, but also to automate network management, develop, simulate and test new network protocols, and implement software-defined signaling at the physical layer.
New to underwater networks? Unet is the perfect place to explore and learn about underwater networks. You simply need a computer with a Java VM to get started. Once you are ready to start testing to sea, you can copy your solution to a set of supported underwater modems.
Each underwater network is different. UnetStack is easily customized to meet your needs. Control which agents are active, and configure them. Use Groovy to add event-triggered behaviors and scripts. Reconfigure your stack dynamically, or even remotely.
The basic stack does not adequately meet your needs? No problem – simply extend UnetStack using Java or Groovy. Develop and test your own network protocols. Add network agents with sophisticated behaviors. Develop new channel models for performance simulation.
Need to integrate UnetStack with an underwater sensor, an autonomous underwater vehicle or with a mission control center? With full Java and Groovy support, it is simple to interface with existing systems over serial ports, network sockets, or web services.
Use the simulator to test your solutions and protocols in a simulated underwater network. Interact with your application or agents in real-time, or switch to a discrete-event mode to collect days or weeks of network performance statistics in minutes.
Simply copy your agents and scripts to supported underwater modems, and you are ready to test at sea. No need for porting or recompilation! Effortlessly take what you have tested in simulation out for field testing.