Комплекс программ для автоматизации исследований в экспериментальной психологии
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
ку реализовываемых процедур и верифицировать их средствами Simulink. На рисунке 2.1. представлен пример модели в Simulink, имеющей один вход (In1) и один выход (Out1).
Создав необходимую процедуру обработки данных, пользователь имеет возможность получить код созданной модели с помощью программы Real-Time Workshop (далее - RTW), входящей в Simulink. RTW автоматически генерирует С-коды непосредственно из моделей Simulink, построенных по определенным правилам (см. приложение В). Схема процесса получения алгоритмов математических процедур представлена на рисунке 2.2.
Рисунок 2.1 - Пример модели, построенной в Simulink
Рисунок 2.2 - Последовательность действий для получения алгоритмов математических процедур
Таким образом, решение требования ТЗ о предоставлении простого и удобного механизма создания процедур математической обработки данных возможно при использовании пакета Simulink и разработки требований к создаваемым моделям, для возможности получения их кода на языке Си.
.3 Архитектурное проектирование программного средства
Разработка программного средства должна опираться на ряд принципов:
)Использование модульной архитектуры, при которой каждый модуль является законченным программным решением. Это позволяет вносить изменение в функционирование модуля, не модифицируя остальные модули.
)Унификация используемых интерфейсов взаимодействия. Это позволяет использовать создаваемые файлы в различных операционных системах и средствах разработки.
)Разделение функций создания и использования математических процедур.
С учетом этих принципов и технического задания создаваемое программное средство будет состоять из следующих подсистем:
)Подсистема создания математических процедур.
)Подсистема конвертирования созданных процедур в необходимый формат.
)Подсистема идентификации и хранения математических процедур.
)Подсистема верификации математических процедур.
)Подсистема использования (доступа) математических процедур.
)Подсистема пользовательского интерфейса.
Схема взаимодействия данных подсистем приведена на рисунке 2.3. При этом в названия блоков соответствуют действиям, проводимым по отношению к математическим процедурам.
Рисунок 2.3 - Схема взаимодействия подсистем программного средства
Таким образом, полный цикл работы программного средства состоит в последовательной работе с каждой из выделенных подсистем. При этом существует две особенности:
?процедура верификации не является обязательной и используется при необходимости получения окончательной версии создаваемой математической процедуры. Она может быть пропущена, например, при пилотажном исследовании метода.
?при обнаружении ошибки в математических процедурах на этапе верификации, необходимо повторить весь предыдущий путь.
В работе с уже созданными математическими процедурами пользователь может опираться на уже созданные математические процедуры и использовать остальные подсистемы только в случае необходимости в идентификации или верификации используемых процедур.
Для реализации модульного принципа и разделения подсистем, которые будут доступны различным категориям пользователей, следует распределить выделенные подсистемы между тремя независимыми приложениями (программами):
)Конвертер моделей Симулинк (далее - КМС), который будет реализовывать подсистемы конвертирования.
)Программу тестирования моделей Симулинк (далее - ТМС), которая будет реализовывать подсистемы идентификации и верификации.
)Программу математического обеспечения психологических исследований (далее - МОПИ), которая будет реализовывать подсистему использования.
При этом следует учесть, что подсистема создания математических процедур будет реализована на основе пакета Simulink, путем построения правил и процедур создания моделей для данного пакета.
Для дальнейшей разработки программного средства необходимо на основе выбранной архитектуры системы произвести модульную декомпозицию. Модульная декомпозиция, проведенная для каждой из входящих в программное средство программ, приведена на рисунках 2.4 - 2.6. Далее подробно рассмотрим декомпозицию каждой программы.
Рисунок 2.4 - Модульная декомпозиция программы КМС
Программа КСМ представлена на рисунке 2.4 и содержит следующие модули:
1)Загрузка данных. Модуль предназначен для получения файлов, сгенерированных RTW и содержащих алгоритм математической процедуры. В процессе загрузки выделяются данные о характеристиках входных и выходных данных математической процедуры. Если все данные имеют формат скаляр, то настройка модели не требуется, в противном случае пользователь должен настроить модель.
2)Настройка конвертирования. Модуль предназначен для получения данных о характеристиках входов и выходов модели - их формате, типе и размерности (описаны в приложении В). В этом модуле также реализована функция подключения к создаваемой Dll графического файла, поясняющего реализуемый алгоритм.
)Обработка данных. Модуль предназначен для выделения из кода на языке СИ (созданного с помощью программы RTW) алгоритма математической процедуры, ее характеристик, условий компиляции. Далее анализируются связи между логическими блоками алгоритма.
)Компоновка. Модуль предназначен для создания набора текстовых файлов, содержащих алгоритм реализуемой математической процедуры,