WWW.DISS.SELUK.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА
(Авторефераты, диссертации, методички, учебные программы, монографии)

 

Министерство транспорта и связи Украины

Одесская национальная академия связи им. А.С. Попова

Кафедра Сетей связи

Д.А. Зайцев, Т.Р. Шмелева

Моделирование

телекоммуникационных систем в

CPN Tools

Учебное пособие по курсу

«Математическое моделирование информационных систем»

для подготовки магистров в отрасли связи

УТВЕРЖДЕНО

на Совете факультета Информационных сетей Протокол № 5 от 16.11.2006 Одесса 2008 УДК 621.39, 004. Рецензенты: проф. В.A. Кудряшова, к.т.н., доц. И.A. Трегубова Составители: д.т.н., проф. Д.A. Зайцев, аспирант Т.Р. Шмелева Zaitsev D.A., Shmeleva T.R. Simulating Telecommunication Systems with CPN Tools: Students' book. – Odessa: ONAT, 2006. – 60 p.

Перевод с английского:

магистранты факультета ТКС Т.В. Кольвастр1, Г.И. Дойжа Представлено описание возможностей моделирующей системы CPN Tools. Система разработана в Университете Орхуса (Дания) и используется для моделирования телекоммуникационных систем и сетей в курсе «Математическое моделирование информационных систем».

Языком описания модели являются раскрашенные сети Петри.

В настоящем пособии также изучен пример построения и исследования модели коммутируемой сети Ethernet.

Одобрено на заседании кафедры Сетей связи Протокол № 4 от 10.11. ICQ: 323–989–272, e-mail: tatyana–[email protected] ICQ: 406–926–201, e-mail: [email protected] Содержание Введение……………………………………………………………………. 1. Класс сетей Петри, реализованный в CPN Tools……………………... 1.1. Граф сети Петри и язык CPN ML.………..…………………….. 1.2. Пример моделирования …………….…………..………………. 2. Назначение и основные функции CPN Tools…………………………. 2.1. Назначение CPN Tools…………………………………………... 2.2. Основные функции CPN Tools…………………….…………… 3. Организация интерфейса CPN Tools ………………………………….. 3.1. Области основного окна………………………………………… 3.2. Работа с инструментами………………………………………… 3.3. Контекстно-зависимые меню…………………………………… 3.4. Структура моделей………………………………………………. 3.5. Структура системы Помощи (Help)…..………………………… 3.6. Отображение обратной связи CPN Tools………………………. 4. Инструменты CPN Tools ………………………………………………. 4.1. Сетевые инструменты……...……………………………………. 4.2. Инструменты для создания элементов сети …………………... 4.3. Инструменты для моделирования.……………………………... 4.4. Краткий обзор других инструментов…………………………... 5.1. Простые множества цветов……………………………..………. 5.2. Составные множества цветов…………………………………… 5.3. Описание переменных и констант……………………………… 5.5. Случайные функции……………………………………………... 5.7. Временные мультимножества…………………………………... 6. Язык описания моделей………………………………………………… 6.1. Атрибуты позиций………………………………………............. 6.3. Атрибуты переходов…………………………………………….. 7. Особенности временных сетей CPN Tools…………………………….. 8. Работа с фрагментами сети …………………………………………….. 9. Слияние позиций…………………………………………………........... 10. Построение иерархических моделей…………………………………. 10.1. Основы подстановки переходов………………………………. 10.2. Восходящая разработка………………………………………... 10.3. Нисходящая разработка………………………………………... 11. Анализ раскрашенной сети Петри……………………………………. 11.1. Отладка моделей………………………………………………... 11.2. Анализ пространства состояний………………………………. 11.3. Имитация поведения сети……………………………………… 11.4. Измерительные фрагменты……………………………………. 12. Дополнительные возможности CPN Tools…………………………… Приложения: Оценка времени отклика сети с использованием модели коммутируемой ЛВС в форме раскрашенной сети Петри…………………… П4. Модели рабочей станции и сервера…………………………….. П5. Модель измерительной рабочей станции……………………… CPN Tools – это специальная моделирующая система, которая использует язык сетей Петри для описания моделей. Система была разработана в Университете Орхуса в Дании и свободно распространяется для некоммерческих организаций через сайт http://www.daimi.au.dk/CPNTools/.

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

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

Простейшая концепция раскрашенной сети Петри использует различные типы фишек. Тип фишки определен натуральным числом и визуально представлен как цвет: 1 – красный, 2–синий, 3–зеленый, и т.д. Концепция раскрашенной сети Петри CPN Tools более сложная. Такие сети часто называют обобщенными раскрашенными сетями, так как тип фишки представлен абстрактным типом данных, как в языках программирования.

Термин «раскрашенная» сохраняется исторически, но теперь очень трудно представить такие «цвета» визуально.

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



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

В CPN Tools язык описания моделей представляет собой сочетание графа сети Петри и языка программирования CPN ML.

Граф сети Петри – двудольный ориентированный граф. Он состоит из вершин двух типов: позиций, представленных кругами или овалами и переходов, представленных прямоугольниками:

TRANSITION

Дуги соединяют позиции и переходы:

В сетях Петри также используется понятие фишки. Фишка – динамический элемент, расположенный в позициях, который перемещается в результате срабатывания перехода:

В классических сетях Петри все фишки одинаковые и элементарные. В раскрашенных сетях Петри фишки различные. Рассмотрим пример студентов, обедающих пирогами. Имеется две фишки: student (студент), pasty (пирог). Голодный студент становится сытым после того, как съедает пирог:

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

colset s=unit with student;

colset p=unit with pasty;

Определены два множества цветов: множество s с элементом student и множество p с элементом pasty. Позиции «hungry student» (голодный студент) и «replete student» (сытый студент) имеют множество цветов s с фишкой student. Позиция food (пища) имеет множество цветов p с фишкой pasty. Чтобы запустить переход eat (кушать), необходимо наличие двух фишек: student и pasty. Переменные x и y используются, чтобы извлечь фишки из входных позиций и поместить новую фишку в выходную позицию.

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

В отличие от классических сетей Петри, в раскрашенных сетях у позиций, переходов и дуг есть свои атрибуты. В вышеуказанном примере позиция имеет имя – «hungry student», множество цветов – s, начальную маркировку – 3`student и конечную маркировку – 2` student после того, как один из студентов съел пирог. Переменная x позволяет выбрать произвольного студента согласно множеству цветов переменной; переменная y позволяет выбрать произвольный пирог. Студент, который был извлечен переменной x из позиции «hungry student», будет помещен в позицию «replete student», так как выходная дуга перехода eat, подписана именем той же самой переменной x.

