Лекции.ИНФО


Языки имитационного моделирования (особенности, классификация).



 

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

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

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

Классификация языков моделирования

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

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

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

Примером языка моделирования непрерывных систем, путем представления моделируемой системы в виде уравнений в конечных разностях является язык DYNAMO. Ряд систем использует прямо системы дифференциальных уравнений, например система MIMIC.

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

Алгоритмические языки. Целесообразность использования алгоритмических языков объясняется тем, что модель ВС представляется в виде алгоритма. Поэтому известно немало случаев использования алгоритмических языков (Алгол, Фортран и ПЛ/1) при моделировании систем.

Достоинства алгоритмических языков:

· Необходимо знание только одного языка алгоритмического.

· Необходимо только стандартное ПО.

· Большая гибкость разработки программ, а также отладки и использования модели.

Недостатки:

· Неудобство описаний имитационных моделей.

· Отсутствие лаконичных средств для операций с очередями, управления временем, синхронизации процессов в модели.

· Трудоемкость программирования.

· Сложность внесения изменений.

Расширение алгоритмических языков(алгоритмические языки, расширенные библиотеками подпрограм для работы с типичными операциями имитационного моделирования). Языки SIMSCRIPT, SMPL и FORSIM, созданные на основе алгоритмического языка Фортран. Языки SIMULA и SOL, созданные на основе языка Алгол. Языки СЛЭНГ, НЕДИС, АРГОН – разработаны в нашей стране.

Общецелевые языки имитационного моделирования.Характерные черты:

· Специально ориентированы на имитационное моделирование; удобство программирования модели (что играет существенную роль при разработке крупных систем-моделей).

· Концептуальная направленность на СМО.

· Язык соответствует определениям и терминам СМО.

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

Представителями этого класса языков являются: GPSS, НЕДИС, СИМУЛА 2, СЛЭНГ, СИМСКРИПТ 2.

К недостаткам можно отнести:

· Несколько большие вычислительные затраты при расчетах по имеющимся моделям по сравнению с компиляторами алгоритмических языков.

· Необходимость сопровождения на ЭВМ дополнительной системы, кроме имеющихся универсальных традиционных компиляторов.

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

Специализированные языки. Целью разработки этого класса является дальнейшее повышение эффективности имитационного моделирования специально для ВС. Характерные черты:

· Ориентация не на СМО, а на ВС.

· Включают ПО как часть ВС.

· Служат и для отладки алгоритмов операционных систем ЭВМ.

Недостаток:

· В связи с большой специализацией применение этих языков ограничено только задачами моделирования ВС, однако сокращается объем описаний моделей ВС по сравнению с описанием на общецелевых и алгоритмических языках в 4-10 и в 10-80 раз соответственно.

Представителями данного класса являются языки: МПЛ/ВС, CSS, OASIS.

Выводы:

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

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

 

Пример моделирования двухуровневой ВС (три АРМ, коммутатор и сервер) с помощью сетевой имитационной модели.

 

Требуется исследовать процесс функционирования ВС, состоящей (рис. 19) из трех мини-ЭВМ (АРМ1, АРМ2 и АРМ3), коммутатора канала (КК), осуществляющего сопряжение мини-ЭВМ и ЭВМ центрального вычислительного комплекса (ЦВК) в режиме полудуплексной связи. Требуется оценить загрузку КК, ЦВК и средние времена ожидания обслуживания заявок, поступающих от АРМ.

 
 

 

 


Рис. 19

1) Первый этап заключается в подготовке описания модели. Рассмотрим решение этой задачи на примере составления схемы сетевой имитационной модели (СИМ).

Сетевая имитационная модель (рис. 20) составляется на основе алгоритма функционирования ВС, который можно представить в виде следующих последовательностей действий.

В СИМ представлены те же устройства, что и в структурной схеме, и введены дополнительно источники заявок Т1 – Т3 и узлы трех типов:

- Узлы типа Р (Р1, Р2, Р3) - имитируют направление заявок либо к источникам, либо к КК в соответствии с заданными вероятностями.

- Узлы типа R (R1) - имитируют распределение заявок по всевозможным направлениям в зависимости от их типа.

- Узлы типа М (М1, М2, М3, М4, М5, М6) - изменяют тип заявки.

Источники заявок Т1, Т2 и Т3 имитируют работу операторов в диалоговом режиме с мини-ЭВМ через устройства ввода-вывода, имеющиеся в АРМ.

 
 

 

 


Рис. 20

 

 

Исходными данными для моделирования являются:

· числовые параметры источников входных заявок;

· числовые параметры ОА: АРМ, КК, ЦВК;

· вероятности решения задач на АРМ.

Алгоритм функционирования:

