Курсовая работа: Моделирование систем
При рассмотрении структурной схемы можно построить временную диаграмму, более наглядно отображающую процесс функционирования системы.
Рис. 2 Временная диаграмма.
На временной диаграмме:
- оси 1, 2, 3 – возникновение заявки соответственно у 1-го, 2-го или 3‑го проектировщика;
- ось 4 – обработка заявок проектировщиков на ЭВМ.
Данная временная диаграмма показывает практически все особые состояния, которые могут произойти в системе и которые необходимо учесть при построении моделирующего алгоритма.
Так как, по сути, описанные процессы являются процессами массового обслуживания, то для формализации задачи используем символику Q‑схем [2]. В соответствии с построенной концептуальной моделью и символикой Q‑схем структурную схему данной СМО (рис. 1) можно представить в виде, показанном на рис. 3, где И – источник, К – канал.
Рис. 3 Структурная схема системы в символике Q-схем.
Источники И1 , И2, И3 имитируют поступление заявок от проектировщиков 1,2 и 3 соответственно. Канал К1 имитирует процесс обработки заявок на центральной ЭВМ. Если канал К1 занят, то клапан 1 закрыт. Источники генерируют заявки, идущие затем на ЭВМ. Если ЭВМ занята, то заявка остается в источнике дожидаться своей очереди на обработку.
Необходимо отметить, что в исходной постановке данную задачу можно решить только методом имитационного моделирования. Для решения одним из аналитических методом, базирующихся на теории массового обслуживания, ее следует предварительно упростить, что, естественно, скажется на точности и достоверности полученных результатов.
После формализации задачи можно переходить к построению моделирующего алгоритма.
Моделирующий алгоритм должен адекватно отражать процесс функционирования системы и в то же время не создавать трудностей при машинной реализации модели. При этом моделирующий алгоритм должен отвечать следующим основным требованиям:
- обладать универсальностью относительно структуры, алгоритмов функционирования и параметров системы;
- обеспечивать одновременную и независимую работу необходимого числа элементов схемы;
- укладываться в приемлемые затраты ресурсов ЭВМ для реализации машинного эксперимента;
- проводить разбиение на автономные логические части;
- гарантировать выполнение рекуррентного правила – событие, происходящее в момент времени tk может моделироваться только после того, как промоделированы все события, произошедшие в момент времени, произошедшие в момент времени tk -1 < tk .
При этом необходимо иметь в виду, что появление одно заявки входящего потока в некоторый момент времени ti может вызвать изменение состояния не более чем одного из элементов Q-схемы, а окончание обслуживания заявки в момент времени ti в некотором канале (К) может привести в этот момент к последовательному изменению состояний нескольких элементов (Н и К), т.е. будет иметь место процесс распространения смены состояний в направлении, противоположном движению заявок.
Известно, что существуют два основных принципа построения моделирующих алгоритмов: «принцип Dt» и «принцип d z». При построении моделирующего алгоритма Q-схемы по «принципу Dt», т.е. алгоритма с детерминированным шагом, необходимо для построения адекватной модели определить минимальный интервал времени между соседними состояниями Dt’ = {ui } (во входящих потоках и потоках обслуживания) и принять, что шаг моделирования равен Dt’. В моделирующих алгоритмах, построенных по «принципу d z», т.е. в алгоритмах со случайным шагом, элементы Q-схемы просматриваются при моделировании только в моменты особых состояний (в моменты появления из И изменения состояний К). При этом длительность шага Dt = var зависит как от особенностей самой системы, так и от воздействий внешней среды. Моделирующие алгоритмы со случайным шагом могут быть реализованиы синхронным и асинхроным способами. При синхронном способе один из элементов Q-схемы выбирается в качестве ведущего, и по нему «синхронизируется» весь процесс моделирования. При асинхронном способе построения моделирующего алгоритма ведущий (синхронизирующий) элемент не используется, а очередному шагу моделирования (просмотру элементов Q-схемы) может соответствовать любое особое состояние всего множества элементов И, Н, К. при этом просмотр элеменов Q-схемы организовани так, что при каждом особом состоянии либо циклически просматриваются все элементы, либо спорадически, - только те, которые могут в этом случае изменить свое состояние.
Разработка моделирующего алгоритма и машинная реализация.
Разработку моделирующего алгоритма удобно производить в 2 этапа:
1) разработка укрупненного алгоритма;
2) разработка детального алгоритма.
Укрупненный алгоритм показывает наглядно принцип функционирования модели, скрывая детали конкретной реализации и взаимодействия отдельных блоков схемы, что помогает увидеть общее направление работы модели.
Детальный алгоритм более глубоко отражает функционирование блоков схемы, в нем более подробно описываются способы реализации каждого блока схемы.
На рис. 4 изображена укрупненная схема моделирующего алгоритма.
Рис. 4 Укрупненная схема моделирующего алгоритма.
Переходя к описанию детальной схемы моделирующего алгоритма нельзя не остановиться на описании технологии, с помощью которого реализовывался моделирующий алгоритм.
Для описания элементов схемы использовался объектно-ориентированный подход, основными принципами которого являются
- объединение в рамках одной структуры данных полей и методов (процедур), оперирующих над ними;
- наследование – порождение новых классов объектов, при этом наследники получают те же поля и методы, что были объявлены в классе непосредственного предка и его предков;