{'fraction_non_alphanumeric': 0.019984012789768184, 'fraction_numerical': 0.015187849720223821, 'mean_word_length': 5.624338624338624, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Synthesizing Multirate Programs from IEC 61499

IEC 61499 is a standard for designing industrial control systems using function blocks. Since its publication in 2005, several run-time environments have been developed as plausible implementations. Most of them, however, are poorly suited for use in safety-critical systems, as they are unable to guarantee deterministic behaviour and predictable timing. The use of different run-time environments results in subtle behavioural differences and complicates the effort of static timing analysis. We offer an alternative solution by leveraging the model-based approach to automatically synthesize multirate synchronous programs for a multitasking environment. Our approach preserves the well-known deterministic property of synchronous programs, while facilitating static timing analysis of IEC 61499 specifications. We achieve this without the need to introduce any foreign artefact to the standard. The schedulability criterion for tasks derived using our technique is given for the rate-monotonic scheduling policy. The viability of our approach is demonstrated through a code generator, which synthesizes multirate synchronous code for multi-task execution on the muC/OS-II real-time operating system.