SFB 501 - Project D1: Application System "Buildings"
PSiGeneExample |
![[PSiGene]](./pics/psigene_logo.jpg) |
|
Introduction
The following example shows how a simple building simulator can be constructed
using PSiGene. The building that should be simulated consists of several
rooms that are connected by walls. Each room may have one or more radiators
installed. The goal is to simulate the temperature in all of the rooms.
Radiators are treated as heat sources. Walls act as thermal resistance between
two rooms (the heat storage capacity of walls is neglected in this simple
example). A special Room "Environment" can be defined to act as
heat sink.
The following steps show how a complete simulator for our building can be
modelled. These steps mainly take place in the prescribed order although
usually some iterations are done.
We have also modelled several variants of a more complex example (see
slide, gzipped postscript). This
simulator consists of about 15 objecttypes, 25 Patterns from which about
5300 lines of code have been generated. A typical building with 9 rooms
and several doors and windows consists of about 300 objects.
Comparing the time used to model and generate a simulator using PSiGene
with a manually written simulator shows that it is much more efficient
using our method even if some patterns which are missing in our catalog
have to be created. Building variants of a simulator is a matter of minutes
to hours (from the concept to the running simulator), depending on the
amount of changes. Pure code generation is a matter of seconds.