;; (define-type dim (record mass::int time::int length::int currency::int temperature::int))

(define-block
  sldemo_househeat


  (
    sldemo_househeat__HeatCost__In1_1_1
    sldemo_househeat__Tindoors__In1_1_1
  )

  (
    sldemo_househeat__CelsiustoFahrenheit__In1_1_1
    sldemo_househeat__CelsiustoFahrenheit__Out1_1_1
    sldemo_househeat__FahrenheittoCelsius__In1_1_1
    sldemo_househeat__FahrenheittoCelsius__Out1_1_1
    sldemo_househeat__Heater__OnOff__Out1_1_1
    sldemo_househeat__Heater__Troom__Out1_1_1
    sldemo_househeat__Heater__HeatFlow__In1_1_1
    sldemo_househeat__House__HeaterQDotIn__Out1_1_1
    sldemo_househeat__House__OutdoorTempTout__Out1_1_1
    sldemo_househeat__House__RoomTempTroom__In1_1_1
    sldemo_househeat__Thermostat__Terr__Out1_1_1
    sldemo_househeat__Thermostat__BlowerSwitch__In1_1_1
    sldemo_househeat__AvgOutdoorTemp__Out1_1_1
    sldemo_househeat__CostCalculator__In1_1_1
    sldemo_househeat__CostCalculator__Out1_1_1
    sldemo_househeat__CostCalculator__Constant_1_1
    sldemo_househeat__DailyTempVariation__Out1_1_1
    sldemo_househeat__Integrator__In1_1_1
    sldemo_househeat__Integrator__Out1_1_1
    sldemo_househeat__SetPoint__Out1_1_1
    sldemo_househeat__Sum__In1_1_1
    sldemo_househeat__Sum__In2_1_1
    sldemo_househeat__Sum__Out1_1_1
    sldemo_househeat__Sum1__In1_1_1
    sldemo_househeat__Sum1__In2_1_1
    sldemo_househeat__Sum1__Out1_1_1
    sldemo_househeat__HeatCost_1_1
    sldemo_househeat__Tout_1_1
    sldemo_househeat__Tindoors_1_1
    sldemo_househeat__Toutdoors_1_1
    sldemo_househeat__Terr_1_1
    sldemo_househeat__blowercmd_1_1
  )

  (
    (sldemo_househeat__Heater sldemo_househeat__Heater__OnOff__Out1_1_1 sldemo_househeat__Heater__Troom__Out1_1_1 sldemo_househeat__Heater__HeatFlow__In1_1_1)
    (sldemo_househeat__House sldemo_househeat__House__HeaterQDotIn__Out1_1_1 sldemo_househeat__House__OutdoorTempTout__Out1_1_1 sldemo_househeat__House__RoomTempTroom__In1_1_1)
    (sldemo_househeat__Thermostat sldemo_househeat__Thermostat__Terr__Out1_1_1 sldemo_househeat__Thermostat__BlowerSwitch__In1_1_1)
  )

  (
    (- sldemo_househeat__CelsiustoFahrenheit__In1_1_1 (mk-record 0 0 0 0 1))
    (- sldemo_househeat__CelsiustoFahrenheit__Out1_1_1 (mk-record 0 0 0 0 1))
    (- sldemo_househeat__FahrenheittoCelsius__In1_1_1 (mk-record 0 0 0 0 1))
    (- sldemo_househeat__FahrenheittoCelsius__Out1_1_1 (mk-record 0 0 0 0 1))
    (- sldemo_househeat__FahrenheittoCelsius__In1_1_1 (mk-record 0 0 0 0 1))
    (- sldemo_househeat__FahrenheittoCelsius__Out1_1_1 (mk-record 0 0 0 0 1))
    (- sldemo_househeat__AvgOutdoorTemp__Out1_1_1 (mk-record 0 0 0 0 1))
    (- sldemo_househeat__CostCalculator__Constant_1_1 (mk-record -1 2 -2 1 0))
    (- sldemo_househeat__DailyTempVariation__Out1_1_1 (mk-record 0 0 0 0 1))
    (- sldemo_househeat__SetPoint__Out1_1_1 (mk-record 0 0 0 0 1))
    (- sldemo_househeat__HeatCost__In1_1_1 (mk-record 0 0 0 1 0))
    (- sldemo_househeat__Tindoors__In1_1_1 (mk-record 0 0 0 0 1))

    (- sldemo_househeat__CostCalculator__Out1_1_1 (+ sldemo_househeat__CostCalculator__In1_1_1 sldemo_househeat__CostCalculator__Constant_1_1))
    (- sldemo_househeat__Integrator__Out1_1_1 (increment sldemo_househeat__Integrator__In1_1_1 1 1))
    (- sldemo_househeat__Sum__Out1_1_1 sldemo_househeat__Sum__In1_1_1)
    (- sldemo_househeat__Sum__In1_1_1 sldemo_househeat__Sum__In2_1_1)
    (- sldemo_househeat__Sum1__Out1_1_1 sldemo_househeat__Sum1__In1_1_1)
    (- sldemo_househeat__Sum1__In1_1_1 sldemo_househeat__Sum1__In2_1_1)
    
    (- sldemo_househeat__Tout_1_1 sldemo_househeat__FahrenheittoCelsius__Out1_1_1)
    (- sldemo_househeat__House__OutdoorTempTout__Out1_1_1 sldemo_househeat__FahrenheittoCelsius__Out1_1_1)
    (- sldemo_househeat__Sum__In1_1_1 sldemo_househeat__FahrenheittoCelsius__Out1_1_1)
    (- sldemo_househeat__Integrator__In1_1_1 sldemo_househeat__Heater__HeatFlow__In1_1_1)
    (- sldemo_househeat__House__HeaterQDotIn__Out1_1_1 sldemo_househeat__Heater__HeatFlow__In1_1_1)
    (- sldemo_househeat__CelsiustoFahrenheit__In1_1_1 sldemo_househeat__House__RoomTempTroom__In1_1_1)
    (- sldemo_househeat__Sum__In2_1_1 sldemo_househeat__House__RoomTempTroom__In1_1_1)
    (- sldemo_househeat__Heater__Troom__Out1_1_1 sldemo_househeat__House__RoomTempTroom__In1_1_1)
    (- sldemo_househeat__Sum1__In1_1_1 sldemo_househeat__AvgOutdoorTemp__Out1_1_1)
    (- sldemo_househeat__Terr_1_1 sldemo_househeat__Sum__Out1_1_1)
    (- sldemo_househeat__Thermostat__Terr__Out1_1_1 sldemo_househeat__Sum__Out1_1_1)
    (- sldemo_househeat__Tindoors_1_1 sldemo_househeat__CelsiustoFahrenheit__Out1_1_1)
    (- sldemo_househeat__Tindoors__In1_1_1 sldemo_househeat__CelsiustoFahrenheit__Out1_1_1)
    (- sldemo_househeat__Toutdoors_1_1 sldemo_househeat__Sum1__Out1_1_1)
    (- sldemo_househeat__FahrenheittoCelsius__In1_1_1 sldemo_househeat__Sum1__Out1_1_1)
    (- sldemo_househeat__HeatCost_1_1 sldemo_househeat__CostCalculator__Out1_1_1)
    (- sldemo_househeat__HeatCost__In1_1_1 sldemo_househeat__CostCalculator__Out1_1_1)
    (- sldemo_househeat__House__OutdoorTempTout__Out1_1_1 sldemo_househeat__Tout_1_1)
    (- sldemo_househeat__HeatCost__In1_1_1 sldemo_househeat__HeatCost_1_1)
    (- sldemo_househeat__Thermostat__Terr__Out1_1_1 sldemo_househeat__Terr_1_1)
    (- sldemo_househeat__Heater__OnOff__Out1_1_1 sldemo_househeat__blowercmd_1_1)
    (- sldemo_househeat__Sum1__In2_1_1 sldemo_househeat__DailyTempVariation__Out1_1_1)
    (- sldemo_househeat__FahrenheittoCelsius__In1_1_1 sldemo_househeat__Toutdoors_1_1)
    (- sldemo_househeat__Tindoors__In1_1_1 sldemo_househeat__Tindoors_1_1)
    (- sldemo_househeat__CostCalculator__In1_1_1 sldemo_househeat__Integrator__Out1_1_1)
    (- sldemo_househeat__blowercmd_1_1 sldemo_househeat__Thermostat__BlowerSwitch__In1_1_1)
    (- sldemo_househeat__Heater__OnOff__Out1_1_1 sldemo_househeat__Thermostat__BlowerSwitch__In1_1_1)
  )
)