A Semantic-Rich Framework for Learning Software Patterns | IEEE Conference Publication | IEEE Xplore