Скачиваний:
56
Добавлен:
02.05.2014
Размер:
1.03 Mб
Скачать

3.3. Техника и технология моделирования.

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

Сначала перечислю языки, истоки которых восходят к далеким уже 60-70-м го­дам прошлого столетия. Самый популярный язык моделирования прошлых лет – GPSS (General Purpose Simulation System). Этот язык очень удобен для модели­рования систем с очередями. И сейчас есть люди, не признающие никаких других языков моделирования, кроме GPSS. К достоянию прошлого можно отнести также языки SIMSCRIPT и GASP (General Activity Simulation Program). GASP представляет собой пакет подпрограмм Фортрана, специально предназначенных для моделирования. К достоинствам GASP можно отнести то, что он, обладая свойствами языка моделирования, не требовал от программиста, знакомого сФортраном, изучения совершенно нового языка. Версия GASP IV позволяла также строить модели, в которых состояния могли изменяться во времени не­прерывно. GPSS до сих пор имеет большое количество поклонников и является весьма вос­требованным инструментом. Ему посвящены целые порталы в Интернете, а за последние годы вышли несколько книг, посвященные описанию совре­менных GPSS-систем, в частности GPSS World (Minuteman Software, Северная Каролина, США), пришедшей на смену GPSS V, которая использовалась еще на машинах серии ЕС. Заслуживает упоминания и пакет прикладных программ RESQ. Он состоит из двух частей – аналитической и моделирующей – и предназначен для исследова­ния сетевых моделей, которые возникают в теории вычислительных систем при оценке их производительности.

Перейдем к более близким нам временам. Пакет DSPNexpress, разработанный в университете Дортмунда, в Германии, содержит набор эффек­тивных численных методов анализа детерминированных и стохастических сетей Петри в переходном и стационарном режимах. С помощью пакета можно моде­лировать случайные процессы в дискретно-событийных стохастических систе­мах с детерминированными или экспоненциально описанными событиями, то есть марковские и полумарковские процессы. Программное обеспечение состоит из шести модулей, взаимодействующих посредством Unix-сокетов. Эти модели реа­лизуют различные алгоритмы расчета марковских процессов, вычисление веро­ятностей переходов, решение систем уравнений. На рис. 3.5 изображен пример рабочего экрана DSPNexpress [9].

Рис. 3.5. Пример экрана DSPNexpress.

Еще один пакет – MOSEL (Modeling Specification and Evaluation Language) – также разработан в Германии, в университетах Эрлангена и Нюрнберга, и явля­ется средством моделирования производительности и надежности вычислитель­ных,производственных систем и систем связи [10]. Язык моделирования –главная составляющая пакета MOSEL. Если система описана на языке MOSEL, программное обеспечение выполняет моделирование автоматически. Результаты собираются в текстовом файле или могут быть представлены графически с по­мощью специальной утилиты. Ядро MOSEL состоит из набора языковых конст­рукций, задающих состояния и переходы. Дополнительные синтаксические пра­вила задают условия, при которых переходы разрешены или запрещены. Переходы могут происходить мгновенно или после некоторой задержки, описы­ваемой непрерывной функцией распределения. Помимо экспоненциального, можно задать распределения Парето, Вейбулла, нормальное, равномерное и др. Возможны также детерминированные переходы. Язык MOSEL несложен для по­нимания и содержит много ключевых слов и управляющих структур из языков общего назначения, что облегчает знакомство с ним. Типичная программа состо­ит из следующих секций:

  • объявление параметров. Содержит описание констант и параметров системы;

  • определение компонентов (секция узлов). Каждый узел может содержать не­которое число работ и иметь заданную емкость;

  • определение переходов (секция правил). Здесь описывается динамическое поведение системы. Правило состоит из условия и действия;

  • результаты. Описывает, какие характеристики интересуют аналитика (веро­ятности состояний, среднее время отклика и др.);

  • графика. Необязательная секция с описанием желаемого графического пред­ставления результатов.

Архитектура моделирующей оболочки MOSEL изображена на рис. 3.6.

Рис. 3.6. Архитектура MOSEL.

Анализ производительности и надежности, выполняемый с ее помощью, состоит из следующих этапов:

  1. Обследование реально действующей системы и ее высокоуровневое описание на языке спецификаций.

  2. Автоматическая трансляция модели в коды специфической подсистемы.

  3. Загрузка нужной подсистемы оболочкой MOSEL.

В зависимости от структуры модели, в частности от типов вероятностных рас­пределений, анализ проводится одним из следующих способов:

  • Генерация пространства состояний, если удалось построить модель средства­ми теории очередей.

  • Подготовка модели для имитационного эксперимента (Discrete Event Simu­lation), если описание аналитическими средствами невозможно.

  • Численный расчет аналитической модели или выполнение имитационного моде­лирования.

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

