next up previous contents index FOREST_HomepageFOREST_Example_Homepage
Next: Description Class BasicRoom Up: No Title Previous: Description Class HallwaySection

   
Description Class RoomLight

INTENTION

This class provides all definitions to describe the environment and the requirements concerning the control of lights common to any kind of room. In more detail this means that the cases are considered

In each room there are two dimmable lights that are controlled by the machine: a ceiling light at the window and a ceiling light at the wall to the hallway. Furthermore, in each room there is a control panel for entering values relevant for the control of the light. This is done by the user of a room. This control panel is not the same as the one the facility manager has.

BASE CLASSES

Class   AreaLight(numLights  = 2)

Intention

: All definitions of description class Area are also provided here. There are two lights in a room that are controlled by the machine: light[1] represents the light near the window and light[2] is the light near the wall to the hallway.

SIGNATURE

Object   AreaLight::light  :  DimmableControlledLight
Intention : The lights in a room are dimmable lights.
Postreferences : msref RoomLight : M_RL8
    msref RoomLight : M_RL9
    msref RoomLight : M_RL10
    msref RoomLight : M_RL11

Object   AreaLight::lCPFM  :  RoomLightCtrlPanelFM
Intention : The control panel of the facility manager in a room provides some further input possibilities.
Postreferences : msref RoomLight : M_RL2
    msref RoomLight : M_RL3
    msref RoomLight : M_RL5
    msref RoomLight : M_RL6
    msref RoomLight : M_RL12
    msref RoomLight : M_RL13

Object  lCPRoom  :  LightCtrlPanelRoom
Intention : This object represents the light control panel containing the entities for which a user can enter a value.
Postreferences : msref RoomLight : M_RL4
    msref RoomLight : M_RL5
    msref RoomLight : M_RL7
    msref RoomLight : M_RL8
    msref RoomLight : M_RL9
    msref RoomLight : M_RL10
    msref RoomLight : M_RL12
    msref RoomLight : M_RL14

Time Constant  T_RL1 
Intention : This time constant represents the maximal delay between occupation of a room, when a light scene is chosen, and the establishment of the chosen light scene.
Scope : ev
Postreferences : msref RoomLight : M_RL1
    msref RoomLight : M_RL7
    msref RoomLight : M_RL14

Timed Function  curLightScene   LightScene
Intention : This function represents the current light scene that is established by the machine if light scenes are enabled.
Scope : mh
Postreferences : msref RoomLight : I_RL2
    msref RoomLight : M_RL5
    msref RoomLight : M_RL6
    msref RoomLight : M_RL7
    msref RoomLight : M_RL8

Timed Function  curStandLightScene   LightScene
Intention : This function represents the current standard (=default) light scene that is established by the machine, if light scenes are enabled.
Scope : mh
Postreferences : msref RoomLight : I_RL1
    msref RoomLight : I_RL2
    msref RoomLight : M_RL2
    msref RoomLight : M_RL6
    msref Floor : M_F2

Timed Function  faultStandLightScene   LightScene
Intention : This function represents the light scene that has to become standard light scene in the case of a malfunction of the outdoor light sensors.
Scope : mh
Postreferences : msref Floor : M_F2

Timed Function  noFaultStandLightScene   LightScene
Intention : This function represents the light scene that has to become standard light scene in the case that the outdoor light sensors have no malfunctions.
Scope : mh
Postreferences : msref RoomLight : I_RL1

Timed Function  curAmbLightLev   LIGHT_VALUES
Intention : This function represents the current ambient light level that is established by the machine if ambient light settings are enabled by the control panel.
Scope : mh
Postreferences : msref RoomLight : I_RL3
    msref RoomLight : M_RL3
    msref RoomLight : M_RL9
    msref RoomLight : M_RL12
    msref RoomLight : M_RL13
    msref RoomLight : M_RL14

Timed Function  defaultAmbLightLev   LIGHT_VALUES
Intention : This function represents the default ambient light level.
Scope : mh
Postreferences : msref RoomLight : I_RL3
    msref RoomLight : M_RL13

Timed Function  determineLightScene  : STRING   LightScene
Intention : This function determines the light scene which is identified by the given name.
Scope : mh
Postreferences : msref RoomLight : M_RL5
    msref RoomLight : M_RL7

