{title}Open/Close and Theft Flashing{/title} {author}jp{/author} {default}crash_flashing.html{/default} {text}

Open/Close and Theft Flashing

This test generation creates a user-defined test illustrating the Open/Close and Theft Flashing as modeled by interacting state machines

in the turn indicator model: the theft alarm sensor input (in_TheftAlarm) is only acknowledged if the doors are closed. Therefore the first test goal is to reach such a state where alarms from the sensor are handled. Instead of elaborating the detailed input sequence required for this, we specify the goal

TC-turn_indication-THEFT_ALARM-0001; [ IMR.SystemUnderTest.TheftFlashing.TheftFlashing.THEFT_ALARM_ACTIVE.ALARM_OFF && ! IMR.in_TheftAlarm ] Until [ _timeTick >= 2000 && IMR.in_TheftAlarm ] ;

which expresses the test objective
  1. Find a model state where the alarm function is enabled, but no alarm has been triggered yet. (This state is characterized by basic control state SystemUnderTest.TheftFlashing.TheftFlashing.THEFT_ALARM_ACTIVE.ALARM_OFF and the fact that the alarm sensor in_TheftAlarm is still passive)
  2. Stay in model states satisfying this condition until 2000ms have passed since start of test and the alarm sensor is switched on.
Recall that all test cases defined in LTL carry an implicit FINALLY operator, so (f Until g) stands for Finally (f Until g). By stimulating the system under test (SUT) with inputs leading to a computation finally fulfilling this test objective, first the close-flashing reaction (3 left and right flashing periods with 340ms ON and 320ms OFF duration), and then the theft alarm reaction (left and right flashing with a 230ms ON and 430ms OFF period) is triggered at the SUT.

Our next objective is to switch off theft flashing by opening the door using the remote key control. This is achieved by symbolic test case

TC-turn_indication-THEFT_ALARM-0002; [ IMR.SystemUnderTest.TheftFlashing.TheftFlashing.THEFT_ALARM_ACTIVE.ALARM_ON && IMR.in_TheftAlarm ] Until [ _timeTick >= 4000 && IMR.in_TheftAlarm && IMR.SystemUnderTest.oc_CentralLockingStatus == 1 ] ;

which requires the solver to find inputs resulting in a system state where The associated inputs calculated by the SMT solver trigger the following reactions from the SUT:
  1. Alarm flashing is interrupted by a single doors-open flash period (340ms ON duration)
  2. After the doors-open flash period all indications are switched off - alarm flashing has been terminated, regardless the current state of the in_TheftAlarm sensor.