A computer-implemented method comprising: collecting, by a server , a profile of a vehicle comprising an update gateway , wherein the vehicle comprises a plurality of controller units that are in communication with the update gateway that controls the updating of machine-readable instructions executing on the controller units, wherein the profile includes information relating to the controller units and installed releases of the machine-readable instructions executing on the controller units , and wherein the controller units of the vehicle include at least a subset of controller units dependent on each other such that one controller unit of said subset cannot be updated unless the other controller units of said subset are also updated; receiving , by the server through a console accessible by different vendors of controller units , releases comprising machine-readable instructions from the different vendors , the releases being for updating the machine-readable instructions executing on respective controller units of the vehicle ; communicating , by the server , the releases wirelessly to the update gateway of the vehicle to update machine-readable instructions executing on each of the respective controller units of said subset of controller units of the vehicle ; the update gateway causing all or none of the releases to be installed to update the machine-readable instructions executing on each of the respective controller units of said subset of controller units of the vehicle ; sending to the server , by the update gateway , information regarding a status relating to the update of the machine readable instructions, the status selected from among success, failure, partial failure, rollback, and retry; and determining, by the server, in response to the information regarding the status relating to the update of the machine readable instructions, a cause of a problem relating to the installation of the releases. collecting, by a server , a profile of a vehicle comprising an update gateway , wherein the vehicle comprises a plurality of controller units that are in communication with the update gateway that controls the updating of machine-readable instructions executing on the controller units, wherein the profile includes information relating to the controller units and installed releases of the machine-readable instructions executing on the controller units , and wherein the controller units of the vehicle include at least a subset of controller units dependent on each other such that one controller unit of said subset cannot be updated unless the other controller units of said subset are also updated; receiving , by the server through a console accessible by different vendors of controller units , releases comprising machine-readable instructions from the different vendors , the releases being for updating the machine-readable instructions executing on respective controller units of the vehicle ; communicating , by the server , the releases wirelessly to the update gateway of the vehicle to update machine-readable instructions executing on each of the respective controller units of said subset of controller units of the vehicle ; the update gateway causing all or none of the releases to be installed to update the machine-readable instructions executing on each of the respective controller units of said subset of controller units of the vehicle ; sending to the server , by the update gateway , information regarding a status relating to the update of the machine readable instructions, the status selected from among success, failure, partial failure, rollback, and retry; and determining, by the server, in response to the information regarding the status relating to the update of the machine readable instructions, a cause of a problem relating to the installation of the releases. <EOS>