Комплекс программ для автоматизации исследований в экспериментальной психологии

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

ку реализовываемых процедур и верифицировать их средствами 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) алгоритма математической процедуры, ее характеристик, условий компиляции. Далее анализируются связи между логическими блоками алгоритма.

)Компоновка. Модуль предназначен для создания набора текстовых файлов, содержащих алгоритм реализуемой математической процедуры,