{'fraction_non_alphanumeric': 0.013215859030837005, 'fraction_numerical': 0.0, 'mean_word_length': 5.681372549019608, '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 programmable matching engine for application development in Linda

This thesis describes the novel features of an extended Linda system, called eLinda. The main contribution of eLinda is the introduction of a powerful and flexible mechanism for expressing the queries used for data retrieval in Linda systems. This provides simplicity for applications that would otherwise need to handle complex retrieval operations explicitly, and enhances efficiency, particularly where the data is distributed across a network. Other extensions introduce support for distributed multimedia resources, and provide additional support for efficient data distribution across a communication network. The enhanced functionality of the eLinda system is described in detail and compared with existing Linda systems, both commercial products and research projects. This is done primarily with an emphasis on the expressiveness and functionality of the new features, but also takes into consideration performance and efficiency issues, including the scalability of eLinda applications. The use of these novel features is demonstrated by their application to a number of problems, including a video-on-demand system and a parser for visual programming languages. The latter application particularly shows the benefit of the new data retrieval mechanisms present in the eLinda system.