Рассмотрим более сложный пример для предварительного изучения CPN Tools. Пример взят из хорошо известной сказки о Золушке. Мачеха приказала Золушке отсортировать зерна; Фея послала мышей сортировать зерна, в то время как Золушка едет на балл.

В этой раскрашенной сети Петри используются следующие описания множеств цветов и переменных:

В примере есть четыре множества цветов: f с фишками под названием Fairy (Фея), c с фишками под названием Cinderella (Золушка), p с фишками под названием Pumpkin (Тыква) и g с тремя видами фишек (сортами зерен) под названием rice (рис), wheat (пшеница), oat (овес). В начальной маркировке разрешен один переход Magic (Волшебство), который подсвечен зеленым цветом. Разговаривая с Золушкой, Фея создает 12 мышей и 1 тыкву переходом Magic и исчезает.

Путешествие Золушки на балл и сортировка зерен – параллельные события, и они могут происходить одновременно в любом порядке. Тыква используется для обеспечения возможности срабатывания переходов «go to ball»

(ехать на балл) и «go home» (ехать домой), чтобы перенести Золушку на балл и обратно. Мыши используются для обеспечения возможности срабатывания перехода Sort (Сортировка), чтобы выбирать зерна различных сортов.

Обсудим направления дуг и надписи на них. В переходе Magic Cinderella не изменяется, так же как Pumpkin в переходах «go to ball» и «go home», поэтому используются двунаправленные дуги.

Остальные дуги – однонаправленные. Дуга, соединяющая позицию с переходом, извлекает фишку соответствующего множества цветов. Фишка извлекается в соответствии с надписью входной дуги перехода. В этом примере все надписи представлены переменными соответствующего множества цветов.

Например, у входной дуги перехода sort есть надпись y; y – переменная множества цветов g; таким образом, из позиции «sack with mixture»

(мешок со смесью зерен) извлекается произвольное зерно. Более сложные атрибуты входных дуг переходов будут изучены далее.

Выходные дуги переходов создают новые фишки. Новая фишка может быть создана (заново) или может совпадать с любой фишкой, извлеченной из входной позиции. Например, в переходе «go to ball» фишка Cinderella извлекается из позиции home (дом) переменной x по атрибуту входной дуги и та же самая фишка Cinderella будет помещена в позицию ball (балл) в соответствии с атрибутом x на выходной дуге. Переход Magic более сложный: Fairy исчезает после срабатывания этого перехода, потому что она извлечена входной дугой с надписью z, и переменная z не используется в атрибутах выходных дуг; Cinderella в позиции home не изменяется переходом Magic, так как используется двунаправленная дуга с надписью x, то есть, проверяется только наличие фишки в позиции home; 12 mice (мышей) и 1 pumpkin создаются, соответствующие константы подписаны на выходных дугах. Теперь рассмотрим модель после 5000 шагов моделирования:

Золушка прибыла на балл, мыши занимаются своей работой, Фея исчезла.

Мыши выбрали 431 зерно риса, 822 зерна пшеницы и 1263 зерна овса. В этой маркировке есть два разрешенных перехода: sort и «go home». Рассмотрим способ сортировки зерен в этой модели. Переход sort извлекает одно зерно в переменную y, но это зерно должно быть помещено только в одну из позиций:

«sack of rice» (мешок с рисом), «sack of wheat» (мешок с пшеницей), «sack of oat» (мешок с овсом). Атрибуты выходных дуг содержат условия, выбирающие только зерна необходимого сорта, иначе выбирается специальная фишка Empty (пусто). Фишка Empty означает «ничего».

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

Рекомендуется исследовать эту модель и найти все ее недостатки. После изучения CPN Tools можно построить свою собственную модель, полностью соответствующую сказке.

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

2. Назначение и основные функции CPN Tools CPN Tools используется для построения и анализа моделей. Это – жизненно важная система для разработки сложных объектов в различных прикладных областях. Она широко применяется для менеджмента в производстве и бизнесе, управления производственными системами и роботами, а также транспортными средствами и ракетами, для планирования военных операций. Полный список реальных применений можно найти на домашней странице CPN Tools http://www.daimi.au.dk/CPNTools/. CPN Tools в настоящее время реализована в ОС Windows и на платформах Unix; она, по существу, является новым поколением ранее использованной системы DesignCPN.

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

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

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

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

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

Основными функциями CPN Tools являются:

создание (редактирование) моделей;

анализ поведения моделей с помощью имитации динамики сети Петри;

построение и анализ пространства состояний модели.

Для создания моделей предусмотрен специальный графический редактор раскрашенных сетей Петри. Редактор позволяет рисовать сети Петри на экране компьютера, вводить атрибуты элементов сети и дополнительные описания на языке CPN ML. Модель может состоять из нескольких страниц. Эти страницы связаны друг с другом для создания иерархической структуры.

Для достаточно простых моделей возможна генерация полного пространства состояний (графа достижимости). Это – лучший способ для верификации, например, телекоммуникационных протоколов. CPN Tools обеспечивает построение пространства состояний и автоматическую генерацию по нему отчёта, который содержит выводы о стандартных свойствах сетей Петри, таких как ограниченность и живость. Кроме того, предусмотрен специальный язык на основе языка CPN ML для описания запросов о нестандартных свойствах пространства состояний, которые важны для пользователя. К сожалению, для сложных моделей пространство состояний может быть слишком большим, и его построение не представляется возможным.

Единственный способ для анализа сложных моделей – это имитация их поведения. CPN Tools предусматривает пошаговую имитацию для поиска и устранения ошибок в разрабатываемой модели, а также автоматическое выполнение определенного количества шагов. Имитация на больших временных интервалах – это путь для статистического анализа поведения модели. Такой подход применяется для оценки характеристик телекоммуникационных сетей, например, пропускной способности и качества обслуживания.

В CPN Tools реализован новый принцип графического взаимодействия, основанный на возможностях библиотеки MS Open GL, что позволяет быстро вводить и редактировать модели, используя инструменты на панели управления и в контекстно-зависимых меню. Предусмотрена возможность работы с двумя манипуляторами мышь (двумя руками). В этом случае левая мышь используется для взаимодействия с меню и для выбора инструментов из палитр, а правая мышь используется для рисования и редактирования сетей Петри.

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

Второе окно является главным окном CPN Tools:

