Pr-1st-1.1-m09-Slajd17

Z Studia Informatyczne
Wersja z dnia 22:16, 11 wrz 2023 autorstwa Luki (dyskusja | edycje) (Zastępowanie tekstu – „<math> ” na „<math>”)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Zakończenie dynamiczne \leftrightarrow statyczne

Zakończenie dynamiczne ↔ statyczne


Niech ϑϑ oznacza, że zajście predykatu ϑ prowadzi w skończonym choć nieprzewidzianym czasie do zajścia predykatu ϑ.

Twierdzenie 9.1

Dterm(𝒫)Sterm(𝒫)

Dowód

W chwili τ, gdy Dterm(𝒫)=True, wszystkie procesy Pi są pasywne, zachodzi activatei(𝒜𝒱i𝒯i)[τ], a część wiadomości może znajdować się w kanałach. Jednakże, wszystkie wiadomości transmitowane są brane pod uwagę, a ich dotarcie do węzłów docelowych iw konsekwencji ich dostępność, jest uwzględniona w wartości predykatu \neg activatei(𝒜𝒱i𝒯i)). Wobec niezawodności kanałów, wiadomości transmitowane osiągną węzły docelowe po skończonym choć nieprzewidywalnym czasie, w pewnym momencie τ>τ. Wówczas 𝒯i[τ]=. Wobec stałej pasywności wszystkich procesów od chwili \tau, w każdej chwili τ:τ>τ, 𝒜𝒱i[τ]=𝒜𝒱i[τ]𝒯i[τ] oraz 𝒯i[τ]=.Stąd otrzymujemy:

¬activatei(𝒜𝒱i[τ]=True,𝒯i[τ]=

Predykat Sterm(𝒫) przyjmuje zatem wartość True.

Udowodniliśmy więc, że opóźnienie między momentem zajścia predykatu Dterm(𝒫) a momentem zajścia predykatu Sterm(𝒫) jest skończone lecz nieprzewidywalne. Wybór między jedną a drugą definicją zakończenia zależy oczywiście od użytkownika. Łatwo przewidzieć, że detekcja stanu opisanego predykatem Dterm(𝒫) będzie trudniejsza, a więc w ogolności bardziej kosztowna. Z drugiej jednak strony, zajście Dterm(𝒫) może pozwolić, na przykład, na uznanie wyników przetwarzania za ostateczne (w konsekwencji możliwe do dalszego wykorzystania) nawet, gdy pewne wiadomości są jeszcze transmitowane.



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