Pr-1st-1.1-m02-Slajd44: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Szopen (dyskusja | edycje)
Nie podano opisu zmian
 
Szopen (dyskusja | edycje)
Nie podano opisu zmian
Linia 8: Linia 8:
# jeżeli <math>\mathcal{X} \subset \mathcal{D}_i</math> i  
# jeżeli <math>\mathcal{X} \subset \mathcal{D}_i</math> i  
<math>\mathcal{X} \ne \emptyset</math>, to:  
<math>\mathcal{X} \ne \emptyset</math>, to:  
:<math>activate_i(\mathcal{X}) \equiv \exists\mathcal{X}' :: \mathcal{X}' \ne \emptyset \land \mathcal{X}' \subseteq \mathcal{X} \land (\mathcal{P}_i^A = \mathcal{X}' \Rightarrow ( passive_i \leftrightsquigarrow \neg passive_i ))</math>
:<math>activate_i(\mathcal{X}) \equiv \exists\mathcal{X}' :: \mathcal{X}' \ne \emptyset \land \mathcal{X}' \subseteq \mathcal{X} \land (\mathcal{P}_i^A = \mathcal{X}' \Rightarrow ( passive_i  
gdzie <math>passive_i \leftrightsquigarrow \neg passive_i</math>  oznacza, że pasywny proces <math>P_i</math> zmieni swój stan na aktywny w skończonym choć nieprzewidywalnym czasie.
\leftrightsquigarrow \neg passive_i ))</math>
gdzie <math>passive_i \leftrightsquigarrow \neg passive_i</math>   
oznacza, że pasywny proces <math>P_i</math> zmieni swój stan na aktywny w skończonym choć nieprzewidywalnym czasie.


Predykat <math>activate_i(\mathcal{X})</math> zachodzi zatem wtedy i tylko wtedy, gdy w związku z nadejściem (dostępnością) wiadomości od procesów tworzących zbiór <math>\mathcal{X}' \subseteq \mathcal{X} </math> (<math>\mathcal{P}_i^A = \mathcal{X}'</math>) gotowe stanie się którekolwiek z dopuszczalnych zdarzeń odbioru. Innymi słowy predykat <math>activate_i(\mathcal{X})</math> zachodzi, jeżeli dostarczenie wiadomości od wszystkich procesów <math>P_j \in \mathcal{X}</math> umożliwia uaktywnienie procesu <math>P_i</math>Jak łatwo zauważyć, predykat ten posiada właściwość monotoniczności: jeżeli  
Predykat <math>activate_i(\mathcal{X})</math> zachodzi zatem wtedy i tylko wtedy, gdy w związku z nadejściem (dostępnością) wiadomości od procesów tworzących zbiór <math>\mathcal{X}' \subseteq \mathcal{X} </math> (<math>\mathcal{P}_i^A = \mathcal{X}'</math>) gotowe stanie się którekolwiek z dopuszczalnych zdarzeń odbioru. Innymi słowy predykat <math>activate_i(\mathcal{X})</math> zachodzi, jeżeli dostarczenie wiadomości od wszystkich procesów <math>P_j \in \mathcal{X}</math> umożliwia uaktywnienie procesu <math>P_i</math>Jak łatwo zauważyć, predykat ten posiada właściwość monotoniczności: jeżeli  

Wersja z 15:49, 7 wrz 2006

Predykat activate

Predykat activate

Z kolei predykat activatei(𝒳) zdefiniowany jest w sposób następujący:

  1. jeżeli 𝒳=𝒟i, to activatei(𝒳)=True
  2. jeżeli 𝒳=, to activatei(𝒳)=False
  3. jeżeli 𝒳𝒟i i

𝒳, to:

activatei(𝒳)𝒳::𝒳𝒳𝒳(𝒫iA=𝒳(passivei¬passivei))

gdzie passivei¬passivei oznacza, że pasywny proces Pi zmieni swój stan na aktywny w skończonym choć nieprzewidywalnym czasie.

Predykat activatei(𝒳) zachodzi zatem wtedy i tylko wtedy, gdy w związku z nadejściem (dostępnością) wiadomości od procesów tworzących zbiór 𝒳𝒳 (𝒫iA=𝒳) gotowe stanie się którekolwiek z dopuszczalnych zdarzeń odbioru. Innymi słowy predykat activatei(𝒳) zachodzi, jeżeli dostarczenie wiadomości od wszystkich procesów Pj𝒳 umożliwia uaktywnienie procesu PiJak łatwo zauważyć, predykat ten posiada właściwość monotoniczności: jeżeli 𝒳𝒴 i activatei(𝒳)=True, to activatei(𝒴)=True.

<< Poprzedni slajd | Spis treści | Następny slajd >>