Оно состоит из двух областей: рабочей области – серого цвета и области индекса – белого цвета. Индекс состоит из панели инструментов (Tool box), системы помощи (Help) и опций (Options), ниже выводятся описания сетей (в вышерассмотренном примере нет загруженной сети). В рабочей области графически представляются страницы сетей. Для взаимодействия с CPN Tools в главном окне есть графический курсор. Маленький треугольник в системе помечает элемент, который может быть раскрыт, нажатием на этот треугольник. Например, можно раскрыть все элементы в индексе:

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

Палитра инструментов появилась в окне.

Чтобы взять инструмент из палитры, необходимо щёлкнуть на нём. Тогда курсор принимает вид соответствующего инструмента. Например, выбираем Переход из палитры Палитра для создания элементов сети:

Чтобы отказаться от инструмента, необходимо перетащить его назад на палитру и нажать кнопку мыши или нажать кнопку Esc на клавиатуре.

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

Например, в палитре Сеть (Net) можно установить свойства печати:

печатать сеть цветную или черно-белую (Black/White):

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

То же самое может быть выполнено с помощью контекстно-зависимого меню:

Контекстно-зависимые меню делают взаимодействие более естественным и быстрым. Необходимо только нажимать правую кнопку мыши на объекте и выбирать требуемое действие. Таким способом можно, например, закрыть палитру инструментов:

В CPN Tools модели называют сетями (net). Их описания расположены в индексе под стандартными элементами. Рассмотрим новую сеть после ее создания:

Каждая сеть в CPN Tools представлена следующими полями индекса:

• Имя – имя соответствующего файла с расширением.cpn;

• Шаг – количество шагов, выполненных при имитации;

• Время – текущее модельное время;

• История – список команд, которые были выполнены над сетью;

• Описания – описания множеств цветов, переменных, функций, констант;

• Страницы – названия страниц сети.

В вышерассмотренном окне имя сети – model1.cpn, число шагов и время равны нулю, сеть состоит из одной страницы, названной «Top page».

Отметим, что «Top page» появляется в рабочей области; используя инструменты, можно нарисовать сеть внутри этой страницы. Чтобы открыть страницу сети, необходимо перетащить её из индекса в рабочую область. Для создания новых описаний и новых страниц используются контекстнозависимые меню:

CPN Tools предоставляет три вида помощи: всплывающие сообщения, помощь offline и помощь online. Всплывающие сообщения появляются на экране, когда курсор наводится на соответствующий элемент и сохраняется в течение нескольких секунд. Он описывает указанный объект:

При перетаскивании помощи из индекса в рабочую область запускается браузер с помощью в виде гипертекстовой страницы помощи CPN Tools:

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

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

• Всплывающие сообщения;

• Индикатор состояний;

• Аура (подсветка);

• Изменяющаяся форма курсора.

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

Всплывающие сообщения используются, чтобы показать:

• Сообщения с ошибками во время проверки синтаксиса;

• Сообщения с ошибками при моделировании сети;

• Подсказки для инструментов в палитрах;

• Подробную информацию для индикатора состояний;

• Результат применения инструмента оценки языка CPN ML;

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

Индикатор состояния – цветной индикатор, который время от времени появляется у основания индекса. Чтобы увидеть соответствующее сообщение состояния, необходимо переместить курсор на индикатор:

Индикатор состояния бывает следующих цветов:

• Зеленого – обозначает то, что действие было успешно завершено;

• Красного – обозначает то, что при выполнении действия произошла ошибка;

• Светло фиолетового – обозначает то, в данный момент выполняется длительная операция, такое как продолжительное моделирование.

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

Аура бывает следующих цветов:

• Ярко-красный – указывает на объекты с ошибками при проверке синтаксиса и моделировании сети;

• Темно-красный – указывает на повторяемые имена позиций и переходов при проверке синтаксиса;

• Зеленый – указывает разрешенные переходы при моделировании сети;

• Темно-синий – указывает зависимость между описаниями и другими элементами, такими как позиции, переходы и страницы;

• Цвет морской волны – указывает объект, который содержит описание;

• Оранжевый – указывает на то, что проверка синтаксиса объекта еще не началась;

• Желтый – указывает на то, что проверка синтаксиса объекта выполняется в настоящее время;

• Розовый – указывает на то, какие объединенные позиции принадлежат множеству слияния;

• Цвет морской волны указывает назначения порта/сокета и взаимосвязи страниц/подстраниц при работе с иерархическими сетями.

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

• Стандартный курсор в виде стрелки ;

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

• Поперечно пересечённый вертикальная черта курсора указывает на то, что есть возможность редактировать текст;

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

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

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

Инструменты представлены на следующих палитрах:

• Сетевые инструменты (Net): для операций с сетями;

• Инструменты для создания элементов сети (Create): для рисования и редактирования сетей Петри;

• Инструменты моделирования (Simulate): для имитации поведения сети;

• Инструменты пространства состояний (State Space): для построения и анализа пространства состояний;

• Инструменты иерархии (Hierarchy): для создания многоуровневых сетей;

• Инструменты стиля (Style): для указания особенностей внешнего вида сетей;

• Инструменты отображения (View): для выбора масштаба и указания групп элементов;

• Вспомогательные инструменты (Auxiliary): для повышения наглядности модели.

Пиктограммы на палитре обозначают следующее (слева направо и сверху вниз):

• создать новую сеть;

• создать новую страницу;

• закрыть сеть;

• загрузить сеть;

• сохранить сеть;

• сохранить сеть как;

• печатать сеть.

Чтобы создать новую сеть, следует начать с выбора инструмента «создать новую сеть» и завершить с помощью инструмента «сохранить сеть». Чтобы открыть существующую сеть, следует начать с выбора инструмента «загрузить сеть». Сети направляются на печать в файл в формате.eps (Encapsulated PostScript) и могут быть вставлены, например, как картинки в документы MS Word. Новые страницы в основном создаются для иерархических сетей.

4.2. Инструменты для создания элементов сети Пиктограммы на палитре обозначают следующее:

• создать переход;

• создать позицию;

• создать дугу;

• создать вертикальную магнитную опорную линию;

• удалить элемент;

• клонировать элемент;

• переключение возможных направлений дуги;

• создать горизонтальную магнитную опорную линию.

Начнем с этой палитры для построения первой сети:

Здесь показана простая сеть Петри, но она некорректна, так как у элементов отсутствуют атрибуты. Чтобы данная сеть функционировала, будем использовать тип INT из стандартных описаний и добавим переменную x в описания:

Теперь сеть корректна и будет функционировать. Отметим, что в позиции a содержится 6 фишек: 1 типа 3, 3 типа 4 и 2 типа 5. Покажем более детально способ ввода атрибутов элементов сети. Каждый узел имеет свое множество атрибутов. После указания элемента можно переключаться по его атрибутам, используя клавишу Tab на клавиатуре:

INITIAL MARKING GUARD TIME DELAY

ACTION

В вышеуказанном примере не используются атрибуты перехода. Текущая маркировка позиции автоматически надписывается CPN Tools зеленым цветом.

Магнитные опорные линии полезны для упорядоченного расположения элементов сети. Элементы автоматически перемещаются на самую близкую линию («примагничиваются»). Например:

Пиктограммы на палитре обозначают следующее:

• вернуться в начальное состояние;

• остановить текущее моделирование;

• выполнить переход с выбранными параметрами фишки;

• выполнить переход;

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

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

• оценивает текст как ML код.

Инструменты, которые «выполняют переход», предназначены для отладки сетей путём пошагового моделирования. Чтобы запустить переход, следует кликнуть на нем либо на чистом фрагменте страницы (чтобы разрешить выбор перехода CPN Tools автоматически). Рассмотрим процесс моделирования:

Фишка 4 была выбрана переменной x случайным способом из позиции a и перемещена переходом b в позицию c. Срабатывание перехода «с выбранными параметрами фишки» выполняется для детализированной отладки. В этом случае можно выбрать вручную фишку, как одну из тех, что удовлетворяют надписи входной дуги перехода:

В этом примере был предложен выбор между фишками 3, 4, 5 и фишка была выбрана вручную.

Что касается «срабатывания указанного количества переходов», они выбираются случайным образом CPN Tools. Можно ввести требуемое количество переходов:

Количество переходов (три) было введено в вышерассмотренном примере.

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

Инструмент «остановить текущее моделирование» позволяет прервать процесс моделирования, когда что-то функционирует не так как надо, или процесс длится слишком долго. Инструмент «вернуться в начальное состояние», позволяет вернуться к исходному состоянию:

Оценка текста как ML кода требуется для принудительной проверки синтаксиса в языковых конструкциях.

Другие инструменты CPN Tools являются либо вспомогательными, такие как Вспомогательные (Auxiliary), Стиль (Style), и Отображение (View), либо более сложными, такие как Иерархия (Hierarchy), Пространство состояний (State Space). Подробное описание инструментов иерархии и пространства состояний будет приведено в последующих разделах.

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

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

Инструменты Отображения используются для изменения вида страницы и ее элементов, с помощью группирования элементов и изменения масштаба изображения.

иерархической структуры сети. Палитра содержит инструменты, как для восходящего, так и для нисходящего структурирования сети.

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

CPN Tools использует язык CPN ML для создания описаний в индексе и надписей элементов сетей (атрибутов). CPN ML обеспечивает описание множеств цветов (типов данных), переменных, функций, величин (констант). У каждой позиции раскрашенной сети Петри должен быть обязательный атрибут – определенное множество цветов; позиция может содержать фишки только указанного множества цветов. Переменные и функции используются для указания атрибутов переходов и дуг.

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

E – элементарный тип, INT – целые числа, BOOL – логический тип, STRING – строковый тип. Описания пользователя могут быть добавлены после стандартных описаний, с помощью контекстно-зависимых меню. Кроме того, для сложных сетей CPN Tools обеспечивает внешние описания, которые могут быть загружены из файла.

CPN Tools автоматически проверяет синтаксис сети при ее создании или загрузке. По цветным индикаторам (аурам) можно увидеть, насколько выполнилась проверка. Цветные индикаторы отображаются в индексе, подсвечивая имя описания или страницы, которые проверяются. Если страница открыта в графическом редакторе, аура также показана наверху в ярлыке страницы и на элементах сети. Оранжевое свечение указывает на то, что элемент в настоящее время не проверен. При загрузке сети проверка синтаксиса может занимать несколько минут. На этом этапе элементы изменяют свечение от оранжевого через желтое к отсутствию свечения (или красному, если обнаружена ошибка). Если оранжевое свечение остается, то это, вероятно, потому что что-то пропущено в описании или соответствующий элемент сети содержит несерьёзную ошибку.

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

Красное свечение означает, что элемент проверен, но содержит ошибку.

Всплывающее сообщение при указании элемента курсором поясняет причину ошибки. Другие элементы, связанные с элементом, содержащим ошибку, не проверяются, пока ошибка не будет устранена.

CPN ML обеспечивает следующие простые множества цветов: unit, boolean, integer, string, enumerated, index.

Множество цветов unit содержит единственный элемент. Синтаксис описания выглядит следующим образом:

colset name = unit [with new_unit];

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

colset p=unit with pumpkin;

colset c=unit with Cinderella;

Величины типа boolean (логический тип) бывают двух видов true (правда) и false (ложь). Синтаксис описания выглядит следующим образом:

colset name = bool [with (new_false, new_true)];

Опции позволяют переименовать названия true и false, например, в yes (да) и no (нет):

colset Answer = bool with (no, yes);

К логическим переменным могут быть применены следующие операции:

b1 andalso b2 логическое умножение (конъюнкция), «и»

b1 orelse b2 логическое сложение (дизъюнкция), «или»

Integers (целые числа) – это числа без десятичной точки. Синтаксис описания выглядит следующим образом:

colset name = int [with int-exp1...int-exp2];

Опции позволяют ограничить множество цветов интервалом, заданным двумя выражениями: от int-exp1 до int-exp2:

colset Dozen = int with 1..12;

К целым переменным могут быть применены следующие операции:

+, -, div, mod, abs, Int.min, Int.max, ~ – унарный минус.

Strings (строковый тип) определяет последовательности символов ASCII (Американский стандартный код обмена информацией) в двойных кавычках.

Синтаксис описания выглядит следующим образом:

colset name = string [with string-exp1..string-exp [and int-exp1..int-exp2]];

Опции определяют диапазоны допустимых символов:

colset LowerString = with "a".."z";

К строковым переменным могут быть применены следующие операции: ^ – конкатенация (операция последовательного объединения двух строк в одну), String.size – размер, substring – подстрока.

Enumerated (перечислимые) значения явно перечисляются как идентификаторы в описании. Синтаксис описания выглядит следующим образом:

colset name = with id0 | id1 |... | idn;

