- Отчёт о выполнении задачи "Dec-drone-ctrl"
Децентрализованная система управления группой беспилотников представляет собой программное решение, которое позволяет координировать действия нескольких беспилотных летательных аппаратов без центрального контролирующего узла.
Основное назначение данной системы заключается в обеспечении автономности и гибкости при выполнении поисково-спасательных миссий на различной местности: в лесу, в городе, в горах, на воде.
По условиям заказчиков, система должна работать на определенной местности (в лесу, городе, горах, на воде)
-
Выполняются только аутентичные команды
-
Полет и все маневры выполняются согласно ограничениям в полётном задании (высота, полётная зона/эшелон)
-
Выполняются только авторизованные системой ОрВД задания
-
В любой ситуации исключено повреждение наземной инфраструктуры и причинение вреда здоровью человека
-
Аутентичная система выдачи заданий благонадежна
-
Аутентичные сотрудники благонадёжны и обладают необходимой квалификацией
-
Только авторизованные сотрудники управляют системами
Source | Destination | Operation | Auth |
---|---|---|---|
connection | data_processing | data_processing | True |
data_processing | connection | data_outputting | True |
data_processing | cooperation_tasks | three_in_one | True |
cooperation_tasks | cooperation_plane | plane_data | True |
cooperation_tasks | data_processing | plane_data | True |
cooperation_tasks | data_processing | detection_data | True |
cooperation_tasks | data_processing | task_data | True |
detector-control | cooperation_tasks | detection_data | True |
cooperation_plane | flight_control | plane_data | True |
cooperation_plane | cooperation_tasks | plane_data | True |
flight_control | emergency_landing | alert | True |
flight_control | motor_control | movement_data | True |
flight_control | cooperation_tasks | movement_data | True |
motor_control | technical_data | motor_status | True |
battery_control | technical_data | battery_status | True |
technical_data | flight_control | tech_data | True |
navigation | flight_control | location_data | True |
lps | navigation | lps_location_data | True |
gps | navigation | gps_location_data | True |
Алгоритм решения представляет из себя базовый вариант реализации без технических деталей, вроде распределения заданий по приоритетам, просчета сетки координат и т.д. и т.п. Текущее решение представляет из себя реализацию компонентов и передачу между ними сообщения в соответсвии (или хотя бы приближенно, насколько возможно) с логикой базового сценарий и политикой архитектуры.
Нарушение ЦБ №2 Контроль батареи
Нарушение ЦБ № 3, 4 Контроль выполения задания
- Клонируйте репозиторий
git clone https://github.com/st1gmat/dec-drone-ctrl.git
- При помощи makefile вы можете локально поднять контейнеры
make run
или
docker-compose up -d
Тесты находятся в папке tests. Для их запуска можно воспользоваться командой make test
, находясь в директории в корневой дериктории (dec-drone-ctrl)
Можно запустить только один кокретный тест c помощью команды pytest -svk <name>
, где вместо <name>
нужно вставить название необходимого теста.
Представлен следующий тест:
- Unit-тесты политик безопасности (tests/unit/monitor_test/test_unit_monitor.py)
Видео с запуском тестов: https://youtu.be/cXRPtp22rwk
Курс был интересным и полезным, он познакомил нас с основами кибербезопасности и киберимунной разработки. Было интересно строить архитектуру, продумывать, корректировать аспекты системы при все более ясном понимании того, что мы хотим видить в итоге. Большим плюсом было ознакомление с новыми концепциями mils и flask, а также улучшение навыков технической реализации этих концепций: работа с docker, kafka и python, в целом.
https://drive.google.com/file/d/1x9zZuE89Sg-x_UE4iEFtCxJvd-E67o1k/view?usp=sharing