Software patterns, knowledge maps, and domain analysis. (2014)