Seven layers of knowledge representation and reasoning in support of software development | IEEE Journals & Magazine | IEEE Xplore