Работа начинается с генерации каждым источником по одной заявке, которым присваиваются соответственно типы Т1, Т2 и Т3. Тем самым имитируется первое обращение оператора к ЭВМ. Затем эти обращения обрабатываются в АРМ и в зависимости от характера решаемых задач (указываемых в исходных данных) может вызываться обращение к ЦВК или запрос (ответ) оператору. В СИМ эти две альтернативы отображаются узлами Р1, Р2 и Р3, а вероятности задаются в исходных данных. Задачи, направленные в ЦВК, проходят КК, возможно с ожиданием в очереди, а затем через узел R1 поступают в ЦВК, где либо поступают на обслуживание, либо ожидают в очереди. Заявки после освобождения из ЦВК (в виде результатов решения) направляются через КК к оператору, опять возможно с ожиданием в очереди, а чтобы в узле R1 они опять не попали в ЦВК, в узлах М1, М2 и М3 тип заявок изменяется с Т на А. Далее в узлах М4, М5 и М6 восстанавливается исходный тип заявок (Т). Затем, поступившие в АРМ заявки (решения), могут либо выводиться на печать, либо дополнительно обрабатываться на мини-ЭВМ и инициировать генерацию новых заявок Т1, Т2 и Т3.

2) Второй этап состоит в описании полученной СИМ средствами входного языка системы моделирования. Ниже приведен текст описания модели на языке GPSS.

 

1 GENERATE ,,, 1

2 M1 ASSIGN 1, MM1

3 SEIZE ARM1

4 ADVANCE 2, F2

5 RELEASE ARM1

6 TRANSFER 0.75, M7, M2

7 M2 SEIZE T1

8 ADVANSE 4, F2

9 RELEASE T1

10 TRANSFER .4, M1, M11

11 GENERATE ,,, 1

12 M3 ASSIGN 1, MM3

13 SEIZE ARM2

14 ADVANCE 2, F2

15 RELEASE ARM2

16 TRANSFER 0.75, M7, M4

17 M4 SEIZE T2

18 ADVANSE 4, F2

19 RELEASE T2

20 TRANSFER .4, M3, M11

21 GENERATE ,,, 1

22 M5 ASSIGN 1, MM5

23 SEIZE ARM3

24 ADVANCE 1, F2

25 RELEASE ARM3

26 TRANSFER 0.75, M7, M6

27 M6 SEIZE T3

28 ADVANSE 6, F2

29 RELEASE T3

30 TRANSFER .4, M5, M11

31 M7 ASSIGN 2, MM8

32 M9 QUEUE QKK

33 SEIZE KK

34 DEPART QKK

35 ADVANSE 1, F2

36 RELEASE KK

37 TRANSFER P, 2, 0

38 M8 QUEUE QCBK

39 SEIZE CBK

40 DEPART QCBK

41 ADVANSE 12, F2

42 RELEASE CBK

43 ASSIGN 2, MM10

44 TRANSFER , M9

45 M10 TRANSFER P, 1, 1

46 M11 SPLIT 1, M10

47 TERMINATE 1

В этом описании модели операторы 1…10 отображают функционирование АРМ1. Оператор 1 создает транзакт, далее первому параметру транзакта присваивается значение ММ1, и транзакт попадает на обслуживание в АРМ1. Время обслуживания 2*F2, где F2 – значение функции случайного аргумента (описание этой функции в тексте опущено). После обслуживания транзакт с вероятностью 0,75 возвращается на дисплей оператора Т1 в виде запроса, а с вероятностью 0,25 уходит из АРМ1 в КК. Если транзакт попадает в Т1, то он здесь задерживается на время, имитирующее работу инженера за пультом дисплея. После этого с вероятностью 0,4 задача считается решенной, и транзакт уходит к оператору с меткой М11, а с вероятностью 0,6 решение продолжается в диалоговом режиме, для чего транзакт вновь направляется в АРМ1 к оператору с меткой М1. Если произошел переход к оператору 46, то происходит появление транзакта-копии, а основной транзакт покидает систему, уменьшая счетчик прогонов модели на единицу. Образование транзакта-копии имитирует начало решения новой задачи в АРМ1.

Аналогично функционируют АРМ2 и АРМ3, в операторах 11…30. Транзакты, выходящие из АРМ в КК, попадают в оператор 31, где второму параметру транзактов присваивается значение ММ8. Далее транзакт встает в очередь К1. Транзакты из очереди К1 поступают в коммутатор КК, где после задержки на время обслуживания поступают в очередь К2 (для тех транзактов у которых второй параметр равен ММ8), а из К2 попадают на обслуживание в ЦВК. После обслуживания в ЦВК транзакт меняет значение второго параметра на ММ10. Далее транзакт поступает в очередь К1. Транзакты, прошедшие через ЦВК, а затем КК, передаются с оператора 37 в оператор 45, откуда транзакты возвращаются каждый в свой АРМ для продролжения диалога инженера с ЭВМ.









Последнее изменение этой страницы: 2017-03-15; Просмотров: 41;


lektsia.info 2017 год. Все права принадлежат их авторам! Главная