---
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)