// ************************************************************************** // // // // 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 module describes the behavior of the operator whose task is to start // // and stop the pump according to the alerts given by the CO and Methane // // monitors, as well as the water level. // // ************************************************************************** // package MinePump; module Operator(event ?SVStartPump,?SVStopPump, ?OPStartPump,?OPStopPump, ?MethaneCritical,?WaterLVMid,?AlertOP, !StartPump,!StopPump,!Alarm) { loop { pause; if(SVStartPump) { if(!MethaneCritical) emit (StartPump); } else if(SVStopPump) emit (StopPump); else if(OPStartPump) { if(WaterLVMid & !MethaneCritical) emit (StartPump); } else if(OPStopPump) { if(WaterLVMid) emit (StopPump); } if(AlertOP) emit (Alarm); } }