It is commonly argued that an evolutionary approach to software system development based on prototyping can solve many of the problems of traditional development methods. In pursuing this approach, prototypes are often thought of as models, yet it is unclear exactly what they are modeling. This Note examines this question, inquiring into the nature of prototypes, systems, conceptual models, specifications, designs, and the relationships among them. This inquiry in turn leads to a fundamental examination of the nature of modeling, which reveals that traditional views provide little insight into what it means to build a model for something that does not yet exist. The author considers these issues in some detail and attempts to provide deeper insight into prototyping by means of a new understanding of the modeling relationship.