But I think this is more an electrical engineering thing (for control systems and interlocks and such) not sure how applicable it is to general software.