// ************************************************************************** // // eses eses // eses eses // eses eseses esesese eses Embedded Systems Group // ese ese ese ese ese // ese eseseses eseseses ese Department of Computer Science // eses eses ese eses // eses eseses eseseses eses University of Kaiserslautern // eses eses // // ************************************************************************** macro N = ?, noH = ?; module InitHeater( [N]real h, int ?on, [N]real Off ) { int heater, off; heater = 0; off = 0; while(heater != (N-noH)) { choose(i = 0..N-1) { if(h[i] != 1.0) { next(h[i]) = 1.0 ; next(heater) = heater + 1 ; if(off != (N-on)) { next(Off[i]) = 1.0 ;next(off) = off + 1 ; } flow{}until(true); } } } }