An object-oriented approach to knowledge-based project planning