{'fraction_non_alphanumeric': 0.01433389544688027, 'fraction_numerical': 0.0, 'mean_word_length': 5.706214689265536, '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}}
An extensible architecture-based framework for coordination languages

The dynamic and heterogeneous nature of distributed systems make the development of distributed applications a difficult task. Various tools, such as middleware systems, component systems, and coordination languages, offer support to the application developer at different levels.There are several coordination systems that integrate such tools into a complete environment to build applications from heterogeneous components. To achieve extensibility they usually have a layered architecture: An application is first mapped to a middle layer and then to a target system. But this approach hides the specific features of a target system from the developer, as they are not represented in the middle layer, and often induces additional run-time overhead.In this paper we introduce the extensible coordination framework ECF that allows developers to build efficient distributed applications which exploit the specific features of the target systems. Support for target systems and application domains are encapsulated by extension modules. Modules can be built on top of other modules to support refined functionality.