{'fraction_non_alphanumeric': 0.01572617946345976, 'fraction_numerical': 0.0, 'mean_word_length': 5.848101265822785, '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}}
Design patterns for multi-agent programming

Various agent-based programming languages and frameworks have been proposed to support the development of autonomous agents and multi-agent systems. They have provided a valuable contribution to the identification and operationalisation of agent concepts and abstractions by proposing specific programming constructs. Unfortunately, these contributions have not yet been widely adopted by industry. In this paper, we follow the argument that multi-agent programming technology can find its way to industry by providing a methodology that guides the development of autonomous agents and multi-agent systems in standard programming technology. The proposed methodology explains how some characteristic concepts and abstractions related to autonomous agents and multi-agent systems can be implemented in object-oriented technology. This is done by initiating a Java library of object-oriented design patterns for some characteristic but established programming constructs that have been developed in some agent-based programming languages.