Knowledge evolution in autonomic software product lines