An Interpreter-Based Execution Framework for IEC 61499 Function Block Networks
Control software of cyber-physical production systems can be modeled using the domain-specific language defined in the IEC 61499 standard, which focuses on distributed control systems. The event-based execution model of this language well reflects the behavior of such systems and the block-based diagrams allow for component orientation. However, especially when applying the standard to larger-scale automation systems, engineers require sophisticated methods and tool support. Current testing methods rely on executing control software after deploying it to dedicated devices or run-time environments. As this requires complete software models including the used communication infrastructure, in this paper, we aim to allow for early feedback during the development of control software by interpreting the hardware-independent Application model. Our interpreter-based execution framework for IEC 61499 Function Block (FB) networks directly executes the software model, allows for recording execution traces, and visualizes these traces, e.g., for testing purposes. We have evaluated our approach using the execution semantics of 4diac FORTE with a compliance test suite. Although the interpreter does not mimic the real-time behavior of the cyber-physical production system, developers receive feedback on the event-based execution logic. According to our scalability test, interpreting a for loop with 4000 executed FB instances takes between 14.1 s and 107.1 s, depending on the complexity of the FB implementation. We also used our interpreter and its accompanying tools for analyzing an existing IEC 61499 Application. These results show that Application models can be efficiently interpreted for providing early validation feedback to engineers before moving to system tests.