Разработка системы поиска экстремума по двум координатам с использованием метода Гаусса-Зейделя, страница 2

3.2.  Проектирование задач

В данном проекте задействована одна задача. Это выглядит разумным, так есть одна задача по нахождению экстремума. В цели этой задачи входят генерирование тиков таймера, моделирование возмущающего воздействия, моделирование изменяемых координат с изменением их в соответствии с изменяющейся точкой экстремума. Все подзадачи являются локальными и не требуют отдельной задачи. Также в проекте используются теги для всех параметров, отображаемых в окне дисплея. Это вынужденная мера, так как для того, чтобы глобальные параметры были видны во всех скриптах проекта, нужно чтобы они были везде объявлены с оператором global, что уже не очень удобно эстетически, но еще при этом их инициализация не будет проделана по умолчанию, и это придется делать программно Второй плюс использования виртуальных тегов – это возможность доступа к виртуальным тегам из других программ. Т.е. появляется дополнительный программный интерфейс для задания параметров программы

3.3.  Проектирование окон отображения

В данном проекте будет задействовано одно окно отображения. В этом окне отображения будут находиться значения текущих параметров системы, а также графики изменения координат объекта и график изменения значения минимизируемого функционала. Если бы было несколько окон отображения, то так было бы неудобно переключаться между несколькими окнами, чтобы посмотреть параметры или графики, поэтому объекты отображения будут размещаться на одном окне. Тем более, если учитывать что параметров не более 20, и что все они логически связаны, реализация с помощью одного окна выглядит более логично.

В окне отображения будут использоваться три объекта вида “Trend Graph”. На первом графике будут отображаться две переменные: первая переменная будет характеризовать возмущающее воздействие по координате X, а вторая - подбираемое значение x функцией оптимизации. На втором графике будут располагаться аналогичные переменные для координаты Y. Такая организация позволит отслеживать рассогласование работы оптимизирующей функции по каждой из координат. На третьем графике будет отображаться значение минимизируемого функционала. Все вышеописанные переменные на графиках “Trend Graph” будут откладываться по оси ординат, а ось x – это временная ось моделирования. Для отображения текущих параметров системы будут задействованы объекты “Numeric/String Display”, позволяющие привязать отображаемое значение к тегу задачи. Все объекты “Numeric/String Display” будут сопровождаться поясняющими объектами “Text String” для создания в программе более дружественного и понятного интерфейса. Для параметров подразумевающих два состояния, например, включена или отключена оптимизация длины шагов, или, включено или нет моделирование возмущающего воздействия - для всех этих целей удобнее использовать объект “Conditional Text”. Для вызова окна модального диалога нужно предусмотреть кнопку “Binary Button”.

3.4.  Общая структура

Рис. 1. Общая струтура задачи проекта