Each function is the responsibility of a different micromodule; a dispatcher module monitors the functioning of the micromodules. If a function encounters an error and a process is quit unexpectedly, the dispatcher module automatically relaunches the corresponding micromodule. This does not affect the performance of other processes or the functioning of the VMS overall. After a micromodule is initially written, its code undergoes automated functional testing, substantially reducing the likelihood of errors in the code. This micromodule architecture allows for a VMS that is more stable than anything else on the market.