package PowerMeter
import Timer.SimulatedTimer
-//JPF's Verify API
-import gov.nasa.jpf.vm.Verify
-
public class PowerMeters {
private int deviceNumbers
private List powerMeters
private int currentPower = 50
- PowerMeters(Closure sendEvent, int deviceNumbers) {
+ PowerMeters(Closure sendEvent, int deviceNumbers, boolean init) {
this.sendEvent = sendEvent
this.deviceNumbers = deviceNumbers
this.powerMeters = []
- //def init = Verify.getIntFromList(30, 50, 70)
- //this.power = init
-
+ if (init) {
+ this.power = 50
+ this.currentPower = 50
+ } else {
+ this.power = 60
+ this.currentPower = 60
+ }
powerMeters.add(new PowerMeter(id, label, displayName, this.power))
}
//By Model Checker
def setValue(LinkedHashMap eventDataMap) {
- if (eventDataMap["value"] != powerMeters[0].power) {
+ if (eventDataMap["value"].toInteger() != powerMeters[0].power) {
+ this.power = eventDataMap["value"].toInteger()
+ this.currentPower = eventDataMap["value"].toInteger()
powerMeters[0].setValue(eventDataMap["value"])
- this.power = powerMeters[0].power
- this.currentPower = powerMeters[0].currentPower
sendEvent(eventDataMap)
}
}
def find(Closure Input) {
powerMeters.find(Input)
}
+ def sort(Closure Input) {
+ powerMeters.sort(Input)
+ }
def collect(Closure Input) {
powerMeters.collect(Input)
}
powerMeters[0].currentValue(deviceFeature)//It is called if we have only one device
}
+ def latestValue(String deviceFeature) {
+ powerMeters[0].latestValue(deviceFeature)//It is called if we have only one device
+ }
+
def getAt(int ix) {
powerMeters[ix]
}