Pr-1st-1.1-m03-Slajd30
Cechy monitora
Monitor może odczytywać (obserwować) zmienne lokalne procesu , a więc określać stan lokalny procesu. Monitor nie ma natomiast możliwości zmiany stanu procesu przez przypisanie jego zmiennym lokalnym nowych wartości.
Ponadto, monitor może obserwować i kontrolować zdarzenia komunikacyjne. Kontrola ta polega na uzupełnianiu wiadomości wysyłanych przez o dodatkową informację sterującą adresowaną do monitora procesu docelowego, oraz na przechwytywaniu wiadomości skierowanych do procesu i interpretacji zawartej w nich informacji sterującej. W efekcie, wiadomości nadchodzące mogą być zatrzymane na pewien okres przez monitor i przekazane procesowi docelowemu dopiero, gdy spełnione zostaną określone warunki. Przyjmiemy, że przekazywanie wiadomości przez monitor procesowi docelowemu odpowiada wykonaniu operacji deliver(), gdzie jest nadawcą wiadomości . Operacja ta powoduje uaktywnienie zdarzenia odbioru e_receive(). Zakładamy przy tym, że stymulowane operacjami deliver() zdarzenia e_receive() zachodzą w kolejności wykonywania operacji deliver().
W ogólności, monitory nie muszą być wyróżnione jako specjalne procesy, gdyż ich zadanie może pełnić oprogramowanie wbudowane w proces aplikacyjny, zgodnie z regułami superpozycji oprogramowania. Takie podejście nazywa się czasami instrumentacją. Tak więc wyróżnienie monitorów jest w istocie jedynie sprawą interpretacji i implementacji.