A system for applying a recovery mechanism to a plurality of: computer software components (90A-90D) that control medical diagnostics, the system comprising: a plurality of medical diagnostics instruments, each associated with a computer software component (90A-90D), wherein each computer software component comprises: a communication module comprising a communication class library for communicating with a Configuration Management Service, further referred to as CMS, using a CMS client, wherein the communication module is arranged to report on a malfunctioning of the respective computer software components; and a service client (402A-402B) for providing a service to another computer software component through a registration process supervised by the CMS; a recovery module configured to implement the CMS and configured further to: (i) periodically obtain, using the CMS, reports from the communication modules (110A-110D) every certain period of time, the reports enabling a determination of whether computer software components are malfunctioning; (ii) reload the malfunctioning computer software components (90A-90D), wherein reloading the malfunctioning computer software component of a first medical diagnostics instrument comprises creating, at a communication layer of the reloaded computer software component: a new CMS client, and a new service client for providing a service to another computer software component of a second medical diagnostic instrument; and (iii) notify, using the CMS, all communication modules (110A-110D) of the reloading of the malfunctioning computer software components (90A-90D); wherein each communication module (110A-110D) is further configured to use the communication class library of the respective communication module (110A - 110D) to re-establish a connection between the corresponding one of the plurality of the computer software components (90A-90D) and the reloaded computer software components (90A-90D). a communication module comprising a communication class library for communicating with a Configuration Management Service, further referred to as CMS, using a CMS client, wherein the communication module is arranged to report on a malfunctioning of the respective computer software components; and a service client (402A-402B) for providing a service to another computer software component through a registration process supervised by the CMS; a recovery module configured to implement the CMS and configured further to: (i) periodically obtain, using the CMS, reports from the communication modules (110A-110D) every certain period of time, the reports enabling a determination of whether computer software components are malfunctioning; (ii) reload the malfunctioning computer software components (90A-90D), wherein reloading the malfunctioning computer software component of a first medical diagnostics instrument comprises creating, at a communication layer of the reloaded computer software component: a new CMS client, and a new service client for providing a service to another computer software component of a second medical diagnostic instrument; and (iii) notify, using the CMS, all communication modules (110A-110D) of the reloading of the malfunctioning computer software components (90A-90D); (i) periodically obtain, using the CMS, reports from the communication modules (110A-110D) every certain period of time, the reports enabling a determination of whether computer software components are malfunctioning; (ii) reload the malfunctioning computer software components (90A-90D), wherein reloading the malfunctioning computer software component of a first medical diagnostics instrument comprises creating, at a communication layer of the reloaded computer software component: a new CMS client, and a new service client for providing a service to another computer software component of a second medical diagnostic instrument; and a new CMS client, and a new service client for providing a service to another computer software component of a second medical diagnostic instrument; and (iii) notify, using the CMS, all communication modules (110A-110D) of the reloading of the malfunctioning computer software components (90A-90D); wherein each communication module (110A-110D) is further configured to use the communication class library of the respective communication module (110A - 110D) to re-establish a connection between the corresponding one of the plurality of the computer software components (90A-90D) and the reloaded computer software components (90A-90D).