// ************************************************************************** // // // // 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 // // // // ************************************************************************** // // This controller observes the amount of Methane in the air. // // ************************************************************************** // package MinePump; module MethaneMonitor(event ?MethaneLVHigh, ?MethaneLVLow, ?WaterLVHigh, event !AlertOP,!StartPump,!StopPump, event !MethaneCritical, !MethaneUnCritical) { loop { do { pause; emit (MethaneUnCritical); } while(!MethaneLVHigh); emit (AlertOP); emit (StopPump); do { pause; emit (MethaneCritical); } while(!MethaneLVLow); if(WaterLVHigh) emit (StartPump); } }