AG VLSI Design and Architecture

SFB 501 - Project D1: Application System "Buildings"

PSiGene

Example - Step IV

[PSiGene]



Step IV: Defining Instances

There are two ways of defining the instances we need to run the building simulator: specifying instances textually and generation from CAD data.
The first method can be used to define a house for small examples. All building data (like how many rooms are there, attributes of the individual rooms, by which walls are the rooms separated etc.) has to be entered manually. For more complex simulators, this method may become too complex. Therefore, we have developed a building data transformator that is capable of converting the CAD data from a commercial CAD editor (Speedikon) to the simulators internal data format (SLANG).
  1. Specifying Instances Textually
  2. All instances and relations can be specified in class methods. Object instances are described in an array that specifies a name for each object, the class it belongs to, and all initial values for the attributes.
    The following array can be used to create two rooms with the specified attributes:
    #(#(#room1	#Room	#amountOfHeat: 0
    			#heatCapacity: 1250.0
    			#interval: 10000
    			#temperature: 25
    			#thermalResistance: 0
    			#timeOfLastComputation: 0
    			#volume: 50)
    
      #(#room2	#Room	#amountOfHeat: 0
    			#heatCapacity: 1250.0
    			#interval: 10000
    			#temperature: 5
    			#thermalResistance: 0
    			#timeOfLastComputation: 0
    			#volume: 75)
    )
    

    Relations can be described in a similar way. For example, to connect a Surface to a Radiator and a Room, the following array is used:

    #(#(#surface1	#Radiator:	#radiator1)
      #(#surface1	#Room:		#room1)
    )
    

    The complete specification for a simple building can be found here.

  3. Transformation of CAD Data
  4. The above method of specifying a building is quite easy, but may be a very complex task if large buildings should be simulated. Therefore, we have developed a transformation program that is capable of automatically transformating the data from a CAD program (Speedikon, see screen shot) to our simulator.

    Speedikon is an object oriented CAD program in the sense, that it stores its data in objects and not only as line coordinates, as some simpler CAD systems do. Therefore, a Wall is identifiable as such and consists not only of a couple of lines. This "object oriented" data can be exchanged with other programs (e.g., our simulator) by files written in a so called HLI (high level interface language, see example) format. The transformation tool reads this HLI data and tries to convert it to the class model of the building. One big problem of this transformation is that our simulator is not restricted to one class model - the class model itself can vary for different simulators. Unfortunately, for each different class model the transformation program has to be adapted. But, if the class model hasn't changed too much, adaption is an easy task.
    The other problem of the transformation is that Speedikon doesn't store all its data into a HLI file. Therefore, some heuristics have to be applied to get "reasonable" data for the simulator. Eventually some manual adaptions have to be made after the transformation.

    This slide shows the structure of our transformation program (gzipped postscript, 51KB).


Previous Step Next Step Up Table of Contents PSiGene