next up previous contents index FOREST_HomepageFOREST_Example_Homepage
Next: Template Declaration Sensor Up: No Title Previous: Template Declaration NoMalfunctionSensor

   
Template Declaration MalfunctionSensor

INTENTION

This class provides all definitions to describe the behavior of a sensor if it has a malfunction.

The following topics are considered:

Postreferences:lsref Sensor : malSens

FORMAL PARAMETERS

Sort  MAL_CONVERTED_DOMAIN 
Intention : This domain contains the possible values the machine can use as sensor values in the case of a malfunction of a sensor.
Postreferences : lsref MalfunctionSensor : manualEnteredVal
    lsref MalfunctionSensor : automaticDetermValue
    lsref MalfunctionSensor : valueMal

SIGNATURE

Object  manualEnteredVal  :  EnteredValue(VALID_INPUTS  =  MAL_CONVERTED_DOMAIN)
Intention : This object represents the value that should be used in the case of a malfunction of a sensor. This value is entered manually by a user. The entered value has to be an element of the domain MAL_CONVERTED_DOMAIN.
Prereferences : pdref PD_30
Postreferences : msref MalfunctionSensor : M_MS4

Object  manualEnteredMal  :  EnteredValue(VALID_INPUTS  =  BINARY)
Intention : This object represents a value entered manually by a person indicating whether a sensor has a malfunction or not.
  • 1 represents that a sensor has a malfunction
  • 0 represents that a sensor has no malfunction
Note that the value of this object is only meaningful if the timed predicate stateManualEnteredMal is true.
Prereferences : pdref FM11
Postreferences : msref MalfunctionSensor : M_MS3
    dkref MalfunctionSensor : D_MS1
    dkref MalfunctionSensor : D_MS2
    msref MalfunctionSensor : M_MS1
    msref MalfunctionSensor : M_MS2

Time Constant  T_MalDetDelay 
Intention : This time constant represents the maximal delay between the time point a sensor has a malfunction and the time point the machine assumes a malfunction of this sensor.
Scope : ev
Postreferences : dkref MalfunctionSensor : D_MS1
    dkref MalfunctionSensor : D_MS2
    dkref MalfunctionSensor : D_MS3
    dkref MalfunctionSensor : D_MS4
    msref MalfunctionSensor : I_M_MS1

Timed Function  automaticDetermValue   MAL_CONVERTED_DOMAIN
Intention : This function represents the value of a sensor determined automatically by the machine in the case of a malfunction of a sensor.
Scope : mh
Prereferences : pdref PD_30
    pdref NF1
    pdref NF2
    pdref NF3
    pdref NF4
Postreferences : msref MalfunctionSensor : M_MS4
    rsref OutdoorLightSensor : R_OLS1

Timed Function  valueMal   MAL_CONVERTED_DOMAIN
Intention : This function represents the value of a sensor used by the machine in the case of a malfunction of a sensor. It is computed based on the automatically determined and the manually entered value.
Scope : mh
Prereferences : pdref PD_30
Postreferences : msref MalfunctionSensor : M_MS4
    msref Sensor : M_S2

Timed Predicate  malDetEnv 
Intention : This predicate is true if and only if a sensor existing in the real world has a malfunction. Note that this predicate represents the value as it exists in the real world. This value is not visible for the machine.
Scope : eh
Prereferences : pdref PD_30
    pdref FM11
Postreferences : dkref MalfunctionSensor : D_MS1
    dkref MalfunctionSensor : D_MS2
    dkref MalfunctionSensor : I_D_MS3
    dkref MalfunctionSensor : D_MS3
    dkref MalfunctionSensor : D_MS4

Timed Predicate  malDetMach 
Intention : This predicate is true if and only if a machine assumes that a sensor existing in the real world has a malfunction. Note that this predicate represents the value as it seen by the machine.
Scope : mh
Prereferences : pdref PD_30
    pdref FM11
Postreferences : msref Sensor : M_S1
    msref Sensor : M_S2
    msref Floor : M_F1
    msref MalfunctionSensor : M_MS3
    msref MalfunctionSensor : I_M_MS1
    msref Floor : M_F13
    msref OfficeNeighbor : M_ON1
    msref NoOfficeNeighbor : M_NON1
    msref Floor : M_F3
    msref Floor : M_F4
    msref Floor : M_F14
    msref Floor : M_F15
    msref Floor : M_F16
    msref Floor : M_F17
    msref Floor : M_F18
    msref Floor : M_F19
    msref Floor : M_F20
    msref Floor : M_F21
    msref Floor : M_F22
    msref Floor : M_F23
    msref Floor : M_F24
    msref Floor : M_F25
    msref Floor : M_F6
    msref Floor : M_F7
    msref Floor : M_F8
    msref Floor : M_F9
    msref Floor : M_F10
    msref Floor : M_F11
    msref Floor : M_F12
    msref HallwaySection : M_HS4
    msref Room : M_R13
    msref Room : M_R14

Timed Predicate  stateManualEnteredValue 
Intention : This predicate is true if and only if a value, that should be used in the case of a malfunction of a sensor, has been entered manually by a user.
Scope : ev
Prereferences : pdref PD_30
Postreferences : msref MalfunctionSensor : M_MS4
    dkref MalfunctionSensor : I_D_MS2

