InterPSS was designed for extension from the very beginning. In fact, InterPSS is build through extension and reuse. This page and its sub-pages will fully document InterPSS extension approach, using Java programming language, so that any one can extend InterPSS to add custom features. At the conceptual level, almost all InterPSS simulation related components could be considered as an implementation the following bus I-V or branch I-V generic function, as shown in the following diagram. where, I - bus injection or branch current, V - bus or branch terminal voltage, t - time for time-domain simulation, dt - time-domain simulation step. There are two ways to extend an existing class: through composition or inheritance, as shown in the following figure. InterPSS classes already have an inheritance structure, for example, AcscBus is a sub-class of AclfBus. Therefore extension through composition is recommended.
This example, of course, is overly simplified and only for illustrating the extension concept purpose. The AclfBus object (id = "1") behavior is overridden by the extension object. |


