A refinement development approach for enhancing the safety of PLC programs with Event-B