The OpenDSS is implemented as both a standalone EXE program and as a COM DLL. The DLL is designed as an in-process server to be driven from a variety of existing software platforms for highly customized types of distribution system analysis. The EXE version provides a multiple-window user interface to assist users in constructing and executing scripts. The DSS basically supports all rms steady-state (frequency domain) analyses commonly performed on electric power distribution systems, such as power flow, harmonic analysis and fault current calculations. In addition, it supports many new types of analyses that are designed to meet future needs, many of which are being dictated by the deregulation of US utilities and the formation of distribution companies worldwide. Many of the features were originally driven by distributed generation analysis needs. More recently, features have been added to enhance the study of energy efficiency, stray voltages, and distribution state estimation. The DSS is designed to be indefinitely expandable so that it can be more easily modified to meet future needs (see the Indmach012 model for an example of this expandability).
Through the COM interface, the user is capable of performing all the functions of the simulator, including definition of the model data. Thus, the DSS is entirely independent of any database or text file circuit definition. It can be driven entirely from a MS Office tool through VBA, for example, or from any other 3rd party analysis program (e.g., Matlab Interface) that can handle COM. One way to think of the DSS is as an object-oriented database of power system circuit data that can perform various common distribution system analysis tasks. The COM interface contains a text-based command interface as well as numerous COM interface methods and properties for accessing many of the parameters and functions of the simulator's models. Through the command line interface, users can prepare scripts to do several functions in sequence. The input may be redirected to a text file to accomplish the same effect as macros and also provide some database-like characteristics