Creativity becomes an ever important feature in software development nowadays as software application in various domains is on an ever rapid growth. It leads to changes on system requirements, hoping to improve systems with attractive creativity features. Consequently, creative computing is aroused as an emerging research field in software engineering. Currently, there are researches working on approaches and processes to develop creative software from scratch. However, evolving existing systems can achieve the same purpose, though it is hard to add creativity features to legacy systems by traditional software evolution approaches. Obviously, based on experiences over decades from software community, development from scratch might cause a waste in terms of resources. To solve this problem, this paper proposes a Model Driven Architecture based reverse engineering method for creative evolution. Abstraction techniques are explored, classified, designed and applied in this proposed approach. Meanwhile, details and roles of abstraction techniques were developed for each step. Also, an e-learning system is chosen as a case study to illustrate, validate and evaluate the proposed method. Overall, our work aims to contribute to software evolution methodology and its application creatively.