Еще одна система имитационного моделирования – Arena – разработана компа­нией Systems Modeling Corporation, ее первая версия появилась в 1993 г. Arena снабжена удобным объектно-ориентированным интерфейсом и обла­дает возможностями адаптации к разным предметным областям. Основа техно­логий Arena – язык моделирования SIMAN и система Cinema Animation. Про­цесс моделирования организован следующим образом. Сначала пользователь шаг за шагом строит в визуальном редакторе модель, затем система генерирует по ней код на SIMAN, после чего автоматически запускается анимационный модуль Cinema Animation. Интерфейс включает в себя также средства для работы с дан­ными – электронные таблицы, ODBC, OLE и др.

Масштабная и многоплановая система ДАСИМ (Диалоговая автоматизирован­ная система имитационного моделирования) на Unix-платформе с синтакси­чески развитым языком моделирования разработана в Украине специалистами Одесского политехнического института. ДАСИМ может применяться для проектирования локальных и распределенных сетей ЭВМ с коммутацией пакетов, специализированных мультипроцессорных систем и вычислительных комплексов, выбора протоколов множественного доступа к каналам связи, ис­следования широкого класса сетей массового обслуживания большой размерно­сти, а также производственных процессов и автоматических линий.

ДАСИМ не требует программирования ни на одном из этапов создания модели, так как ее язык является непроцедурным, его конструкции носят описательный, а не предписывающий характер. Основное понятие языка ДАСИМ – это поня­тие предложения. Каждое предложение имеет свой синтаксис, описанный в доку­ментации. Типы предложений и их назначение приведены в табл. 1.1.

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

Основной принцип моделирования в ДАСИМ – календарно-событийный (event-driven). Для каждого устройства генерируются время наступления ближайшего события и само событие, которое ставится в очередь, управляемую календарем. В процессе слежения управляющая программа просматривает календарь и выби­рает из него событие, имеющее самое раннее время наступления. После этого системное время становится равным времени наступления выбранного из кален­даря события, то есть время изменяется скачком [11]. Альтернативой этому методу является пошаговое тактирование (можно сказать – непрерывное изменение) времени (time-driven) без ведения календаря событий. Именно такой метод был выбран для написания программы моделирования материала на основе волокон целлюлозы.

Таблица 3.1. Назначение предложений в ДАСИМ

 

Наименование предложения

Назначение

1

устройство

идентификация обслуживающего устройства

2

входящий поток

описание входящих потоков требований и их свойств

3

механизм обслуживания

задание дисциплины формирования очередей

4

очередь

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

5

механизм подключения

задание стратегии выбора обслуживающего устройства

6

время обслуживания

задание длительностей интервалов времен обработки требований на устройстве

7

время отказа

задание времен отказа и восстановления устройства

8

механизм дообслуживания

описание стратегии обработки требования, в процессе обслуживания которого поступил отказ

9

выходящий поток

описание свойств выходящего потока

10

транспортная сеть

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

11

время моделирования

задание длительности времени исследования модели

Рис. 3.7. Моделирующий алгоритм ДАСИМ

Событийный метод моделирования пользуется несколько большей популярно­стью у разработчиков, чем временной. Как отмечают специалисты, основная причина этого заключается в противоречивых требованиях к выбору шага изменения вре­мени Δt: из соображения точности он должен быть как можно меньше, что сни­жает производительность программы и увеличивает длительность моделирова­ния. Однако, временной метод более надежен при переходе к параллельному моделированию и распараллеливается более естест­венным образом, чем событийный [3].

Все чаще появляются работы, в которых выдвигается концепция универсальной моделирующей среды. Назревшую необходимость этого авторы [12] мотивируют так: «При необходимости проведения большого объема исследований наличие соответствующей специализированной системы или языка моделирования мо­жет многократно, а иногда и на несколько порядков ускорить процесс исследо­вания... Последнее обстоятельство привело к появлению чрезвычайно большого разнообразия различных моделирующих средств и языков, ориентированных на конкретные области применения. В ежегодном обзоре, приводимом в журнале «Simulation», уже десять лет назад перечислялось около ста языков и систем, предлагаемых различными фирмами и организациями. К настоящему времени размер списка увеличился в несколько раз и имеет устойчивую тенденцию к дальнейшему росту». Сложившаяся ситуация названа «вавилонским столпо­творением в моделировании». Авторы формулируют следующие принципы по­строения универсальной системы моделирования (УСМ):

  • четкая модульная структура;

  • масштабируемость;

  • открытая архитектура;

  • иерархия моделей;

  • развитый графический интерфейс.

Там же авторы отмечают: «Применительно к моделированию можно утверждать, что на одном полюсе универсальности находятся языки программирования типа Fortran, позволяющие при достаточной квалификации в программировании соз­давать модели практически любого назначения и любой сложности, но ценой, как правило, значительных затрат времени и труда. А на другом – современные системы широкого назначения».

Еще одна концеп­ция универсальной системы имитационного моделирования (УСИМ) предложе­на в [13]. Эту концепцию автор основывает на трех принципах:

  • простота, то есть минимум необходимых знаний исследователя о системе и, как следствие, минимум трудозатрат на разработку модели;

  • модульность,то есть единообразное описание всех элементов системы в виде некоторой стандартной математической схемы;

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

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

Соседние файлы в папке Моделирование композитного материала