The development of complex software systems is a costly endeavor. If prototypes can be rapidly constructed to test the functionality and performance of these systems as the developers gain more knowledge about their requirements, then complex systems can evolve from a series of prototyping efforts. This project uses a model evolution approach to prototyping by treating (i) each prototype systems as an executable abstract model of the target system and (ii) the prototyping process as a series of model evolution supported by a knowledge-base management systems (KBMS). The project will develop an extensible object-oriented knowledge model, a multi-paradigm computation model based on nested transactions, and a reflective, wide-spectrum, and multi-paradigm knowledge base programming language (KBPL) called K which will serve as the common prototyping language in a KBMS-supported evolutionary prototyping system.