Applications of Multi-Agent Systems in Unmanned Surface Vessels