logo
Мат мод консп сум-2012

Реализация математической модели в виде программ для эвм

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

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

Процесс разработки надежного и эффективного программного обеспечения требует применения современных технологий программирования (структурной, абстрактной, объектно-ориентированной, визуальной), развитой библиотеки совместимых программных модулей.

Процесс создания программного обеспечения можно разбить на следующие этапы:

-составление технического задания на разработку пакета программ программного обеспечения;

-проектирование структуры программного комплекса;

-кодирование алгоритма;

-тестирование и отладка;

-эксплуатация и сопровождение.

Техническое задание на разработку программного обеспечения

ТЗ на разработку программного обеспечения оформляется в виде спецификации. Примерная форма спецификации включает семь разделов:

1. Название задачи – дается краткое определение решаемой задачи, название программного комплекса, указывается система программирования для его реализации и требования к аппаратному обеспечению.

2. Описание – подробно излагается математическая постановка задачи, описываются примерная математическая модель для задач вычислительного характера, метод обработки входных данных для задач не вычислительного характера (обработки данных).

3. Управление режимами работы программы – формируются основные требования к способу взаимодействия с программой (интерфейс «пользователь-компьютер»).

4. Входные данные – описываются входные данные, указываются пределы, в которых они могут изменяться, значения, которые они не могут принимать, и т.д.

5. Выходные данные – описываются выходные данные, указывается, в каком виде они должны быть представлены (в числовом, графическом или текстовом), приводятся сведения о точности и объеме выходных данных, способах их хранения и т.д.

6.Ошибки – перечисляются возможные ошибки пользователя при работе с программой (например, ошибки при вводе данных), указываются способы диагностики (т.е. выявление ошибок) при проектировании ПО , способы защиты от этих ошибок, а также реакция пользователя при совершении им ошибочных действий и реакция ПО (компьютера) на эти действия.

7. Тестовые задачи – приводится один или несколько тестовых примеров, на которых в простейших случаях проводится отладка и тестирование программного обеспечения.

Порядок программной реализации с использованием конкретного математического обеспечения отображается схемой программы.

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

Для начертания перечисленных схем используется набор символов, определяемых ГОСТ «Единая система программной документации. Схемы алгоритмов и программ. Обозначения условные графические».

Обычно схема является наиболее удобной формой представления структуры моделирующих алгоритмов. Однако используются и другие формы, например, граф-схемы, операторные схемы.

Подэтапы, выполняемые при алгоритмизации модели системы и её компьютерной реализации:

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

2. Получение математических соотношений в виде явных функций. Схема компьютерной модели должна представлять собой полное отражение заложенной в концепции модели и иметь:

- описание всех блоков модели с их наименованиями;

- единую систему обозначений и нумерацию блоков;

- отражение логики модели процесса функционирования системы;

- задание математических соотношений в явном виде.

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

3. Проверка достоверности модели системы. От решения этой проблемы зависит степень доверия к результатам, полученным методом моделирования. Проверка модели должна дать ответ на вопрос, насколько логическая схема модели системы и используемые математические соотношения отражают замысел модели. При этом проверяются:

- возможность решения поставленной задачи;

- точность отражения замысла в логической схеме;

- полнота логической схемы модели;

- правильность используемых математических соотношений.

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

4. Выбор вычислительных средств для моделирования. Необходимо окончательно решить вопрос о том, какие вычислительные средства целесообразно использовать для реализации модели системы.

5. Составление плана выполнения работ по программированию. Такой план должен помочь при программировании модели, учитывая оценки объёма программы и трудозатраты на её составление.

План должен включать:

- выбор языка (системы) программирования модели;

- указание типа ЭВМ и необходимых для моделирования устройств;

- оценку примерного объёма необходимой памяти;

- ориентировочные затраты машинного времени на моделирование;

- предполагаемые затраты времени на программирование и отладку программы.

6. Построение схемы программы.

Схема программы должна отражать:

- разбиение модели на блоки;

- особенности программирования модели;

- проведение необходимых изменений;

- возможность тестирования программы;

- оценку затрат машинного времени;

- форму представления входных и выходных данных.

7. Проверка достоверности схемы программы. Очевидно, нет смысла продолжать работу по реализации модели, если нет уверенности в том, что в схеме программы, по которой будет вестись дальнейшее программирование, допущены ошибки, которые делают ее неадекватной логической схеме модели, а, следовательно, и неадекватной самому объекту моделирования. При этом проводится проверка соответствия каждой операции, представленной в схеме программы, аналогичной ей операции в логической схеме модели.

8. Проведение программирования модели. Если имеется адекватная схема программы, то программирование представляет собой работу только для программиста, без участия и помощи со стороны разработчика модели. При использовании пакетов прикладных программ моделирования проводится непосредственная генерация рабочих программ для моделирования конкретного объекта.

9. Проверка достоверности программы:

- обратным переводом программы в исходную схему;

- проверкой отдельных частей программы при решении различных тестовых задач;

- объединением всех частей программы и проверкой её в целом на контрольном примере моделирования варианта системы.

Необходимо также проверить оценки затрат машинного времени на моделирование.

10. Составление технической документации. Для завершения этапа компьютерной реализации модели необходимо составить техническую документацию, содержащую:

- логическую схему модели и её описание;

- адекватную схему программы и принятые обозначения;

- полный текст программы;

- перечень входных и выходных величин с пояснениями;

- инструкцию по работе с программой;

- оценку затрат машинного времени на моделирование с указанием требуемых ресурсов ЭВМ.

Таким образом, на этом этапе разрабатывается схема модели системы, проводится её алгоритмизация и программирование с использованием конкретных программно-технических средств вычислительной техники, т.е. строится компьютерная модель, которой предстоит работать для получения необходимых результатов моделирования по оценке характеристик процесса функционирования системы (задача анализа) или для поиска оптимальных структур, алгоритмов и параметров системы (задача синтеза).