Birukou, Aliaksandr and Blanzieri, Enrico and Giorgini, Paolo and Weiss, Michael (2006) A MultiAgent System for Choosing Software Patterns. UNSPECIFIED.
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)