Internet, Open-Source and Power System Simulation
Internet, Open-Source and Power System Simulation
www.interpss.org
1. Introduction
Over the last 10 years, the Internet has become the most far-reaching and extensive
medium for exchange information and collaboration. Internet based economy has
enjoyed explosive growth. Large corporations around the world have been quietly
using the Internet and related technologies, such JAVA and XML, to transform their
information infrastructure to be more agile. Internet technology has been used in
solving a tradition power-engineering problem – power system simulation software
development. InterPSS - an Internet technology based open-source power system
simulation software system has been developed and released by the InterPSS
development team (www.interpss.org).
It is our observation that power system simulation programs used in production today
are largely written in the procedure languages, such FORTRAN or C. It has been
known that software systems developed using such approaches are expensive to
maintain, difficult to be extended and integrated into other systems. It is our belief that
sooner or later these systems will become obsolete and be replaced by new systems
based on modern software technology - object-oriented programming languages and
component-based development approaches.
Adapting new information technology to power systems has been relative slow as
compared to other industries, such banking and telecommunication. We believe that
open-source with participation by universities, research institutes and power
companies could be a promising way to speed up the process. The basic idea behind
open-source is very simple: when user can read, redistribute, and modify the source
code of a piece of software, the software evolves. User participates, contributes,
improves it, adapts it, and fixes bugs. This can happen at a speed that, if one is used
to the slow pace of conventional software development, seems astonishing. The
InterPSS team used the Internet technology and the open-source approach,
developed a power system simulation software system and offered it free to the
power engineering community.
2. InterPSS Project Overview
InterPSS is an open-source development project aimed to develop an Internet
technology based software system for design, analysis, and simulation of power
systems. The project goal is to develop a high quality software system using the
open-source approach. InterPSS has an open and loosely coupled plugin
architecture, which allows components developed by others to be easily plugged into
the system to augment its functionality, and equally important, allows its components
to be integrated into other systems to provide certain power system simulation
functionality or services. It is our hope that InterPSS will become a platform for user
participation, collaboration and further innovation.
InterPSS currently has implemented Loadflow analysis, Short Circuit calculation for
transmission systems and distribution systems, transient stability simulation for
transmission systems. The InterPSS team is working with the user community to
develop a future development roadmap. Harmonic analysis, Protective Device
Coordination, reliability calculation and other analysis modules are expected to be
added soon. InterPSS is written in JAVA. Therefore, it can run on any platform,
including Linux, where there is a JAVA runtime environment.
3. InterPSS Architecture
InterPSS is designed to be open, flexible and extensible with a plugin architecture.
From the very beginning, our assumption is that InterPSS will be extended by others
to do things that we never had imagined. In this architecture, things which are
common to power system simulation and less likely to change are packaged into the
InterPSS power system simulation framework as the foundation and for reuse. The
rest are implemented as InterPSS plugins, which could be customized or replaced
easily. Fig.3 shows a high-level view of the InterPSS architecture.
InterPSS uses JAVA as its programming language. JAVA was born for the Internet
and networked computers. It is especially suitable for building loosely coupled
complex software systems. The Eclipse project (www.eclipse.org), which is the world
largest, the most innovative and successful open-source project with hundreds of
participating companies and millions of users, is developed in Java. InterPSS uses
XML heavily to configure its components, for information exchange between these
components, and for persisting information to database for late retrieval.
During the development process, InterPSS uses JUnit (www.junit.org) for the unit
testing. Hundreds of unit test cases are built to make ensures that individual software
components produce expected results. Regression testing combined the unit tests
are performed to verify that software components work together correctly after
changes are made.
InterPSS also has a FitNesse (www.fitnesse.org) based Wiki style testing site for user
acceptance testing. Any user can examine, and run the InterPSS Acceptance Test
Suite to perform the official InterPSS acceptance testing at any time. Also, the user
can build their own test cases. The user-defined test cases could be run repeatedly
against any future InterPSS release.
While InterPSS has hundreds of automated unit test cases and user acceptance test
cases with more to be added, InterPSS also relies on human to perform functional
testing using more complex use cases. InterPSS publishes the test progress and
result in a Google Spreadsheet based online report, which could be viewed and
updated on-line by any user.
6. InterPSS Wiki
We believe everyone can participate and contribute. We envision that the InterPSS
user community will consist of the following groups, with the largest number in the
InterPSS user group, as shown in Fig.6: