{'fraction_non_alphanumeric': 0.014285714285714285, 'fraction_numerical': 0.0, 'mean_word_length': 5.877300613496932, '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}}
Consistency and interoperability checking for component interaction rules

In component-based software development, it is important to ensure interoperability between components based on their unambiguous semantic descriptions, in order to obtain a viable system. A body of recent work has explored the use of formal languages in specifying component interaction protocols for interoperability checking, but lacks the practicality required by software practitioners for daily use. Faced with this, we have developed a lightweight specification approach to component interaction rules, which has the necessary expressiveness and employs event patterns in rule specification for easy adoption by practitioners. In this paper, we present a FSA-based semantic model for such rules and novel studies of rule consistency and system-wide protocol interoperability for components annotated with interaction rules. We also develop incremental approaches and tools to check these properties, which provide an effective means to discover errors in the design of component interaction rules and component-based system architectures.