Timed Predicate  stateManualEnteredMal 
Intention : This predicate is true if and only if it has been manually entered whether there is a malfunction of a sensor or whether there is no malfunction of it.

Note the difference between this predicate and the object manualEnteredMal.

Scope : ev
Prereferences : pdref FM11
Postreferences : dkref MalfunctionSensor : I_D_MS1
    msref MalfunctionSensor : M_MS3
    dkref MalfunctionSensor : D_MS1
    dkref MalfunctionSensor : D_MS2

Timed Predicate  automaticDetMal 
Intention : This predicate is true if and only if a malfunction of a sensor has been detected automatically, i.e. not by entering it manually.
Scope : ev
Prereferences : pdref FM11
Postreferences : msref MalfunctionSensor : M_MS3
    dkref MalfunctionSensor : D_MS1
    dkref MalfunctionSensor : D_MS2
DOMAIN KNOWLEDGE

Property  I_D_MS1 
Formal :  stateManualEnteredMal
NL : Initially it has not been entered manually whether there is a malfunction of a sensor or whether there is no malfunction of it.

Property  I_D_MS2 
Formal :  stateManualEnteredValue
NL : Initially no value for the case of a malfunction is entered manually by a user.

Property  I_D_MS3 
Formal :  malDetEnv
NL : Initially a sensor has no malfunction.

Property  D_MS1 
Formal : (  malDetEnv  T_MalDetDelay
     (  stateManualEnteredMal  automaticDetMal )
     (  stateManualEnteredMal
        manualEnteredMal. checkTime (  manualEnteredMal. entered = ``1'' ) ) )
NL : Whenever a sensor existing in the real world has constantly a malfunction for at least T_MalDetDelay milliseconds then within this time the conditions are fulfilled that the machine assumes a malfunction of this sensor, i.e.,
  • either the machine has detected a malfunction automatically and it is not entered manually whether there is a malfunction or not
  • or it is entered manually whether there is a malfunction or not and in the last manualEnteredMal.checkTime milliseconds it has been entered that there is a malfunction, i.e. manualEnteredMal.entered = "1".

Property  D_MS2 
Formal : (  malDetEnv  T_MalDetDelay
     (  stateManualEnteredMal  automaticDetMal )
     (  stateManualEnteredMal
        manualEnteredMal. checkTime (  manualEnteredMal. entered ``1'' ) ) )
NL : Whenever a sensor existing in the real world has constantly no malfunction for at least T_MalDetDelay milliseconds then within this time the conditions are fulfilled that the machine assumes no malfunction of this sensor, i.e.,
  • either the machine has not detected a malfunction automatically and it is not entered manually whether there is a malfunction or not
  • or it is entered manually whether there is a malfunction or not and in the last manualEnteredMal.checkTime milliseconds it has not been entered that there is a malfunction, i.e. manualEnteredMal.entered $\not=$ "1".

Property  D_MS3 
Formal : (  T_MalDetDelay  malDetEnv )
NL : Each time malDetEnv becomes valid, it will be constantly valid for at least T_MalDetDelay milliseconds.

Property  D_MS4 
Formal : (  T_MalDetDelay  malDetEnv )
NL : Each time malDetEnv becomes invalid, it will be constantly invalid for at least T_MalDetDelay milliseconds.

MACHINE SPECIFICATIONS

Property  I_M_MS1 
Formal :  T_MalDetDelay  malDetMach
NL : The first T_MalDetDelay milliseconds the machine assumes that a sensor has no malfunction.

Property  M_MS1 
Formal : (  manualEnteredMal. nearestValue(``1'') = 1 )
NL : A manually entered ``1'' (as a string) concerning whether a sensor has a malfunction or not is always converted to a 1 as a natural number, i.e. as an element of the domain BINARY.

Property  M_MS2 
Formal : ( s STRING :
           ( s ``1''  manualEnteredMal. nearestValue(s) = 0 ) )
NL : Each manually entered string concerning whether a sensor has a malfunction or not that differs from ``1'' (as a string) is always converted to a 0 as a natural number, i.e. as an element of the domain BINARY.

Property  M_MS3 
Formal : (  malDetMach
      (  stateManualEnteredMal  manualEnteredMal. checked = 1 )
      (  stateManualEnteredMal  automaticDetMal ) )
NL : The machine assumes a malfunction of a sensor if and only if one of the following conditions is fulfilled:
  • a malfunction has been entered manually or
  • it has not been entered manually whether there is a malfunction or not and a malfunction has been detected automatically.
Prereferences : pdref FM11

Property  M_MS4 
Formal : (  stateManualEnteredValue
                     (  valueMal =  manualEnteredVal. checked )
    (  stateManualEnteredValue
                     (  valueMal =  automaticDetermValue ) ) )
NL : If a value for the status of a sensor in the case of a malfunction has been entered manually this is the value used by the machine in the case of a malfunction of a sensor.
Otherwise, the value used by the machine in the case of a malfunction of a sensor is the value determined automatically in the case of a malfunction of a sensor.
Prereferences : pdref PD_30


next up previous contents index FOREST_HomepageFOREST_Example_Homepage
Next: Template Declaration Sensor Up: No Title Previous: Template Declaration NoMalfunctionSensor
Forest-System
2000-09-06