The visualization and application steering environment (VASE) provides interactive visual computing and steering for scientific and engineering programs. VASE defines an abstraction for a steerable program structure and provides tools that create and manage collections of these steerable codes. It is designed to work with existing codes writen in Fortran. Based upon simple annotations in the source code, VASE tools construct a high-level model of each application and enable the user to works with this model rather than at the detailed source-code level. Collections of steerable codes execute in a distributed environment. This paper describes the design objectives of VASE, its architecture, and its implementation, and illustrates its use with an example application.