As long as components conform to these specifications, they can be plugged into the VPE and used with other components that comply with the specification. As a result, the VPE does not know what the components actually do. The components will use their own algorithms and produce a set of results. These results are passed by the VPE either to another engine that will do additional work on them, to a graphics analyzer that will produce a chart of their results, or to a database that will store the results. Components can consist of engines re-implemented from current applications, future engines to be built, output analyzers, or graphic displays.
Components can come from different domains or have different levels of granularity.
Thus, the VPE can represent a foundation for combining modeling software from different applications. The current VPE implementation enables components to work together and produce results. Currently, WaterBeans is implemented within urban sewer modeling, and several components derived from SewerCAT work within WaterBeans. Figure 7 depicts an annotated screen shot of the WaterBeans interface. The regions of this interface correspond to capabilities discussed in the remainder of this section.