{'fraction_non_alphanumeric': 0.03153153153153153, 'fraction_numerical': 0.0, 'mean_word_length': 6.031645569620253, '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}}
Meta-component architecture for software interoperability

Most existing software is one-of-a-kind, monolithic, non-interoperable, and consequently, non-reusable. In addition, this software is difficult to maintain, improve, and scale. More importantly, this software is vital to many enterprises and institutions. Thus, enterprises must continuously make trade-off decisions between developing new software and maintaining existing software. The meta-component architecture (Component Mill) presented in the paper will enable enterprises to continue using existing software while providing a mechanism to migrate the software into a format (meta-component) that supports software integration and reuse. This architecture provides the blueprint for realizing an environment that supports exposing existing software for reuse with other (heterogeneous) software while allowing software development based on reuse. The metacomponents are independent of any component model used in component technologies. Thus, this architecture provides components that are, in principle, executable in any component technology.