{'fraction_non_alphanumeric': 0.01678445229681979, 'fraction_numerical': 0.0, 'mean_word_length': 5.474285714285714, '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}}
Programming distributed fault tolerant systems: the replicAda approach

During the last years, several toolkits for programming faulttolerant distributed systems have been proposed. Unfortunately, most of them offer a low level interface that is difficult to program and is not well integrated with a high level language. On the other hand, the Annex E of the Ada language provides a high level framework for programming distributed systems. After carefully studying it, we have concluded that nothing prevents an implementation of the Annex E that also offers support for programming fault-tolerant distributed systems. We propose to implement most of the fault tolerance mechanisms at the Partition Communication Subsystem (PCS) level, offering to the programmer the abstraction of replicated partitions, while preserving the semantics of the Annex E. Parameters related to fault tolerance can be selected at configuration time. This approach, that we have named replicAda, tries to simplify the programming of fault tolerant distributed systems by providing high level abstractions that are well integrated with the Ada language.