Мегаобучалка Главная | О нас | Обратная связь


Разработка моделирующего алгоритма и машинная реализация.



2019-07-03 402 Обсуждений (0)
Разработка моделирующего алгоритма и машинная реализация. 0.00 из 5.00 0 оценок




Разработку моделирующего алгоритма удобно производить в 2 этапа:

1) разработка укрупненного алгоритма;

2) разработка детального алгоритма.

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

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

На рис. 4 изображена укрупненная схема моделирующего алгоритма.

Рис. 4 Укрупненная схема моделирующего алгоритма.

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

Для описания элементов схемы использовался объектно-ориентированный подход, основными принципами которого являются

- объединение в рамках одной структуры данных полей и методов (процедур), оперирующих над ними;

- наследование – порождение новых классов объектов, при этом наследники получают те же поля и методы, что были объявлены в классе непосредственного предка и его предков;

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

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

Таким образом, в ходе построения моделирующего алгоритма были выстроены следующие классы объектов.

TQSheme – класс схемы. На него возложены основные функции по проведению эксперимента, а именно:

- управлению системным временем

- нахождением порядка опроса элементов в зависимости от структуры схемы

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

- учету заявок, находящихся в системе

- учету особых состояний, происходящих в системе

Так, например, именно класс TQSheme реализует блоки 2 и 3 укрупненного алгоритма при помощи своих методов соответственно InitEmulation и Analize, а также блоки 4-7 при помощи метода Emulation. Блок-схемы этих методов приведены ниже.

Рис. 5 Блок-схема процедуры TQSheme.InitEmulation.

Описание:

- блок 1 – происходит инициализация переменных, необходимых для анализа системы;

- блок 2 – создание объектных списков, необходимых для анализа системы: установление конечных элементов, установление порядка очередности опроса элементов схемы;

- блок 3 – инициализация списков заявок и событий, подготовка их к предстоящему прогону схемы.

Рис. 6 Блок-схема процедуры TQSheme.Analize.

Описание:

- блок 1 – нахождение порядка опроса элементов с занесением порядковых номеров элементов в массив порядка опроса FOrder;

- блок 2 – нахождение наименьшего временного интервала, необходимого для анализа схемы по «принципу D t»

 

Рис. 7 Блок-схема процедуры TQSheme.Emulation.

Описание:

- блок 1 – процедура инициализации процесса моделирования с установлением начальных значений для всех переменных;

- блок 2 – вызов процедуры Analize;

- блок 3 – проверка окончания моделирования;

- блок 4 – просмотр всех элементов схемы.

Рис. 8 Блок-схема процедуры TQSheme.Step

Описание:

- блок 1 – процедура изъятия заявок из конечных элементов схемы;

- блок 2 – опрос всех элементов схемы в порядке, указанном в массиве FOrder;

- блок 3 – увеличение системного времени на величину D t;

 

Каждый элемент схемы, будь то источник, накопитель или канал, также представлен соответствующим классом (TSource, TAccumulator, TChannel). Однако все классы элементов схемы являются наследниками одного общего класса TElement, который обеспечивает общую функциональность для всех типов элементов схемы, а именно:

- содержит информацию о том, из каких элементов схемы заявки поступают на данный элемент;

- содержит так называемый контейнер для заявок;

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

- определяет порядок, по которому заявки передаются данному элементу от элементов-источников. (Алгоритм метода AskForParcels показан на рис. 4. Этот метод вызывается объектом класса TQSheme, которому принадлежит этот элемент на этапе моделирования перехода заявок).

Классы TSource, TAccumulator, TChannel доопределяют функции своего общего предка TElement для обеспечения более конкретного поведения, характерного для элементов соответствующего класса.

 

 

Рис. 9 Блок-схема процедуры TElement.AskForParcel.

Описание:

- блок 1 – задается цикл по всем источникам для данного элемента;

- блок 2, 3 – функции определения выражений для клапанов, установленные пользователем;

- блок 4 – проверка возможности принятия данным элементом заявки;

- блок 5 – прием заявки;

- блок 6 – отказ заявке в приеме.

Главное окно программы показано на рисунке 10.

Рис. 10 Главное окно программы.

 



2019-07-03 402 Обсуждений (0)
Разработка моделирующего алгоритма и машинная реализация. 0.00 из 5.00 0 оценок









Обсуждение в статье: Разработка моделирующего алгоритма и машинная реализация.

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...
Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней...
Как построить свою речь (словесное оформление): При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (402)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)