{'fraction_non_alphanumeric': 0.0196078431372549, 'fraction_numerical': 0.002178649237472767, 'mean_word_length': 5.294520547945205, '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': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
The use of design patterns for the development of multi-agent systems

Developers of AI software are normally faced with design challenges involving robustness, efficiency, and extensibility. Most of these challenges at a higher level are independent of the application-specific requirements. Although design patterns have been successfully adopted to tackle these issues, they are rarely documented. Consequently this knowledge remains hidden in the minds of developers or buried within complex system source code. The primary contribution of the paper is to describe an abstract design methodology that can be applied in many (single or) multi-agent systems. The paper mainly illustrates how design patterns can ease the development and increase the efficiency of such systems. As an example, the Essex Wizards multi-agent system is presented which won the third prize in the RoboCup'99 simulator league competition.