A method for updating a software of a sub-sea controller (31) located
under the sea level. The sub-sea controller manages a plurality of tools
in a sub-sea well. An application module (35) is downloaded into the
sub-sea controller. The application module is executed using a virtual
machine (36) implemented within the sub-sea controller.