Software patterns have been used as a software design tool to reuse proven solutions to recurring problems. But the complex interconnections and the number of pattern collections is becoming a barrier for identifying relevant patterns and pattern combinations for a given design context.