import eu.hsrw.ias.ggd.Greenhouse; import eu.hsrw.ias.ggd.Device; import eu.hsrw.ias.ggd.Severity; rule "Device of greenhouse gone critical" when device: Device(state == Severity.Critical) greenhouse: Greenhouse(devices contains(device)) //greenhouse: Greenhouse(devices contains(Device(state == Severity.Critical))) then modify(greenhouse){ setState(Severity.Critical) } System.out.println("Greenhouse: '" + greenhouse.getId() + "' is '" + greenhouse.getState().toString() + "'"); end rule "Device of greenhouse has gone optimal" when device: Device(state == Severity.Optimal) greenhouse: Greenhouse(devices contains(device)) then modify(greenhouse){ setState(Severity.Optimal) } end