Programmable logic controllers (PLCs) are computers that are hardened for industrial environments and have I/O that are used to monitor and control a physical process. Learning automata specifications from PLCs provides an interface to verification tools that use an automata language, such as Uppaal. This paper introduces the time delay Mealy machine and demonstrates that it is sufficiently expressive to model PLC software. Using the LearnLib library, we implement a custom learning method to learn models from several industrial examples and analyze the efficiency. We show that the method is able to learn from simple PLC software, but the time required to learn increases rapidly with the scale of the software.
['B. Caldwell', 'Rachel Cardell-Oliver', 'Tim French']
Learning Time Delay Mealy Machines From Programmable Logic Controllers