This paper describes a knowledge-based approach to encouraging the reuse of existing simulation and modeling programs. In our environment there are two barriers to reuse of these programs: poor interfaces and minimal documentation. To get around these problems, we are (1) treating each existing program as an operator in a planning system, (2) creating a knowledge base describing the user goals each program achieves, the pre- and post-conditions of running the program, and its I/O behavior, and (3) developing several tools that make use of this knowledge to automate the development of new interfaces to these programs and to assist the creation of scripts that achieve high-level user goals.