В примере о Золушке использовалось следующее перечислимое множество цветов:

colset g=with rice | wheat | oat;

Indexed (индексированные переменные) – последовательности значений, состоящих из идентификатора и спецификатора индекса:

colset name = index id with int-exp1..int-exp2;

Индексированные значения имеют вид: id i или id (i), где i – целое число и int-exp1 "zero";

Подчеркивание _ в последней строке указывает на то, что строковая переменная «zero» будет выбрана для всех других значений проверяемого выражения ((sign (x)).

Структура let задаёт описания локальных переменных в функциях:

Пример: вычисление размера в метрах по заданному значению в миллиметрах:

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

– свободные (несвязанные) переменные;

– функция ran;

– специальные случайные функции с указанным законом распределения.

Свободные (несвязанные) переменные являются переменными выходных дуг переходов, значения которых не определены входными дугами и другими атрибутами. Им присваиваются случайные значения во время выполнения сети. Тип свободных переменных должен быть малым множеством цветов. Множества цветов могут быть классифицированы как большие или малые. Это различие определяет, какие предопределенные функции могут применяться для указанного множества цветов. Множество цветов является большим, если оно содержит много (по умолчанию более 100) пронумерованных элементов, иначе множество является малым. Множества цветов unit, Boolean, index и enumerated являются малыми.

В следующем примере переменная i – свободная переменная в диапазоне 1.. 31. На втором рисунке показано состояние модели после четырех шагов;

четыре значения переменной i были выбраны CPN Tools случайным образом:

colset mday = int with 1..31;

Функция ran генерирует случайную величину для больших множеств цветов. В следующем примере функция ranRange() генерирует случайную величину в диапазоне 1..10000:

colset Range = int with 1..10000;

fun ranRange () = Range.ran();

Система СPN Tools предоставляет также ряд специальных случайных функций с различными законами распределения случайных величин:

Бернулли, биномиальное, Эрланга, показательное, нормальное, Пуассоновское, Стьюдента, равномерное (дискретное и непрерывное). Например, функция erlang(n:int, r:real) : real где n>=1 и r>0.0, возвращает выборку из n–го распределения Эрланга с интенсивностью r.

Мультимножества широко используются в CPN Tools для представления маркировки позиций и в других целях. Рассмотрим концепцию мультимножества. В отличие от обычных множеств, мультимножества содержат элементы с определенной кратностью, другими словами в определенном числе копий. Мультимножества также называются «портфелями».

Символ обратной кавычки (`) является конструктором мультимножества.

Например, 3`5 – это мультимножество, состоящее из трех элементов цвета (типа) 5. Синтаксис описания мультимножества имеет вид:

где целое i – неотрицательное число, в противном случае будет возвращено пустое мультимножество. Конструктор мультимножества, дополненный операторами сложения (++) и вычитания (-–) мультимножеств, обеспечивает лаконичный способ задания мультимножеств. В примере модели Золушка, описанном в разделе 1, в позиции «sack of mixture» указана начальная маркировка:

1000`rice ++ 2000`wheat ++ 3000`oat Это означает, что мешок содержит 1000 зерен риса, 2000 зерна пшеницы и 3000 зерен овса. Следует обратить внимание на знак конструктора мультимножества: это – обратная кавычка (`), а не апостроф ('). Для примера фрейма Ethernet с множеством цветов frame1 содержание буфера может быть представлено как:

1`{src=2, dst=5, d=”request”} ++ 1`{src=5, dst=2, d=”answer”} Указаны два кадра: первый с данными ”request”, направленный на устройство 5 от устройства 2, и второй с данными ”answer”, направленный на устройство 2 от устройства 5.

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

константа empty создает пустое мультимножество, которое сопоставимо empty ms1 == ms2 равенство мультимножеств ms1 ms2 неравенство мультимножеств ms1 >> ms2 мультимножество больше, чем ms1 >>== ms2 мультимножество больше или равно ms1 p3out, LANout– >p3in, Own–>aWS3).

Порты сети низкого уровня можно отметить, используя инструменты палитры Иерархии:

Доступны три типа тегов: In, Out, I/O. Порты типа In используются, когда соответствующая позиция имеет только входящие дуги из сети верхнего уровня и только исходящие дуги в сеть нижнего уровня. Порты типа Out используются, когда соответствующая позиция имеет только исходящие дуги в сеть верхнего уровня и только входящие дуги из сети нижнего уровня. На языке программирования их можно рассматривать как переменные ввода/вывода.

Когда нет ограничений на направления дуг, используются порты типа I/O.

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

Для установки соответствия страница – переход используется второй инструмент палитры Иерархии. Следует кликнуть ним на переходе (WS3) и затем на подстранице (WS). Соответствующий тег подстраницы будет прикреплен к переходу.

Установка соответствий между портами и сокетами – более сложная процедура, так как она должна быть выполнена для каждого порта подстраницы. Для этой процедуры используется третий инструмент палитры Иерархии. Необходимо открыть обе страницы на экране. Чтобы установить соответствие порт – сокет, следует кликнуть на порт, а затем – на соответствующий сокет.

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

Во-первых, это позволяет скрыть детали и управлять сложностью модели. Вовторых, позволяет повторно использовать подмодели. Например, в модели локальной сети LAN есть 5 рабочих станций и 2 сервера, но созданы одна подстраница для рабочей станции (WS) и одна подстраница для сервера (S).

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

Например, в модели локальной сети LAN следует создать страницы WS, S, MWS, SWI, а затем создать верхнюю страницу LAN, произвести подстановку соответствующие порты – сокеты.

При нисходящем создании иерархической сети, начинают с построения страницы высокого уровня, которая использует подстраницы (ещё не созданные) и показывает их взаимосвязи. В примере локальной сети LAN из Приложения следует сначала создать главную страницу LAN. Существует специальная функция «переместить переход на подстраницу» в палитре инструментов Иерархия (первый инструмент). В результате тег подстраницы добавляется к переходу, который является теперь замещенным переходом.

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

Чтобы создать подмодель рабочей станции следует отредактировать шаблон. Например, переименовать страницу WS3 в WS, переименовать позиции p3out в LANin, p3in в LANout, aWS3 в Own, удалить переход WS3 и построить сеть WS, используя созданные порты. Описанный механизм автоматически выполняет установку тега подстраницы, тегов типа портов и устанавливает соответствие порт – сокет. Таким образом, это позволяет исключить множество рутинных операций.

Отметим, что построение моделей требует применения как восходящих, так и нисходящих методов разработки, так как инструмент «переместить переход на подстраницу» можно применить только один раз для каждой новой подстраницы. Например, таким способом можно создать SWI, MWS, затем WS для WS1 и S для S1. Но для WS2–WS4 и S2, используются ранее созданные WS и S восходящим способом.

Система CPN Tools предоставляет два основных способа анализа моделей:

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

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

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

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

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

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

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

Анализ пространства состояний возможен для достаточно небольших или простых моделей из-за известного эффекта бурного роста пространства состояний. Количество состояний для l-ограниченной сети Петри с m позиций оценивается как lm. В телекоммуникациях анализ пространства состояний применяется, в основном, при верификации протоколов, когда необходима информация о стандартных свойствах сети, таких как ограниченность, безопасность, живость и т.д.

Палитра пространства состояний имеет вид:

Она содержит следующие инструменты:

– войти в пространство состояний (Enter SS);

– вычислить пространство состояний;

– вычислить граф сильно связных компонентов (SCC);

– из пространства состояний в имитацию (передать состояние);

– из имитации в пространство состояний (передать состояние);

– сохранить отчет.

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

Этот код создается, когда используется инструмент Войти в пространство состояний. Вход в пространство состояний занимает некоторое время. Затем, если ожидается, что пространство состояний будет небольшим, можно просто применить инструмент Вычислить пространство состояний к листу, содержащему страницу сети. Если ожидается, что пространство состояний будет большим, возможно, следует изменить настройки для инструмента Вычислить пространство состояний. Настройки для этого инструмента позволяют точно определить, когда остановить вычисления. Кроме того, граф сильно связных компонентов пространства состояний может быть вычислен при помощи соответствующего инструмента. Вычисленное пространство состояний сохраняется во временных файлах CPN Tools. Существует два способа проанализировать его:

– сохранить отчет в файле;

– создать запрос о пространстве состояний.

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

Структура системы помощи CPN Tools содержит ссылку на описание запросов к пространству состояний.

Рассмотрим хорошо известный пример об обедающих философах:

Модель в CPN Tools имеет компактное представление благодаря использованию указанных множеств цветов для описания философов (PH) и палочек для еды (CS), а также функции Chipsticks, которая возвращает номера палочек, используемых философом ph(i).

Сохраненный отчет имеет вид:

Statistics -----------------------------------------------------------------------State Space Boundedness Properties -----------------------------------------------------------------------Best Integers Bounds Upper Lower Best Upper Multi-set Bounds Page'Unused_Chopsticks Best Lower Multi-set Bounds Page'Unused_Chopsticks 1 empty Home Properties -----------------------------------------------------------------------Home Markings: All Liveness Properties -----------------------------------------------------------------------Dead Markings: None Dead Transitions Instances: None Live Transitions Instances: All Fairness Properties -----------------------------------------------------------------------Page'Put_Down_Chopsticks Page'Take_Chopsticks 1 Impartial -----------------------------------------------------------------------Раздел статистики (Statistics) описывает размер пространства состояний и графа связных компонентов. Раздел ограниченности (Boundedness) указывает верхнюю и нижнюю границы маркировок в числовом виде и в виде мультимножества. Раздел домашних (Home) свойств указывает список домашних маркировок. Раздел свойств живости (Liveness) описывает тупики и живые переходы. Раздел свойств справедливости (Fairness) описывает тип справедливости переходов сети.

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

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

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

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

Имитационное моделирование предполагает специальную организацию экспериментов с моделью. Первое – масштабирование времени. Время в CPN Tools измеряется в единицах модельного времени (MTU), которые не имеет размерности, и представляется натуральным числом. Именно поэтому масштабирование времени представляет большой интерес, чтобы сделать модель реалистичной. Пример масштабирования времени описан в Приложении П7 для модели Ethernet. Определяются времена в реальных единицах (мс, нс) из описания аппаратных средств и программного обеспечения. Затем выбирается MTU, как наименьший интервал времени. Хотя для последующего развития модели рационально выбрать величину MTU ещё меньшей для моделирования более быстрой аппаратуры в будущем. Например, наименьшая задержка для модели Ethernet составляет 500 нс, но была выбрана MTU, равная 100 нс. Затем все времена модели пересчитывается в MTU.

Например, 200 мс соответствует 200000 нс / 100 нс = 2000 MTU. После получения результатов моделирования время должно быть пересчитано обратно в реальные единицы времени. Например, полученное среднее время отклика равно 389 MTU или 38900 нс или 38.9 мс.

Второе – существование стационарного режима поведения модели. Если такой режим существует, модель сбалансирована. Увеличение длительности времени моделирования не вызывает существенное изменение ее статистических характеристик. Простейшим способом определить наличие стационарного режима является последовательное увеличение длительности времени моделирования. Если характеристики не изменяются после определенного момента времени моделирования, тогда стационарный режим имеет место. Отметим, что стационарный режим не может существовать, когда исходная сеть не сбалансирована; например, потоки со скоростью 100 Мбит/с направлены в сеть с пропускной способностью 10 Мбит/с.

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

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

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

Чтобы вычислить максимальное количество фишек в позиции buffer, можно использовать следующий измерительный фрагмент:

Чтобы вычислить среднее число фишек, следует учитывать временные интервалы, так как среднее число распределения вычисляется по формуле:

где ac – среднее количество фишек, ci – величина на интервале времени dti и dt – общий интервал времени. Следующий фрагмент вычисляет среднее количество фишек в позиции buffer:

Перевычисления запускаются в двух случаях: при увеличении (put) и при уменьшении (get) количества фишек. Функция cT(), как описано в Приложении П2, возвращает текущее значение времени модели. Позиция sum сохраняет текущую сумму результатов. Позиция prevt сохраняет значение предыдущего момента времени, когда маркировка позиции buffer была изменена. Позиция average сохраняет среднее количество фишек в позиции buffer.

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

В системе CPN Tools существует множество дополнительных средств, описанных в системе онлайн помощи, а также в различных документах, например, в руководстве пользователя языка ML. Настоящий раздел содержит обзор наиболее значимых из них для моделирования телекоммуникационных систем.

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

Синтаксис описания имеет вид:

colset name = union id1[:name1] + id2[:name2] +... + idn[:namen];

Если namei пропущено, тогда idi интерпретируется как новая величина (unit), и на неё можно ссылаться как idi. Чтобы извлечь переменные определенного множества цветов, в объединении используются простые операторы:

idi v или idi(v), где v имеет тип name.

В примере модели Ethernet, описанной в Приложении объединение множеств цветов используется для моделирования сегментов сети Ethernet.

Если коллизии не учитываются, что является общим случаем в коммутируемой Ethernet, то сегмент либо свободен, либо передает кадр. Чтобы различать указанные случаи, описано специальное объединение seg:

colset seg = union f:frm + avail timed;

Величина avail означает, что сегмент свободен и доступен для передачи. Во втором случае сегмент передает фрейм f. В системе CPN Tools нет простого подхода для проверки позиции на отсутствие фишек (запрещающих дуг), для этого используется множество цветов seg.

Рассмотрим подмодель коммутатора. Каждый входной канал портов коммутатора Port*In извлекает фрейм f и устанавливает вместо него метку avail. Это означает, что передача фрейма завершена и сегмент доступен и готов для передачи следующего фрейма. Каждый выходной канал портов коммутатора Port*Out ждет метку avail перед передачей, извлекает эту метку и передает кадр.

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

Для обработки элементов внутри списка используются рекурсивные функции.

Синтаксис описания списка имеет вид:

colset name = list name0 [with int-exp1..int-exp2];

Модификатор with задаёт минимальную и максимальную длину списка.

Величины множества цветов списка имеют вид:

[v1, v2,..., vn], где vi типа name0 для i=1..n.

Для работы со списками используются следующие операции:

nil e::l l_1^^l_ length l rev l map f l



Похожие работы:

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования ГОРНО-АЛТАЙСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Биолого-химический факультет кафедра органической, биологической химии и методики преподавания химии Учебно-методический комплекс по дисциплине Органическая химия, специальность 020101 Химия Составитель: д.х.н., профессор кафедры органической, биологической химии и МПХ...»

«МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ПО ПОДГОТОВКЕ К ИТОГОВОЙ АТТЕСТАЦИИ ВЫПУСКНИКОВ АНГЛИЙСКОГО ОТДЕЛЕНИЯ Барнаул - 2006 3 Печатается по решению учёного совета БГПУ Методические рекомендации по подготовке к итоговой аттестации выпускников английского отделения - Барнаул: Изд-во БГПУ, 2006. - с. Составители: Т.Г. Пшёнкина, доцент кафедры английской филологии ЛИИН БГПУ, Н.В Шевцова, доцент кафедры второго иностранного языка ЛИИН БГПУ, Н.А. Карманова, доцент кафедры лингводидактики ЛИИН БГПУ, Э.Г Вольтер,...»

«И.Ю. Денисюк, М.И. Фокина, Ю.Э. Бурункова Нанокомпозиты – новые материалы фотоники Учебное пособие Санкт-Петербург 2007 Министерство образования Российской федерации Санкт-Петербургский Государственный университет информационных технологий, механики и оптики Нанокомпозиты Учебное пособие Санкт-Петербург 2007 И. Ю. Денисюк, М.И. Фокина, Ю.Э. Бурункова СПб; СПбГИТМО (ТУ), 2006, - с. Полимеры и нанокомпозиты В пособии представлены основные сведения о современных оптических полимерах, технологии их...»

«М И НИ СТЕРСТВ О СЕЛЬ СКО Г О ХО ЗЯЙ СТВА РО ССИ Й СКО Й Ф ЕДЕРАЦ ИИ РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ АГРАРНЫЙ УНИВЕРСИТЕТ – МСХА имени К.А. ТИМИРЯЗЕВА Факультет садоводства и ландшафтной архитектуры Кафедра ландшафтной архитектуры Производственная практика по ландшафтному проектированию Москва 2012 УДК 635.9:712.3(083.131) ББК 42.373:85.118.72я81 П80 Производственная практика по ландшафтному проектированию: Методические указания / А.Г. Скакова, А.И. Довганюк М.: изд-во РГАУМСХА, 2012. 36 с. В...»

«Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования ГОРНО-АЛТАЙСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Кафедра безопасности жизнедеятельности, анатомии и физиологии ГИСТОЛОГИЯ С ОСНОВАМИ ЭМБРИОЛОГИИ Учебно-методический комплекс Для студентов, обучающихся по специальности 050102 Биология квалификация учитель биологии Горно-Алтайск РИО Горно-Алтайского госуниверситета 2009 Печатается по решению методического совета Горно-Алтайского...»

«ПРИНЯТО УТВЕРЖДЕНО на заседании педагогического совета приказом от 30.08.2013 №214 протокол от 29.08.2013 № 2 директор МБОУ СОШ № 51 _ С.В.Бедрова Основная образовательная программа МБОУ СОШ № 51 г.Липецка (начальное общее образование) на 2013-2014 учебный год СОГЛАСОВАНО Председатель Управляющего Совета _ Липецк - 2013 1 СОДЕРЖАНИЕ: 1. Пояснительная записка к Основной образовательной программе школы 1.1. Общие сведения об образовательном учреждении 1.2. Ведущие концептуальные подходы,...»

«МИНИСТЕРСТВО СЕЛЬСКОГО ХОЗЯЙСТВА РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное образовательное учреждение высшего профессионального образования АЛТАЙСКИЙ ГОСУДАРСТВЕННЫЙ АГРАРНЫЙ УНИВЕРСИТЕТ В.В. Горшков, В.Н. Хаустов ТЕХНОЛОГИЯ ПРОИЗВОДСТВА ПРОДУКЦИИ ПТИЦЕВОДСТВА И ЗВЕРОВОДСТВА Учебно-методическое пособие Барнаул Издательство АГАУ 2008 1 УДК 636 Рецензент – помощник председателя Сибирского отделения РАСХН д.с.-х.н., профессор А.М. Еранов. Горшков В.В. Технология производства продукции...»

«Министерство образования Республики Башкортостан Государственное автономное образовательное учреждение среднего профессионального образования Нефтекамский нефтяной колледж МЕТОДИЧЕСКИЕ УКАЗАНИЯ И КОНТРОЛЬНЫЕ ЗАДАНИЯ по теме МАТЕРИАЛОВЕДЕНИЕ МДК.01.01. Разработка нефтяных и газовых месторождений для специальности 131018 Разработка и эксплуатация нефтяных и газовых месторождений по теме МАТЕРИАЛЫ В НЕФТЯНОЙ ПРОМЫШЛЕННОСТИ МДК.01.01. Технология бурения нефтяных и газовых скважин для специальности...»

«Государственное учреждение высшего профессионального образования Тюменский государственный университет Институт филологии и журналистики Кафедра перевода и переводоведения КАК УСПЕШНО НАПИСАТЬ КУРСОВУЮ ИЛИ ДИПЛОМНУЮ РАБОТУ И ВЫЖИТЬ? Учебно-методические рекомендации Тюмень 2010 Авторы: • М.А. Куниловская (к. филол. н., доцент кафедры перевода и переводоведения ТюмГУ) • А.Б. Кутузов (к. филол. н., старший преподаватель кафедры перевода и переводоведения ТюмГУ) • Л.Г. Федюченко (к. филол. н.,...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Ивановская государственная текстильная академия (ИГТА) Кафедра конструирования швейных изделий РАЗРАБОТКА БАЗОВОЙ КОНСТРУКЦИИ ЖЕНСКИХ БРЮК ПО НОВОЙ РАЗМЕРНОЙ ТИПОЛОГИИ Методические указания к выполнению лабораторных работ по дисциплинам Конструирование изделий легкой промышленности, Конструирование женской и детской одежды, Конструирование...»

«Владимир Скалкин: Я не гулял в пампасах и не носил лампасы Владимир Скалкин — лингвист и сатирик В этом году исполняется 15 лет как ушел из жизни талантливый одесский лингвист и преподаватель Владимир Львович Скалкин. Многие одесситы старшего поколения, осо бенно те, кто покидал родной город в 70 80 е годы прошлого века, хорошо знают его учеб ные пособия по разговорному английскому, — полученные с их помощью языковые навыки облегчали вхождение в зарубежную жизнь. Впрочем, эти пособия популярны...»

«ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТ (ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ) УТВЕРЖДАЮ Проректор по учебной работе д.х.н., профессор _Масленников И.Г. _200 г. УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС СИСТЕМНЫЙ АНАЛИЗ ПРОЦЕССОВ ХИМИЧЕСКРОЙ ТЕХНОЛОГИИ образовательной профессиональной программы (ОПП) 240803 – Рациональное использование материальных и энергетических ресурсов Факультет...»

«Негосударственное образовательное учреждение высшего профессионального образования Институт экономики и управления (г. Пятигорск) НОУ ВПО ИнЭУ Кафедра Теории, истории государства и права УТВЕРЖДАЮ Председатель УМС Щеглов Н.Г. Протокол № 2 от 19 октября 2011 г. Методические указания по выполнению контрольных работ по дисциплине Административное право для студентов специальности: 030501 Юриспруденция заочной формы обучения г. Пятигорск, 2011 Составитель: Сумская М.Ю., к.и.н., доцент Рецензент:...»

«Душина Н.П. Мероприятие по программе: Организация научно-исследовательской и творческой деятельности учащихся Раздел: Лингвистика текста ТЕМА: ВИДЫ ПЕРЕРАБОТКИ ТЕКСТА. ОФОРМЛЕНИЕ ТИТУЛЬНЫХ ЛИСТОВ Цель занятия: изучение видов переработки текста (план, тезис, конспект, реферат, аннотация), форм реферата (тематического конспекта и доклада), структуры реферата. Методические приемы: анализ основных понятий, постановка проблемных вопросов для обсуждения, отработка практических навыков, развитие...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ _ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Пензенский государственный университет архитектуры и строительства (ПГУАС) ПРОЕКТИРОВАНИЕ МНОГОФУНКЦИОНАЛЬНОГО ТОРГОВОГО КОМПЛЕКСА Методические указания по выполнению курсового проекта Под общей редакцией доктора технических наук, профессора Ю.П. Скачкова Пенза 2013 1 УДК 725.1:339.3:79(035.3) ББК 38. П Методические указания подготовлены...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ Учреждение образования Бобруйский государственный автотранспортный колледж УТВЕРЖДАЮ Директор УО БГАК Д.В. Фокин 31.08.2012 г. СТАНДАРТИЗАЦИЯ И КАЧЕСТВО ПРОДУКЦИИ Методические рекомендации по изучению учебной дисциплины, задания для контрольных работ и рекомендации по их выполнению для учащихся заочной формы обучения по специальностям: 2-37 01 06-31 Техническая эксплуатация автомобилей (производственная деятельность); 2-44 01 01 Организация перевозок...»

«Литература Pamatizgltbas mcbu priekmeta programmas paraugs Satura rdtjs Введение Цель учебного предмета Задачи учебного предмета Учебное содержание Порядок и время освоения учебного содержания 4 КЛАСС 5 КЛАСС 6 КЛАСС 7 КЛАСС 8 КЛАСС 9 КЛАСС Формы и методические приемы оценивания учебных достижений учащихся Предварительное оценивание Текущее оценивание Итоговое оценивание Учебные пособия, используемые для освоения учебного содержания Методы Введение Программа Литература разработана в...»

«ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Государственное образовательное учреждение высшего профессионального образования Московский государственный лингвистический университет УТВЕРЖДАЮ Ректор доктор педагогических наук, профессор И.И. Халеева (подпись) (фамилия и инициалы) _ 20 г. Содержание, порядок разработки и защиты дипломной работы по специальности 031202 Перевод и переводоведение Методические рекомендации Москва 2010 г. Составители: Гусев Владимир Викторович, доцент кафедры перевода...»

«www.a4format.ru Русская литература XIX–XX веков: В двух томах. Т. 1: Русская литература XIX века: Учебное пособие для поступающих в вузы. — М.: Изд-во Моск. ун-та. 2001. В.Б. Катаев Человек в футляре Более десяти лет отделяют рассказ Человек в футляре (1898) от ранней юмористики, но в этом, одном из самых известных произведений Чехова-прозаика немало общего с шедеврами его литературной молодости. Прежде всего это сочетание конкретной социальной сатиры, материала, связанного с определенной...»

«ВЫСШЕЕ ОБРАЗОВАНИЕ серия основана в 1996 г. Московская государственная юридическая академия Е.П. ИЩЕНКО А.А. ТОПОРКОВ КРИМИНАЛИСТИКА УЧЕБНИК Издание второе, исправленное и дополненное Под редакцией доктора юридических наук, профессора Е.П. Ищенко Допущено Министерством образования Российской Федерации в качестве учебника для студентов высших учебных заведений, обучающихся по специальности 021100 Юриспруденция Юридическая фирма Издательский Дом КОНТРАКТ ИНФРА-М Москва, 2006 УДК 343.98(075.8) ББК...»






 
2014 www.av.disus.ru - «Бесплатная электронная библиотека - Авторефераты, Диссертации, Монографии, Программы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.