task body STELLEN is
ZV_T: (AUF, ZU);
WERT: WERT_T;
UEBERLAUF, UNTERLAUF: exception;
begin
loop
select
accept VENTILE(ZV1, ZV2: ZV_T) do
-- Ventile entsprechend betätigen
end VENTILE;
or
accept VOLL do
-- Zulaufventil schließen
raise UEBERLAUF;
end VOLL;
or
accept LEER do
-- Ablaufventil schließen
raise UNTERLAUF;
end LEER;
else
MESSEN.FUELLSTAND(WERT);
if WERT < 2 then
-- Ablaufventil schließen
raise UNTERLAUF;
elsif WERT > 98 then
-- Zulaufventil schließen
raise UEBERLAUF;
end if;
end select;
end loop;
end STELLEN;