Software Patterns, Knowledge Maps, and Domain Analysis