AG VLSI Design and Architecture

SFB 501 - Project D1: Application System "Buildings"

PSiGene

Example - Step I

[PSiGene]



Step I: MOOSE Model

At first, a class model has to be created that describes all objects that are useful for the simulation. All "nouns" from our problem description in the introduction are good candidates to become objecttypes in the class model. Thus Room, Wall, Radiator and Environment occur in the MOOSE model. Additionally we need a class Surface to describe the air surrounding a Radiator. This special class acts as an interface between Room and Radiator and defines how much heat is flowing from a radiator into an adjoining room.
These different objecttypes are interconnected with several relations. A Surface connects one Radiator to one Room, so two 1:1 relations are needed to describe the connection. On the other hand, a Wall connects two Rooms and therefore two more relations are used to describe this connection. An Environment is a special kind of room and therefore inherits from the objecttype Room. The complete class model looks as following:

building model

To support our building simulator, we need a library component which provides scheduling and event-handling mechanisms. This library was also developed using MOOSE and can therefore be accessed on the modeling level. In our example, the objecttype Room should be continuously simulated and therefore needs the scheduling service of the kernel library. To do so, it is connected via two relations to the libraries' class model (not shown in the figure).

The following table shows all attributes that characterize our objecttypes. These attributes are also defined with the MOOSE editor but are not shown graphically.

ObjecttypeisAttributesRemarks
Roomtemperaturethe actual room temperature in [K]
volumethe volume of the room in [m3] (constant)
heatCapacitythe heat storage capacity of a room in [J]/([K]*[m3]) (constant)
amountOfHeatthe actual amount of heat (in [J]) in the room
thermalResistancethe thermal resistance of a room in ([m2]*[K])/[W] (constant)
timeOfLastComputationtime when the last computation took place (in [ms] from the simulations start)
intervalspecifies after which period of time (in [ms]) the temperature should be actualized (constant, but can be changed during the simulation)
Wallarea the area of the wall in [m2] (constant)
thermalResistancethe thermal resistance of a wall in ([m2]*[K])/[W] (constant)
Radiatortemperaturethe actual radiator temperature in [K]
Surfacearea the area of the radiator surface in [m2] (constant)
thermalResistancethe thermal resistance of the surface in ([m2]*[K])/[W] (constant)

Which attributes are needed for our Simulator depends on the patterns we wish to apply to the class model. Therefore, finding the "correct" attributes is done in conjunction with the pattern catalog by alternatively applying patterns and adapting the class model.


Next Step Up Table of Contents PSiGene