An industrial controller for use in an industrial control system, the industrial controller comprising: a multicore processor; a communication interface in communication with the multicore processor, the communication interface being operable to communicate over a physical medium; firmware stored in a non-transient computer readable medium of the industrial controller in communication with the multicore processor, wherein a first core of the multicore processor is configured to execute the firmware for operation of the industrial controller; and a first emulation module stored in the non-transient computer readable medium, wherein the first emulation module is configured to model a logical behavior of the industrial controller executing the firmware when the first emulation module is executed, wherein the industrial controller is further configured to receive a second emulation module from an industrial control module via the communication interface, wherein the second emulation module is configured to model a logical behavior of the industrial control module executing a firmware module stored in the industrial control module, wherein a second core of the multicore processor is configured to execute the second emulation module with the first emulation module, wherein the second core of the multicore processor is configured to execute the first emulation module to model the behavior of the industrial controller executing the firmware by the first core of the multicore processor, and wherein the second core of the multicore processor is configured to execute the first emulation module to perform: updating a parameter in lock step with the first core of the multicore processor controlling the industrial control system to update the parameter; or updating a parameter faster than the first core of the multicore processor controlling the industrial control system to update the parameter, and providing an output predicting an action of the first core of the multicore processor controlling the industrial control system. a multicore processor; a communication interface in communication with the multicore processor, the communication interface being operable to communicate over a physical medium; firmware stored in a non-transient computer readable medium of the industrial controller in communication with the multicore processor, wherein a first core of the multicore processor is configured to execute the firmware for operation of the industrial controller; and a first emulation module stored in the non-transient computer readable medium, wherein the first emulation module is configured to model a logical behavior of the industrial controller executing the firmware when the first emulation module is executed, wherein the industrial controller is further configured to receive a second emulation module from an industrial control module via the communication interface, wherein the second emulation module is configured to model a logical behavior of the industrial control module executing a firmware module stored in the industrial control module, wherein a second core of the multicore processor is configured to execute the second emulation module with the first emulation module, wherein the second core of the multicore processor is configured to execute the first emulation module to model the behavior of the industrial controller executing the firmware by the first core of the multicore processor, and wherein the second core of the multicore processor is configured to execute the first emulation module to perform: updating a parameter in lock step with the first core of the multicore processor controlling the industrial control system to update the parameter; or updating a parameter faster than the first core of the multicore processor controlling the industrial control system to update the parameter, and providing an output predicting an action of the first core of the multicore processor controlling the industrial control system. updating a parameter in lock step with the first core of the multicore processor controlling the industrial control system to update the parameter; or updating a parameter faster than the first core of the multicore processor controlling the industrial control system to update the parameter, and providing an output predicting an action of the first core of the multicore processor controlling the industrial control system.