Environment, README, gitignore and the source self-parsing in Lab041. requirements.txt and requirements-hardware.txt pin the versions actually verified today on Python 3.13.1, split so the project comes up on a machine with no SDR: pyadi-iio and libiio are only needed from Lab042 on. The gitignore contradiction is fixed in the direction that keeps the project reproducible. data/raw/ was ignored while six files were tracked anyway, and four of them are the source images Lab007, Lab009, Lab011 and Lab012 read as input. Untracking them would have broken those labs, so the rule now carries explicit exceptions instead. Recorded in the README: lab026_rover_source.mp4 is genuinely absent and Lab026 and Lab027 cannot run without it. README replaced. It claimed the next task was to write the first protocol module, 41 labs later. It now states what exists, that the transmitter has never been switched on, how to install either environment, how to run tests, the gate and a lab, and that rover/, ground_station/ and gnuradio/ are still empty. Added rule 9: every number in a report must come from the current run, transferred values must name their source. Lab041 no longer parses its own source to check that plot labels are in Russian. That belonged to presentation, not to model correctness, and turned the experiment into an analyser of its own text; ast, inspect and re are no longer imported. Rerun: 180 combinations, 24/24 checks, five CSV and seven PNG, unchanged. 125 tests pass, gate passes. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
346 lines
68 KiB
Plaintext
346 lines
68 KiB
Plaintext
Lab041 — сеансы связи, безопасный запуск и защита от пакетов предыдущего сеанса
|
||
|
||
Исходное состояние
|
||
- Корень: C:/Users/user/Desktop/projects/SDR_Rover
|
||
- Ветка: main.
|
||
- Исходный HEAD: 88addff5b615dd7c13506b6e4c83c131a6a4bb39.
|
||
- Рабочее дерево и индекс были чистыми; расхождение с локально известной origin/main составляло 0/0.
|
||
- Коммиты Lab039 и Lab040 присутствовали; сетевые команды Git не выполнялись.
|
||
|
||
Форматы прикладных сообщений
|
||
- Общий прикладной заголовок: !BBQQII, 26 байт, сетевой порядок, без неявного выравнивания.
|
||
- Поля заголовка: версия, тип, ground_session_id, rover_boot_id, control_epoch и sequence_number.
|
||
- Типы: SESSION_HELLO, SESSION_STATUS, MOVEMENT_AUTHORIZE_REQUEST, MOVEMENT_AUTHORIZE_ACK, CONTROL_STATE, EMERGENCY_STOP, EMERGENCY_ACK, RESET_REQUEST, RESET_ACK и SESSION_REJECT.
|
||
- CONTROL_STATE содержит скорость float32, поворот float32, торможение uint8 и разрешение движения uint8; выполняется смысловая проверка диапазонов и сочетаний.
|
||
- Идентификаторы запуска имеют 64 бита; период управления и номер сообщения — 32 бита; идентификаторы аварии и сброса — 64 бита.
|
||
- Отдельная контрольная сумма не добавлена: контрольная сумма общего пакета Lab033 уже охватывает всю полезную нагрузку. Успешная проверка суммы не заменяет смысловую проверку.
|
||
- тип | прикладной заголовок, байт | специализированная часть, байт | прикладное сообщение, байт | заголовок Lab033, байт | передаётся всего, байт
|
||
- SESSION_HELLO | 26 | 9 | 35 | 32 | 67
|
||
- SESSION_STATUS | 26 | 10 | 36 | 32 | 68
|
||
- MOVEMENT_AUTHORIZE_REQUEST | 26 | 8 | 34 | 32 | 66
|
||
- MOVEMENT_AUTHORIZE_ACK | 26 | 9 | 35 | 32 | 67
|
||
- CONTROL_STATE | 26 | 10 | 36 | 32 | 68
|
||
- EMERGENCY_STOP | 26 | 8 | 34 | 32 | 66
|
||
- EMERGENCY_ACK | 26 | 8 | 34 | 32 | 66
|
||
- RESET_REQUEST | 26 | 21 | 47 | 32 | 79
|
||
- RESET_ACK | 26 | 18 | 44 | 32 | 76
|
||
- SESSION_REJECT | 26 | 2 | 28 | 32 | 60
|
||
|
||
Постоянная нагрузка управления
|
||
- CONTROL_STATE: 68 передаваемых байт × 20 сообщений/с = 10.88000 кбит/с.
|
||
- За 20 с передаётся 400 команд, или 27200 байт.
|
||
- Прикладной заголовок занимает 72.222% прикладного сообщения и 38.235% всего передаваемого пакета команды.
|
||
- В Lab040 пакет команды занимал 46 байт и создавал 7.36000 кбит/с; рост составляет 3.52000 кбит/с, или 47.826%.
|
||
- Один исходный обмен SESSION_HELLO и SESSION_STATUS: 135 байт, что соответствует 0.05400 кбит/с при усреднении по одному опыту.
|
||
- Один исходный обмен разрешения движения: 133 байт, или 0.05320 кбит/с при усреднении по одному опыту.
|
||
- Аварийная команда с подтверждением: 132 байт; запрос сброса с подтверждением: 155 байт.
|
||
|
||
Обоснование идентификаторов
|
||
- Одного sequence_number недостаточно: после перезапуска он может снова начаться с нуля, а задержанный большой номер прежнего запуска будет выглядеть допустимым без границы сеанса.
|
||
- ground_session_id отделяет запуски наземной станции; rover_boot_id немедленно делает недействительными команды, адресованные предыдущему запуску ровера.
|
||
- control_epoch отделён от сеанса, потому что внутри одного соединения движение может быть повторно запрещено и разрешено после остановки или сброса.
|
||
- 64 бита выбраны как минимально требуемая ширина с практически большим пространством случайных значений; в воспроизводимой модели значения выводятся из фиксированного начального значения. Источник для реального изделия должен быть определён отдельно.
|
||
|
||
Автоматы сторон
|
||
- Наземная станция: GROUND_BOOT → GROUND_SYNCING → GROUND_SAFE_SYNCHRONIZED → GROUND_MOVEMENT_AUTH_REQUESTED → GROUND_ACTIVE.
|
||
- Аварийная ветвь станции: GROUND_EMERGENCY_REQUESTED → GROUND_EMERGENCY_CONFIRMED → GROUND_RESET_REQUESTED → безопасное согласованное состояние.
|
||
- Ровер: ROVER_BOOT_SAFE → ROVER_SESSION_SYNCED_SAFE → ROVER_MOVEMENT_AUTHORIZED; состояния STAGE1_DECELERATION, STAGE2_BRAKING и EMERGENCY_LATCHED сохранены.
|
||
- После запуска ровер запрещает движение, потому что его программное состояние и происхождение ранее сохранённой команды больше нельзя считать достоверными.
|
||
- SESSION_STATUS и MOVEMENT_AUTHORIZE_ACK подтверждают этапы протокола, но сами не являются командой движения.
|
||
- После сброса или перезапуска старая команда не восстанавливается: требуется новое действие оператора и новая CONTROL_STATE текущего периода управления.
|
||
|
||
Сравнение sequence_number
|
||
- delta = (new - old) modulo 2^32; сообщение новее только при 0 < delta < 2^31.
|
||
- delta = 0 означает дубликат или старое сообщение; delta > 2^31 означает старый номер; delta = 2^31 неоднозначно и всегда отклоняется.
|
||
- Правило применяется только при совпадении ground_session_id, rover_boot_id, control_epoch и stream_id.
|
||
|
||
Ограничение модели
|
||
- Исследуются задержки, дубликаты, перестановка, старые пакеты и потеря оперативного состояния при перезапуске.
|
||
- Намеренная подделка не моделируется. Идентификаторы сеанса не доказывают отправителя, поэтому эта защита не заменяет криптографическую аутентификацию.
|
||
- Что именно моделируется розыгрышем: моменты потерь по экспоненциальной модели Good-Bad, доставка и повтор служебных сообщений сеанса, время до безопасного согласования и до разрешения движения, объём эпизодической служебной нагрузки. Только эти величины являются результатом моделирования Lab041.
|
||
- Что задано архитектурой, а не разыгрывается: исход обработки старого пакета, разрешено ли движение после перезапуска и сохраняется ли аварийное намерение. Матрица перебирает эти случаи, а поведение реализации проверяется отдельно функциональными проверками.
|
||
- Что не моделируется вовсе: транспорт видео, планировщик очередей, доставка телеметрии и доставка команд по радиоканалу. Соответствующие показатели относятся к Lab037 и Lab040 и в Lab041 не пересчитываются.
|
||
- Оценка пути после перезапуска получена по замкнутой формуле при параметрах профиля nominal Lab039 и одинакова во всех повторах; это расчёт, а не результат розыгрыша.
|
||
|
||
Матрица 180 сочетаний
|
||
архитектура | канал | сценарий | повторы | безопасный сеанс, % | разрешение, % | нарушения, % | старые пакеты приняты, % | потеря намерения, % | управление, кбит/с | эпизодическая служебная, кбит/с | полный поток, кбит/с
|
||
Без идентификаторов сеанса | Без потерь | Обычный запуск обеих сторон | 1 | 0.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | Без потерь | Перезапуск наземной станции при движении | 1 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | Без потерь | Перезапуск ровера при движении | 1 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | Без потерь | Одновременный перезапуск | 1 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | Без потерь | Перезапуск наземной станции при аварийном намерении | 1 | 0.000 | 100.000 | 100.000 | 0.000 | 100.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | Без потерь | Перезапуск ровера в аварийной фиксации | 1 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | Без потерь | Длительный перерыв связи | 1 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | Без потерь | Старая команда прежнего сеанса станции | 1 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | Без потерь | Старая команда прежнего запуска ровера | 1 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | Без потерь | Старый период управления | 1 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | Без потерь | Номер сообщения с нуля в новом сеансе | 1 | 0.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | Без потерь | Переполнение 32-битного номера | 1 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | Без потерь | Дубликат приветствия сеанса | 1 | 0.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | Без потерь | Потеря состояния сеанса | 1 | 0.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | Без потерь | Потеря подтверждения разрешения | 1 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | Без потерь | Потеря подтверждения аварии | 1 | 0.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10560 | 262.05847
|
||
Без идентификаторов сеанса | Без потерь | Потеря подтверждения сброса | 1 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.12400 | 262.07687
|
||
Без идентификаторов сеанса | Без потерь | Старый запрос сброса | 1 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | Без потерь | Поздняя положительная команда после аварии | 1 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | Без потерь | Перезапуск после сброса до подтверждения | 1 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Обычный запуск обеих сторон | 200 | 0.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Перезапуск наземной станции при движении | 200 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Перезапуск ровера при движении | 200 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Одновременный перезапуск | 200 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Перезапуск наземной станции при аварийном намерении | 200 | 0.000 | 100.000 | 100.000 | 0.000 | 100.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Перезапуск ровера в аварийной фиксации | 200 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Длительный перерыв связи | 200 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Старая команда прежнего сеанса станции | 200 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Старая команда прежнего запуска ровера | 200 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Старый период управления | 200 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Номер сообщения с нуля в новом сеансе | 200 | 0.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Переполнение 32-битного номера | 200 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Дубликат приветствия сеанса | 200 | 0.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Потеря состояния сеанса | 200 | 0.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Потеря подтверждения разрешения | 200 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Потеря подтверждения аварии | 200 | 0.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.11009 | 262.06295
|
||
Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Потеря подтверждения сброса | 200 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.12732 | 262.08018
|
||
Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Старый запрос сброса | 200 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Поздняя положительная команда после аварии | 200 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Перезапуск после сброса до подтверждения | 200 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Обычный запуск обеих сторон | 200 | 0.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Перезапуск наземной станции при движении | 200 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Перезапуск ровера при движении | 200 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Одновременный перезапуск | 200 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Перезапуск наземной станции при аварийном намерении | 200 | 0.000 | 100.000 | 100.000 | 0.000 | 100.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Перезапуск ровера в аварийной фиксации | 200 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Длительный перерыв связи | 200 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Старая команда прежнего сеанса станции | 200 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Старая команда прежнего запуска ровера | 200 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Старый период управления | 200 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Номер сообщения с нуля в новом сеансе | 200 | 0.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Переполнение 32-битного номера | 200 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Дубликат приветствия сеанса | 200 | 0.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Потеря состояния сеанса | 200 | 0.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Потеря подтверждения разрешения | 200 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Потеря подтверждения аварии | 200 | 0.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16817 | 262.12103
|
||
Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Потеря подтверждения сброса | 200 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.13727 | 262.09014
|
||
Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Старый запрос сброса | 200 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Поздняя положительная команда после аварии | 200 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Перезапуск после сброса до подтверждения | 200 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287
|
||
Идентификаторы и безопасный запуск | Без потерь | Обычный запуск обеих сторон | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы и безопасный запуск | Без потерь | Перезапуск наземной станции при движении | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы и безопасный запуск | Без потерь | Перезапуск ровера при движении | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы и безопасный запуск | Без потерь | Одновременный перезапуск | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы и безопасный запуск | Без потерь | Перезапуск наземной станции при аварийном намерении | 1 | 100.000 | 0.000 | 0.000 | 0.000 | 100.000 | 10.88000 | 0.05400 | 262.00687
|
||
Идентификаторы и безопасный запуск | Без потерь | Перезапуск ровера в аварийной фиксации | 1 | 100.000 | 0.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.05400 | 262.00687
|
||
Идентификаторы и безопасный запуск | Без потерь | Длительный перерыв связи | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы и безопасный запуск | Без потерь | Старая команда прежнего сеанса станции | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы и безопасный запуск | Без потерь | Старая команда прежнего запуска ровера | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы и безопасный запуск | Без потерь | Старый период управления | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы и безопасный запуск | Без потерь | Номер сообщения с нуля в новом сеансе | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы и безопасный запуск | Без потерь | Переполнение 32-битного номера | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы и безопасный запуск | Без потерь | Дубликат приветствия сеанса | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16120 | 262.11407
|
||
Идентификаторы и безопасный запуск | Без потерь | Потеря состояния сеанса | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16120 | 262.11407
|
||
Идентификаторы и безопасный запуск | Без потерь | Потеря подтверждения разрешения | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16040 | 262.11327
|
||
Идентификаторы и безопасный запуск | Без потерь | Потеря подтверждения аварии | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.21280 | 262.16567
|
||
Идентификаторы и безопасный запуск | Без потерь | Потеря подтверждения сброса | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.23120 | 262.18407
|
||
Идентификаторы и безопасный запуск | Без потерь | Старый запрос сброса | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы и безопасный запуск | Без потерь | Поздняя положительная команда после аварии | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы и безопасный запуск | Без потерь | Перезапуск после сброса до подтверждения | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Обычный запуск обеих сторон | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Перезапуск наземной станции при движении | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Перезапуск ровера при движении | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10852 | 262.06139
|
||
Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Одновременный перезапуск | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.11010 | 262.06297
|
||
Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Перезапуск наземной станции при аварийном намерении | 200 | 100.000 | 0.000 | 0.000 | 0.000 | 100.000 | 10.88000 | 0.05400 | 262.00687
|
||
Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Перезапуск ровера в аварийной фиксации | 200 | 100.000 | 0.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.05400 | 262.00687
|
||
Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Длительный перерыв связи | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.11348 | 262.06634
|
||
Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Старая команда прежнего сеанса станции | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10799 | 262.06086
|
||
Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Старая команда прежнего запуска ровера | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10773 | 262.06059
|
||
Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Старый период управления | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Номер сообщения с нуля в новом сеансе | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10997 | 262.06284
|
||
Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Переполнение 32-битного номера | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Дубликат приветствия сеанса | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16120 | 262.11407
|
||
Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Потеря состояния сеанса | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16226 | 262.11512
|
||
Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Потеря подтверждения разрешения | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16040 | 262.11327
|
||
Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Потеря подтверждения аварии | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.21848 | 262.17134
|
||
Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Потеря подтверждения сброса | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.23547 | 262.18833
|
||
Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Старый запрос сброса | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10799 | 262.06086
|
||
Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Поздняя положительная команда после аварии | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10984 | 262.06271
|
||
Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Перезапуск после сброса до подтверждения | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10733 | 262.06020
|
||
Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Обычный запуск обеих сторон | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Перезапуск наземной станции при движении | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Перезапуск ровера при движении | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Одновременный перезапуск | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.11354 | 262.06640
|
||
Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Перезапуск наземной станции при аварийном намерении | 200 | 100.000 | 0.000 | 0.000 | 0.000 | 100.000 | 10.88000 | 0.05400 | 262.00687
|
||
Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Перезапуск ровера в аварийной фиксации | 200 | 100.000 | 0.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.05400 | 262.00687
|
||
Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Длительный перерыв связи | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.12937 | 262.08224
|
||
Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Старая команда прежнего сеанса станции | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Старая команда прежнего запуска ровера | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Старый период управления | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Номер сообщения с нуля в новом сеансе | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10865 | 262.06152
|
||
Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Переполнение 32-битного номера | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Дубликат приветствия сеанса | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16120 | 262.11407
|
||
Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Потеря состояния сеанса | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16120 | 262.11407
|
||
Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Потеря подтверждения разрешения | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16040 | 262.11327
|
||
Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Потеря подтверждения аварии | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.23379 | 262.18665
|
||
Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Потеря подтверждения сброса | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.24705 | 262.19992
|
||
Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Старый запрос сброса | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Поздняя положительная команда после аварии | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Перезапуск после сброса до подтверждения | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Обычный запуск обеих сторон | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Перезапуск наземной станции при движении | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Перезапуск ровера при движении | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Одновременный перезапуск | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Перезапуск наземной станции при аварийном намерении | 1 | 100.000 | 0.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.05400 | 262.00687
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Перезапуск ровера в аварийной фиксации | 1 | 100.000 | 0.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.05400 | 262.00687
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Длительный перерыв связи | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Старая команда прежнего сеанса станции | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Старая команда прежнего запуска ровера | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Старый период управления | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Номер сообщения с нуля в новом сеансе | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Переполнение 32-битного номера | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Дубликат приветствия сеанса | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16120 | 262.11407
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Потеря состояния сеанса | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16120 | 262.11407
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Потеря подтверждения разрешения | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16040 | 262.11327
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Потеря подтверждения аварии | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.21280 | 262.16567
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Потеря подтверждения сброса | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.23120 | 262.18407
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Старый запрос сброса | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Поздняя положительная команда после аварии | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Перезапуск после сброса до подтверждения | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Обычный запуск обеих сторон | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10733 | 262.06020
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Перезапуск наземной станции при движении | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10826 | 262.06112
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Перезапуск ровера при движении | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10892 | 262.06178
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Одновременный перезапуск | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10773 | 262.06059
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Перезапуск наземной станции при аварийном намерении | 200 | 100.000 | 0.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.05400 | 262.00687
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Перезапуск ровера в аварийной фиксации | 200 | 100.000 | 0.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.05400 | 262.00687
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Длительный перерыв связи | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.11199 | 262.06486
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Старая команда прежнего сеанса станции | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10760 | 262.06046
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Старая команда прежнего запуска ровера | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10786 | 262.06073
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Старый период управления | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10812 | 262.06099
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Номер сообщения с нуля в новом сеансе | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.11090 | 262.06377
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Переполнение 32-битного номера | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10852 | 262.06139
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Дубликат приветствия сеанса | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16120 | 262.11407
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Потеря состояния сеанса | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16147 | 262.11433
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Потеря подтверждения разрешения | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16594 | 262.11881
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Потеря подтверждения аварии | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.21927 | 262.17213
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Потеря подтверждения сброса | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.23663 | 262.18949
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Старый запрос сброса | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10865 | 262.06152
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Поздняя положительная команда после аварии | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10878 | 262.06165
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Перезапуск после сброса до подтверждения | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10746 | 262.06033
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Обычный запуск обеих сторон | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Перезапуск наземной станции при движении | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.11063 | 262.06350
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Перезапуск ровера при движении | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.11169 | 262.06455
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Одновременный перезапуск | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10931 | 262.06218
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Перезапуск наземной станции при аварийном намерении | 200 | 100.000 | 0.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.05400 | 262.00687
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Перезапуск ровера в аварийной фиксации | 200 | 100.000 | 0.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.05400 | 262.00687
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Длительный перерыв связи | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.11698 | 262.06985
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Старая команда прежнего сеанса станции | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Старая команда прежнего запуска ровера | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Старый период управления | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.11261 | 262.06548
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Номер сообщения с нуля в новом сеансе | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10841 | 262.06127
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Переполнение 32-битного номера | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.11076 | 262.06363
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Дубликат приветствия сеанса | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16120 | 262.11407
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Потеря состояния сеанса | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16120 | 262.11407
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Потеря подтверждения разрешения | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16040 | 262.11327
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Потеря подтверждения аварии | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.21966 | 262.17253
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Потеря подтверждения сброса | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.25147 | 262.20433
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Старый запрос сброса | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Поздняя положительная команда после аварии | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Перезапуск после сброса до подтверждения | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007
|
||
|
||
Перезапуски и безопасное состояние
|
||
- В основном режиме движение до синхронизации: 0; до подтверждения разрешения: 0; без новой команды оператора: 0.
|
||
- Максимальный путь после перезапуска в основном режиме: 9.7737 м; это путь безопасного торможения, а не продолжение старой команды.
|
||
- Величина рассчитана по формуле v*t + v^2/(2a) при v = 6.9444 м/с, t = 0.250 с и a = 3.0 м/с^2 из профиля nominal Lab039. Оценка одноступенчатая и не учитывает предварительное замедление Stage1, поэтому она консервативнее двухступенчатой модели Lab039.
|
||
- Продолжение движения после перезапуска: 0; запуск по старой команде: 0.
|
||
|
||
Пакеты предыдущего сеанса
|
||
- Основной режим: введено 2807, отклонено 2807, ошибочно принято 0.
|
||
- Эти числа получены перебором таблицы сценариев: семь сценариев со старым пакетом умножаются на число повторов, а исход перебора задан архитектурой, а не розыгрышем помех. Они показывают охват перебора, а не измеренную вероятность отклонения.
|
||
- Что старый пакет действительно отклоняется реализацией, показывают проверки 06, 07, 08, 10 и 19: они вызывают receive_control и receive_reset настоящих автоматов и сверяют причину отказа.
|
||
- Отрицательный уровень без идентификаторов: ошибочно принято 2807 старых пакетов.
|
||
- Причины отказа основного режима: сеанс станции=401, запуск ровера=401, период управления=401, номер сообщения=802, событие аварии=401, запрос сброса=401.
|
||
- Неоднозначных delta=2^31 отклонено: 401.
|
||
|
||
Аварийное намерение и сброс
|
||
- Сохранение emergency_intent на станции сохраняет намерение оператора; ROVER_BOOT_SAFE независимо защищает физическое движение ровера после его перезапуска. Это разные задачи.
|
||
- В основном режиме потерь аварийного намерения: 0; восстановлений намерения: 401.
|
||
- Ошибочно принятых старых запросов сброса: 0; движений до RESET_ACK: 0; автоматических восстановлений движения: 0.
|
||
- Потеря EMERGENCY_ACK не снимает аварийное намерение; потеря RESET_ACK вызывает повтор того же идемпотентного запроса.
|
||
|
||
Инварианты безопасности основного режима
|
||
- Что означают числа ниже. Счётчики матрицы показывают, сколько сочетаний сценария и канала описывают небезопасный переход. В основном режиме безопасный запуск и постоянное аварийное намерение исключают такие переходы по построению архитектуры, поэтому счётчик равен нулю как следствие выбранной архитектуры, а не как результат розыгрыша помех.
|
||
- Поведение самой реализации подтверждается функциональными проверками; их номера указаны рядом с каждым свойством. Именно проверки, а не матрица, являются доказательством для перечисленных свойств.
|
||
- Движение до синхронизации: 0 (проверки 11, 15).
|
||
- Движение до подтверждения разрешения: 0 (проверки 12, 13).
|
||
- Движение без новой команды оператора: 0 (проверка 14).
|
||
- Использование старого периода управления: 0 (проверка 08).
|
||
- Снятие аварийной фиксации обычной командой: 0 (проверка 22).
|
||
- Потеря аварийного намерения после перезапуска станции: 0 (проверки 17, 18).
|
||
- Движение до подтверждения сброса: 0 (проверки 20, 21).
|
||
- Автоматическое восстановление старой команды после сброса: 0 (проверки 13, 14).
|
||
- Принятие старого запроса сброса: 0 (проверка 19).
|
||
|
||
Свойства, которые матрица не измеряет
|
||
- Следующие свойства зависят от разбора конкретного сообщения, а не от розыгрыша сценария, поэтому счётчика по 180 сочетаниям для них не существует. Ранее они выводились в списке инвариантов как нули; это было ошибкой представления, и такие строки удалены.
|
||
- Принятие команды старого сеанса станции: подтверждается проверками 06 и 16.
|
||
- Принятие команды старого запуска ровера: подтверждается проверкой 07.
|
||
- Принятие неоднозначной разности номеров 2^31: подтверждается проверкой 10.
|
||
- Отрицательная скорость и превышение разрешённой скорости: подтверждаются проверкой 04; диапазон 0...15 м/с проверяется при кодировании в protocol/control_messages.py.
|
||
|
||
Учёт нагрузки
|
||
- Постоянное управление: 10.88000 кбит/с во всех сочетаниях.
|
||
- Исходные сообщения согласования: в среднем 0.05400 кбит/с; разрешение движения: 0.04788 кбит/с.
|
||
- Аварийные сообщения и сброс: в среднем 0.00574 кбит/с; повторы и повторные подтверждения: 0.01536 кбит/с.
|
||
- Эпизодическая служебная нагрузка основного режима: средняя 0.12298 кбит/с, максимум 0.25147 кбит/с. Именно к этой величине относились прежние значения 0,12298–0,25147 кбит/с.
|
||
- Постоянные исходные потоки: видео 243.39287, телеметрия 7.68000, управление 10.88000 кбит/с.
|
||
- Видео и телеметрия здесь не моделируются: значения перенесены из Lab038, поля video_load_kbps и telemetry_load_kbps файла data/processed/lab038/lab038_summary.csv. Управление вычислено по размеру пакета и частоте.
|
||
- Полный предложенный поток основного режима: средний 262.07584 кбит/с, максимум 262.20433 кбит/с.
|
||
- Доли доставки видео, телеметрии и управления, а также длина очереди в Lab041 не определяются. Модель этой лабораторной воспроизводит обмен служебными сообщениями сеанса, но не планировщик очередей и не транспорт видео. Соответствующие показатели следует брать из Lab037 и Lab040.
|
||
|
||
Функциональные проверки
|
||
- ПРОЙДЕНО — 01. Сериализация всех сообщений: все десять типов имеют однозначное двоичное представление
|
||
- ПРОЙДЕНО — 02. Отклонение неверной версии: неверная версия отклонена
|
||
- ПРОЙДЕНО — 03. Отклонение неизвестного типа: неизвестный тип отклонён
|
||
- ПРОЙДЕНО — 04. Допустимые диапазоны управления: диапазоны и сочетания полей управления проверены, включая отрицательную скорость и границу 15 м/с
|
||
- ПРОЙДЕНО — 05. Номер ноль в новом сеансе: новый сеанс принимает начальный номер ноль
|
||
- ПРОЙДЕНО — 06. Старый сеанс станции: старый сеанс наземной станции отклонён
|
||
- ПРОЙДЕНО — 07. Старый запуск ровера: старый идентификатор запуска ровера отклонён
|
||
- ПРОЙДЕНО — 08. Старый период управления: старый период управления отклонён
|
||
- ПРОЙДЕНО — 09. Переполнение номера сообщения: переход от 0xFFFFFFFF к нулю принят как новый
|
||
- ПРОЙДЕНО — 10. Неоднозначная половина диапазона: неоднозначная половина диапазона отклонена
|
||
- ПРОЙДЕНО — 11. Безопасное состояние после запуска: после запуска движение запрещено с обеих сторон
|
||
- ПРОЙДЕНО — 12. Состояние сеанса не запускает движение: состояние сеанса и дубликат приветствия не разрешают движение
|
||
- ПРОЙДЕНО — 13. Подтверждение разрешения не восстанавливает движение: подтверждение разрешения сохраняет нулевое состояние
|
||
- ПРОЙДЕНО — 14. Новая команда оператора обязательна: движение начинается только по новой команде оператора
|
||
- ПРОЙДЕНО — 15. Безопасный перезапуск ровера: перезапуск ровера немедленно создаёт безопасное состояние
|
||
- ПРОЙДЕНО — 16. Прекращение старого потока станции: новый сеанс прекращает старый поток команд
|
||
- ПРОЙДЕНО — 17. Восстановление аварийного намерения: сохранённое аварийное намерение восстановлено
|
||
- ПРОЙДЕНО — 18. Подтверждение не снимает аварийное намерение: подтверждение аварии не снимает намерение
|
||
- ПРОЙДЕНО — 19. Отклонение старого запроса сброса: запрос сброса старого сеанса отклонён
|
||
- ПРОЙДЕНО — 20. Повтор после потери подтверждения сброса: без подтверждения тот же запрос сброса передаётся повторно
|
||
- ПРОЙДЕНО — 21. Повторное подтверждение дубликата сброса: дубликат не повторяет сброс и получает подтверждение
|
||
- ПРОЙДЕНО — 22. Аварийная фиксация не снимается обычной командой: обычная команда не снимает аварийную фиксацию
|
||
- ПРОЙДЕНО — 23. Воспроизводимость: помехи и 64-битные идентификаторы воспроизводимы
|
||
- ПРОЙДЕНО — 24. Постоянная нагрузка команд управления: поток управления совпадает с размером 68 байт, частотой 20 Гц и длительностью опыта
|
||
|
||
Созданные файлы
|
||
- protocol/control_messages.py
|
||
- protocol/session_state.py
|
||
- experiments/lab041_session_restart_safety.py
|
||
- data/processed/lab041/lab041_summary.csv
|
||
- data/processed/lab041/lab041_session_metrics.csv
|
||
- data/processed/lab041/lab041_rejection_metrics.csv
|
||
- data/processed/lab041/lab041_restart_metrics.csv
|
||
- data/processed/lab041/lab041_load_metrics.csv
|
||
- data/processed/lab041/lab041_report.txt
|
||
- data/processed/lab041/lab041_session_time.png
|
||
- data/processed/lab041/lab041_authorization_time.png
|
||
- data/processed/lab041/lab041_old_packet_rejection.png
|
||
- data/processed/lab041/lab041_restart_distance.png
|
||
- data/processed/lab041/lab041_emergency_intent.png
|
||
- data/processed/lab041/lab041_safety_violations.png
|
||
- data/processed/lab041/lab041_protection_load.png
|
||
|
||
Ограничения
|
||
- Модель не включает криптографическую аутентификацию и не рассматривает намеренного нарушителя.
|
||
- Размеры идентификаторов и источник случайности для реального изделия должны быть закреплены отдельным проектным решением.
|
||
- Фиксация результатов в Git выполняется отдельно после завершения расчётов и проверок.
|