{'fraction_non_alphanumeric': 0.01762977473065622, 'fraction_numerical': 0.0, 'mean_word_length': 4.976608187134503, '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}}
Interacting frameworks in Catalysis

In current OO design, most of the existing (semi-formal) methods use classes or objects as the basic unit of design. However it is increasingly recognised that classes are not the best focus for design. Typical design artefacts are about groups of objects and the way they interact In the Catalysis project, we use the term frameworks for descriptions of groups of objects, their relationships, division of responsibilities, and interactions. The power of frameworks lies in the fact that interactions can also occur at the level of frameworks. In a previous paper we defined a framework formally as a (first-order) many-sorted theory with a model theoretic semantics and showed how it can be represented using a pictorial notation for practical system development. However we considered only frameworks that do not interact with one another In this paper we discuss frameworks that interact with one another and show that such frameworks are very powerful tools for formal OO design.