Mastering PLC Programming: The software engineering survival guide to automation programmingMason White