4622
правки
Irina (обсуждение | вклад) |
Irina (обсуждение | вклад) |
||
Строка 39: | Строка 39: | ||
Между топологическими моделями и вычислениями имеется следующая связь. Начальное локальное состояние процесса P моделируется как вершина <math>\vec{v} = \langle P, v \rangle</math>, помеченная идентификатором процесса P и начальным значением v. Начальное глобальное состояние моделируется как n-симплекс <math>S^n = ( \langle P_0, v_0 \rangle , ..., \langle P_n, v_n \rangle )</math>, где все <math>P_i</math> различны. | Между топологическими моделями и вычислениями имеется следующая связь. Начальное локальное состояние процесса <math>P</math> моделируется как вершина <math>\vec{v} = \langle P, v \rangle</math>, помеченная идентификатором процесса <math>P</math> и начальным значением <math>v</math>. Начальное глобальное состояние моделируется как n-симплекс <math>S^n = ( \langle P_0, v_0 \rangle , ..., \langle P_n, v_n \rangle )</math>, где все <math>P_i</math> различны. За <math>ids(S^n)</math> обозначается множество идентификаторов процессов, связанных с <math>S^n</math>, а за <math>vals(S^n)</math> – множество значений. Множество всех возможных начальных глобальных состояний образует комплекс, называемый ''входным комплексом''. | ||
Любой протокол имеет связанный с ним ''протокольный комплекс'' <math>\mathcal{P}</math>, определяемый следующим образом. Каждая вершина помечена идентификатором процесса и возможным локальным состоянием этого процесса. Множество вершин <math>\langle P_0, v_0 \rangle , ..., \langle P_d, v_d \rangle</math> охватывает симплекс <math>\mathcal{P}</math> тогда и только тогда, когда существует некоторое выполнение протокола, при котором <math>P_0, ..., P_d</math> завершают его с соответствующими локальными состояниями <math>v_0, ..., v_d</math>. Таким образом, каждый симплекс соответствует классу эквивалентности выполнений, которые «выглядят одинаково» для процессов в его вершинах. | Любой протокол имеет связанный с ним ''протокольный комплекс'' <math>\mathcal{P}</math>, определяемый следующим образом. Каждая вершина помечена идентификатором процесса и возможным локальным состоянием этого процесса. Множество вершин <math>\langle P_0, v_0 \rangle , ..., \langle P_d, v_d \rangle</math> охватывает симплекс <math>\mathcal{P}</math> тогда и только тогда, когда существует некоторое выполнение протокола, при котором <math>P_0, ..., P_d</math> завершают его с соответствующими локальными состояниями <math>v_0, ..., v_d</math>. Таким образом, каждый симплекс соответствует классу эквивалентности выполнений, которые «выглядят одинаково» для процессов в его вершинах. За <math>\mathcal{P}(S^m)</math> обозначается подкомплекс <math>\mathcal{P}</math>, соответствующий выполнениям, в которых участвуют только процессы из <math>ids(S^n)</math> (остальные завершаются сбоями, не отправив ни одного сообщения). Если <math>m < n - f</math>, то таких выполнений не существует, и подкомплекс <math>\mathcal{P}(S^m)</math> пуст. Структура протокольного комплекса <math>\mathcal{P}</math> зависит как от протокола, так и от временных характеристик и характеристик отказов модели. Часто <math>\mathcal{P}</math> обозначает и протокол, и его комплекс; различие между ними проводится, исходя из контекста. | ||
правки