Cloud-9 Questions


I’m trying to get a very in depth understanding of everything which makes the ROV run and have been making some pretty good progress, I just have a couple questions though about cloud-9. I am not sure what exactly cloud-9 does for the openROV. If i had to take a guess I would say that this is the piece which uploads arduino scripts to the controller board as well as the javascripts, but I am not entirely sure. If anyone can give me a pretty in depth run down of what function cloud-9 plays in the overall project that would be very appreciated.
Also, as an additional question, what purpose do the shell scripts play and what script actually runs the shell scripts to perform their functions. The programming involved in this project uses some very useful tools and I would love to know as much about the software involved as I can so I can get into some serious hacking on the ROV and whatever other projects the skills used in this project apply.
Any answers are very appreciated, and any additional information any of you out there have which can further my understanding of how the openROV 2.7 works is very appreciated as well. Thank you.