Edward F. Sowell, Michael A. Moshier
Year:
2003
Bibliographic info:
BUILDING SIMULATION, 8, 2003, Eindhoven, Netherlands, p. 1235-1242

In the mid 1980s the monolithic nature of building energy simulation programs led to proposals for development of so-called "kernel systems," i.e., software environments that would make available to developers basic software modules and a supporting framework that could be used to construct new building simulation software. One of the outcomes of the ensuing work was the Simulation Problem Analysis and Research Kernel (SPARK). Although the current SPARK release can be viewed as a limited realization of the kernel idea, it falls short in that the internal methods can only be accessed within the context of a SPARK executive. This paper discusses two new ways in which the SPARK internal methods can be employed by model developers, leading to a fuller realization of the kernel system idea. First, a new facility called SPARK Model Functions is described that allows the SPARK internal methods to be used to create subsystem models of arbitrary size and complexity that can be called by foreign executive programs. Second, a new feature called Multivalued Objects allows easy and efficient integration of legacy models written in procedural languages into SPARK models. Together, these new features provide an Application Programmer's Interface (API) that better exposes "the K in SPARK" to the software developer.