A re-engineering approach for PLC programs using finite automata and UML | IEEE Conference Publication | IEEE Xplore