{'fraction_non_alphanumeric': 0.019410977242302542, 'fraction_numerical': 0.0006693440428380187, 'mean_word_length': 5.416309012875536, '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}}
A Formalised Real-time Concurrent Programming Model for Scalable Parallel Programming

While programmable hardware has become a commodity, software development has not. On the contrary, systems are becoming very heterogeneous, networked and complex. Modern control systems combine very simple, yet smart sensors as well as parallel supercomputing nodes that execute a simulation in the loop. Can we have a single programming approach that gives us portability as well as scalability in a hard real-time context? Can we meet the challenge of program once, run everywhere, anytime? To tackle this issue, Altreonic has adopted a formalized approach to embedded systems development. Of particular interest is the formally developed OpenComRTOS, that allows one to program distributed systems ranging from single node microcontrollers, over multi-core to networks of heterogeneous networked processing nodes, in a fully transparent way. The current implementation can theoretically handle millions of nodes, still it only needs about 5 kBytes/node. Together with its tools it provides the core of OpenComRTOS Designer. This paper explains the underlying model called Interacting Entities that underpins the programming model. The formal development resulted in a very small code size which is beneficial for performance and power consumption. Key figures for some target systems are given. The paper concludes with some of the challenges faced when porting to advanced multi/many core architectures.