Function  evalLightScene  :  LightScene,  LightScene:: LAMPS  PERCENT
Intention : This function represents the computation of the dimmer settings for a given lighting (represented by the second argument) that are necessary to achieve the ambient light intensity of the given light scene (represented by the first argument) under consideration of the light scene's lighting order. The value of this function represents the dimmer settings.
Scope : mh
Postreferences : msref RoomLight : M_RL8

Function  evalAmbient  :  LIGHT_VALUES,  LightScene:: LAMPS  PERCENT
Intention : This function represents the dimmer setting for a given lighting (represented by the second argument) that is necessary to achieve the given ambient light intensity (represented by the first argument) together with the other lightings.
Scope : mh
Postreferences : msref RoomLight : M_RL9
REQUIREMENT SPECIFICATIONS

Property  R_RL1 
NonFormal : The standard light scene in the case that the outdoor light sensors have no malfunction is that the light intensity is sufficient to move safely.

Property  R_RL2 
NonFormal : The standard light scene in the case of a malfunction of the outdoor light sensors is that all ceiling lights are on.

MACHINE SPECIFICATIONS

Property  I_RL1 
Formal :  curStandLightScene =  noFaultStandLightScene
NL : Initially the current standard light scene is the light scene that has to become standard light scene in the case that the outdoor light sensors have no malfunction.

Property  I_RL2 
Formal :  curLightScene =  curStandLightScene
NL : Initially the current light scene is the current standard light scene.

Property  I_RL3 
Formal :  curAmbLightLev =  defaultAmbLightLev
NL : Initially the current ambient light level is the current default ambient light level.

Property  M_RL1 
Formal : (  T_RL1 = 50 )
NL : The value of $T\_\mathit{RL}_1$ is always 50 miliiseconds.

Property  M_RL2 
Formal : (  curStandLightScene =  lCPFM. defaultLightScene. checked )
NL : The current standard light scene always corresponds with the default light scene determined by the facility manager.

Property  M_RL3 
Formal : (  curAmbLightLev =  lCPFM. defaultAmbientLightLevel. checked )
NL : The current ambient light level always corresponds with the default ambient light level determined by the facility manager.

Property  M_RL4 
Formal : (  noSaveLight  manualControl
                                    lCPRoom. lightSceneSwitch. checked = 1
                                    lCPRoom. ambientSwitch. checked = 1 )
NL : The light intensity in a room that is occupied can be less than the light intensity needed to establish save light iff the light is controlled manually or light scenes are enabled or the ambient light level is enabled.

Property  M_RL5 
Formal : ( ( [  occ. occUsed ]  lCPFM. reoccDelay. checked  occ. occUsed )
     curLightScene =
          determineLightScene( lCPRoom. chosenLightScene. checked) )
NL : Whenever the room becomes occupied now and was occupied sometimes within the last $T\_RL_2$ milliseconds and the light scene l was last chosen, the light scene l is the current light scene.

Property  M_RL6 
Formal : ( ( [  occ. occUsed ] > lCPFM. reoccDelay. checked  occ. occUsed )
                      curLightScene =  curStandLightScene )
NL : Whenever the room becomes occupied now and has been continuously unoccupied for the last $T\_RL_2$ milliseconds, the current light scene is the current standard light scene.

Property  M_RL7 
Formal : ( l  LightScene:
      ( (  occ. occUsed [  occ. occUsed ]
      [  determineLightScene( lCPRoom. chosenLightScene. checked)
                               = l ] )
                                                    T_RL1  curLightScene = l ) )
NL : Whenever the room is occupied, but has not just become occupied now, and the light scene l becomes chosen, this light scene l is the current light scene within time $T\_RL_1$.

Property  M_RL8 
Formal : ( (  occ. occUsed  manualControl
       lCPRoom. lightSceneSwitch. checked = 1 )
      ( (  light[1]. pulse. noMalAct. adjustedEntity = 1
                evalLightScene( curLightScene,  LightScene:: WINDOW)
               = 0 )
             (  light[1]. dimmer. noMalAct. adjustedEntity =
                 evalLightScene( curLightScene,  LightScene:: WINDOW) )
            
             (  light[2]. pulse. noMalAct. adjustedEntity = 1
                evalLightScene( curLightScene,  LightScene:: WALL)
               = 0 )
             (  light[2]. dimmer. noMalAct. adjustedEntity =
                 evalLightScene( curLightScene,  LightScene:: WALL) ) ) )
NL : Whenever the room is occupied and the light is not manually controlled and light scenes are enabled by the control panel, the window and wall lights are dimmed and switched on or off as necessary to achieve the ambient light level of the current light scene under consideration of the current light scene's lighting order.
In short: Under the mentioned conditions the current light scene has to be established.

