package Alarm
import Timer.SimulatedTimer
+//JPF's Verify API
+import gov.nasa.jpf.vm.Verify
+
public class Alarms {
int deviceNumbers
List alarms
this.deviceNumbers = deviceNumbers
this.alarms = []
+ /*def init = Verify.getBoolean()
+ if (init) {
+ this.alarm = "off"
+ this.currentAlarm = "off"
+ this.alarmLatestValue = "off"
+ } else {
+ this.alarm = "on"
+ this.currentAlarm = "on"
+ this.alarmLatestValue = "on"
+ }*/
alarms.add(new Alarm(sendEvent, id, label, displayName, this.alarm, this.currentAlarm, this.alarmLatestValue))
}
//By Apps
def both() {
- alarms[0].both()
- alarmLatestValue = alarm
- alarm = "both"
- currentAlarm = "both"
+ if (alarm != "both") {
+ alarms[0].both()
+ alarmLatestValue = alarm
+ alarm = "both"
+ currentAlarm = "both"
+ }
}
def off() {
- alarms[0].off()
- alarmLatestValue = alarm
- alarm = "off"
- currentAlarm = "off"
+ if (alarm != "off") {
+ alarms[0].off()
+ alarmLatestValue = alarm
+ alarm = "off"
+ currentAlarm = "off"
+ }
}
def on() {
}
def siren() {
- alarms[0].siren()
- alarmLatestValue = alarm
- alarm = "siren"
- currentAlarm = "siren"
+ if (alarm != "siren") {
+ alarms[0].siren()
+ alarmLatestValue = alarm
+ alarm = "siren"
+ currentAlarm = "siren"
+ }
}
def strobe() {
- alarms[0].strobe()
- alarmLatestValue = alarm
- alarm = "strobe"
- currentAlarm = "strobe"
+ if (alarm != "strobe") {
+ alarms[0].strobe()
+ alarmLatestValue = alarm
+ alarm = "strobe"
+ currentAlarm = "strobe"
+ }
}
def currentValue(String deviceFeature) {