public interface WeatherGateway { public void init(); public void start(); public void stop(); public double getInchesPerWeek(); public int getWeatherZipCode(); public int getDaysToWaterOn(); public double getInchesPerMinute(); public void registerCallback(WeatherGatewayCallback _callbackTo); capability Initialize { description = "Initialize object"; method = "init()"; method = "start()"; method = "stop()"; method = "registerCallback(WeatherGatewayCallback _callbackTo)"; } capability WeatherUpdate { description = "Manage weather data update"; method = "getInchesPerWeek()"; method = "getWeatherZipCode()"; method = "getDaysToWaterOn()"; method = "getInchesPerMinute()"; } }