Property  M_RL9 
Formal : ( (  occ. occUsed  manualControl
       lCPRoom. lightSceneSwitch. checked = 0
       lCPRoom. ambientSwitch. checked = 1 )
      ( (  light[1]. pulse. noMalAct. adjustedEntity = 1
                evalAmbient( curAmbLightLev,  LightScene:: WINDOW)
                                         = 0 )
             (  light[1]. dimmer. noMalAct. adjustedEntity =
                 evalAmbient( curAmbLightLev,  LightScene:: WINDOW) )
            
             (  light[2]. pulse. noMalAct. adjustedEntity = 1
                evalAmbient( curAmbLightLev,  LightScene:: WALL)
                                         = 0 )
             (  light[2]. dimmer. noMalAct. adjustedEntity =
                 evalAmbient( curAmbLightLev,  LightScene:: WALL) ) ) )
NL : Whenever the room is occupied and the light is not manually controlled, light scenes are disabled and ambient light settings are enabled by the control panel, the window and wall lights are dimmed and switched on or off as necessary to achieve the current ambient light level.
In short: Under the mentioned conditions the current ambient light setting is established.

Property  M_RL10 
Formal : (  occ. occUsed  manualControl
       lCPRoom. lightSceneSwitch. checked = 0
       lCPRoom. ambientSwitch. checked = 0
      ( (  light[1]. pulse. noMalAct. adjustedEntity =
                                     lCPRoom. winCeilLightSwitch. checked )
             (  lCPRoom. winCeilLightSwitch. checked = 1
                      light[1]. dimmer. noMalAct. adjustedEntity = 100 )
             (  lCPRoom. winCeilLightSwitch. checked = 0
                      light[1]. dimmer. noMalAct. adjustedEntity = 0 )
             (  light[2]. pulse. noMalAct. adjustedEntity =
                      lCPRoom. wallCeilLightSwitch. checked )
             (  lCPRoom. wallCeilLightSwitch. checked = 1
                      light[2]. dimmer. noMalAct. adjustedEntity = 100 )
             (  lCPRoom. wallCeilLightSwitch. checked = 0
                      light[2]. dimmer. noMalAct. adjustedEntity = 0 ) ) )
NL : Whenever the room is occupied and the light is not manually controlled and light scenes and ambient light setting are disabled by the control panel, the window and wall lights are completely switched off or on as selected in the control panels ceiling light switches.
In short: Under the mentioned conditions the light is controlled by the ceiling light switches.

Property  M_RL11 
Formal : (  manualControl
      p  PERCENT:
            (  light[1]. dimmer. noMalAct. adjustedEntity = p
              (  light[1]. dimmer. noMalAct. adjustedEntity = p
                                                                        manualControl ) )
           p  PERCENT:
            (  light[2]. dimmer. noMalAct. adjustedEntity = p
              (  light[2]. dimmer. noMalAct. adjustedEntity = p
                                                                        manualControl ) ) )
NL : As long as the light is controlled manually, the dimmer settings of the window and wall light remain unchanged.

Property  M_RL12 
Formal : ( ( [  occ. occUsed ]  lCPFM. reoccDelay. checked  occ. occUsed )
       curAmbLightLev =  lCPRoom. ambLightLev. checked )
NL : Whenever the room becomes occupied now and was occupied sometimes within the last $T\_RL_2$ milliseconds and the ambient light level l was last chosen, the ambient light level l is the current ambient light level.

Property  M_RL13 
Formal : ( ( [  occ. occUsed ] > lCPFM. reoccDelay. checked  occ. occUsed )
                      curAmbLightLev =  defaultAmbLightLev )
NL : Whenever the room becomes occupied now and has not been occupied during the last time $T\_RL_2$, the current ambient light level is the default ambient light level.

Property  M_RL14 
Formal : ( l  LIGHT_VALUES:
      ( (  occ. occUsed [  occ. occUsed ]
      [  lCPRoom. ambLightLev. checked = l ] )
                                                    T_RL1  curAmbLightLev = l ) )
NL : Whenever the room is occupied, but has not just become occupied now, and the ambient light level l becomes chosen, this ambient light level l is the current ambient light level within time $T\_RL_1$.


next up previous contents index FOREST_HomepageFOREST_Example_Homepage
Next: Description Class BasicRoom Up: No Title Previous: Description Class HallwaySection
Forest-System
1999-06-10