Improving software development and robustness through multiagent systems

Kevin Thompson · 2011

With the goal of more efficient software development and implementation, this paper presents two ways to increase the effectiveness of a task driven by an algorithm through a single, strategic method. First, during design implementation, algorithms designed to complete the task are compared, and the best algorithm is chosen. Second, during runtime, multiple algorithms, predefined for the task, are compared using a specific input, and again, the best algorithm is chosen. Both of these methods are accomplished using intelligent agents that examine each algorithm, predetermine expected results, and then broadcast these results to each other so that each agent can intelligently determine whether or not its own algorithm is the best. Through this combination of multiagent systems and N-version programming, there is an increase in accuracy and efficiency as well as robustness. These agents assist in forming a basis for better algorithm development with fewer bugs during software testing. This paper contributes an important proof-of-concept agent that will spur future research that should develop improved agents able to provide a consensus algorithm that improves on all input algorithms.

Read the paper · More papers on PaperTik