--- title: 'ОКСАД ТМС. Направления работы на ближайшие спринты' disqus: recetu tags: oksadtms --- # ОКСАД ТМС. Направления работы на ближайшие спринты Ссылочки: - [ОКСАД ТМС. Тезисы об архитектуре](https://hackmd.io/8e7irv8yR2Wejl9oJrE8Sw) - [ОКСАД ТМС. Сценарий "Первичная обработка ИИ"](https://hackmd.io/d8cpswRnSoyTtpHwPdZTvQ) ## Принципы - работающая программа (aglie + CI) - построение ПК "с нуля", с программы с минимумом функционала - постепенное наращивание функционала по ключевым направлениям: - уточнение архитектуры - модель данных (наборы "время-значение", "время-значение1-значение2-.." (углы), то же с Т0, циклограмма, спектрограмма) - работа с БД (пуск, ИС, сеансы, данные в сеансах) - работа с файлами (автономный режим) - как отдельные файлы параметров, так и сеанс целиком (JSON и структура каталогов) - GUI ПК в целом - ключевые GUI-компоненты (графики, окно выбора пуска, панель задания Т0) - логика задач - следование основным принципам архитектуры ПК ОКСАД ТМС: - выделение "фреймворка" и "задач" для: - независимой разработки функционала задач - компоновки ПК из независимых задач ("запуск ПСов независимо друг от друга") - доступа к данным из БД и из файлов - отделение GUI от логики ради: - проработки подобного решения на практике - возможности переехать на другой GUI ## Ближайшие задачи (результаты) 1. Приложение-макет №1: - список используемых параметров - из JSON - нескольо задач со спецификацией [имя, входные параметры, выходные параметры] - фреймворк-backend подгружает список параметров, задачи, умеет наружу выдавать их и их состояние, заполнять/выдавать значения данных - фреймворк-frontend отображает список задач, их данные, статус наличия данных, статус выполненности задач - фреймворк позволяет задать значения данным (диалоги ввода и/или выбора файла), отобразить GUI просмотрщика данных (примитивное) - фреймворк позволяет запустить задачу, отрисовать GUI задач (примитивное). GUI задач позволяет запустить расчёт выходных данных и вернуть их в фреймворк Т.о. на выходе будет реализованная архитектура в части взаимодействия фреймворка/задач и взаимодействия backend/frontend: - выявлены проблемные архитектуры места для дальнейшей детализации 2. GUI-компонента отображения HeatMap-графиков - реализация в graph-view - встраивание в GUI задачи "Характеристика сигнала ТМС" 3. Работы с данными "время-значения": - модель данных: представление наборов "время-значения" ("время-значения1-значения2-"), привязка к Т0, пересчёты между Т0 - представление в файле - GUI-компонента - панель, встраиваемая в GUI задач - GUI-компонента - просмотрщик отдельного параметра - интеграция в фреймворк просмотрщика отдельного параметра - панель задания Т0 - аналитика - панель задания Т0 - GUI-компонента - перерисовка графиков при смене Т0 в ПК 4. Задача "Характеристика сигнала ТМС" (первичная обработка ИИ): - GUI задачи (без графиков, без панелей настроек, без справочника частот) - добавление в GUI задачи - графики параметров (2D), синхронная навигация на графиках - добавление в GUI задачи - панели настроек - добавление в GUI задачи - справочник частот - backend-задачи - сохранение/загрузка параметров обработки, обмен с GUI - backend-задачи - обмен данными, запуск логики расчёта (имитация расчёта) 5. Математика - выделение в отдельный проект radio-math математики задачи "Характеристика сигнала ТМС" - определение перечня функций проекта signal-mining для переноса в новый проект radio-math - написание тестов на функции signal-mining - разработка API в radio-math - структуры данных, методы - тесты в radio-math, реализация API - рефакторинг signal-mining - переход на реализацию из radio-math Примечание: в наличии только ИС "РТК-МК". ИС "КРТМ" - будет позднее? 6. Приложение-макет №2 - добавить работу с сеансами на JSON и каталогах 7. Интеграция: - добавить в макет (1) тип данных "время-значения" (3), в т.ч. работа с файлами, графиками - добавить в макет (1) задачу (3) "Характеристика сигнала ТМС" - добавить в задачу (3) HeatMap-компоненту (2) - связать задачу (3) с математикой (5)