This allows additional functionality to be added, buggy components to be removed and bug fixes added without affecting any other component in the system. Message formats are not pre-registered and can evolve during the lifetime of the system. Delivery criteria can also change. Consumers of information can change their registration for delivery at anytime whether due to user preference or component upgrade. These three facilities combine to allow an Elvin enabled application flexibility and robustness that is often mutually exclusive in other systems.
Lets consider a car with an old fuel injection which can be replaced with a new one.
The old EFI did not emit any Elvin events. The new unit emits diagnostic, including fuel consumption and driver style. Control Unit stores summary information which is down-loaded in the garage during the next scheduled service. The control unit does not need any modification because it was always able to store this information but did not because old EFI did not provide it. This information is used to modify the EFI with a new profile specific to the owner of the car.