A MultiAgent System for Choosing Software Patterns

Birukou, Aliaksandr and Blanzieri, Enrico and Giorgini, Paolo and Weiss, Michael (2006) A MultiAgent System for Choosing Software Patterns. UNSPECIFIED.

Download (236Kb) | Preview


    Software patterns enable an efficient transfer of design experience by documenting common solutions to recurring design problems. They contain valuable knowledge that can be reused by others, in particular, by less experienced developers. Patterns have been published for system architecture and detailed design, as well as for specific application domains (e.g. agents and security). However, given the steadily growing number of patterns in the literature and online repositories, it can be hard for non-experts to select patterns appropriate to their needs, or even to be aware of the existing patterns. In this paper, we present a multi-agent system that supports developers in choosing patterns that are suitable for a given design problem. The system implements an implicit culture approach for recommending patterns to developers based on the history of decisions made by other developers regarding which patterns to use in related design problems. The recommendations are complemented with the documents from a pattern repository that can be accessed by the agents. The paper includes a set of experimental results obtained using a repository of security patterns. The results prove the viability of the proposed approach.

    Item Type: Departmental Technical Report
    Department or Research center: Information Engineering and Computer Science
    Subjects: Q Science > QA Mathematics > QA076 Computer software
    Uncontrolled Keywords: Multi-agent system, implicit culture, patterns, Lucene
    Additional Information: Categories and Subject Descriptors: H.3.3 [Information Storage and Retrieval]: Information Search and Retrieval - Information filtering, Relevance feedback, Search process; I.2.11 [Artificial Intelligence]: Distributed Artificial Intelligence - Intelligent agents, Multiagent systems; K.6.3 [Management of Computing and Information Systems]: Software Management - Software development
    Report Number: DIT-06-065
    Repository staff approval on: 05 Dec 2006

    Actions (login required)

    View Item