Научная статья на тему 'О компонентном анализе параллельных распределенных систем'

О компонентном анализе параллельных распределенных систем Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
42
7
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Лукьянова Е.А.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The method of verification of parallel and distributed system by Component Petry Nets is offered. The using of Component Petry Nets for the design of parallel and distributed systems considerably diminishes model sizes and abbreviates time of verification. The presented methodology is studied on the example of verification of task of five philosophers.

Текст научной работы на тему «О компонентном анализе параллельных распределенных систем»

УДК 519.713.1:51.681.3

О КОМПОНЕНТНОМ АНАЛИЗЕ ПАРАЛЛЕЛЬНЫХ РАСПРЕДЕЛЕННЫХ СИСТЕМ © Лукьянова Е. А.

Киевский национальный университет имени Тараса Шевченко, г. Киев, e-mail: lukyanovaeaemail.ru

Abstract. The method of verification of parallel and distributed system by Component Petry Nets is offered. The using of Component Petry Nets for the design of parallel and distributed systems considerably diminishes model sizes and abbreviates time of verification. The presented methodology is studied on the example of verification of task of five philosophers.

Введение

Сети Петри ЯВЛЯЮТСЯ удобным средством моделирования и анализа различных параллельных и распределенных систем. Однако при детальном моделировании реальных систем и объектов возникают проблемы, связанные с большими размерами получающихся сетей. Такие сети Петри могут содержать сотни, а иногда и тысячи элементов, что делает анализ детальных моделей практически неосуществимым. Для сокращения размеров модели и ее большей наглядности в работе [1] была введена в рассмотрение и предложена для моделирования параллельных и распределенных систем компонентная сеть Петри (CN-сеть).

Компонентная сеть Петри характеризуется следующими особенностями:

• конечные множества мест и переходов включают подмножества, состоящие из составных компонент (компонент-мест и компонент-переходов);

• составных компонент в CN-сети понимается как мгновенное выполнение.

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

1) если исследуемое структурное свойство не выполняется на CN-сети, то это структурное свойство не выполняется и для детальной (базовой) модели исходной системы;

2) если исследуемое структурное свойство выполняется на СМ -сети, то это структурное свойство выполняется для детальной модели системы, если оно выполняется на одном представителе из групп одинаковых составных компонент СМ-сетп.

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

Целью ДсШНОИ работы является:

• подробное описание структуры составных компонент СМ-сети, возможных условий, накладываемых на правила их построения (или выделения (нахождения) ИХ в базовой модели) и описание работы составных компонент в СМ-сетп;

• демонстрация методологии использования СМ-сети для верификации параллельных процессов на примере моделирования и анализа широко известной задачи о пяти философах.

Представленные в работе модели Петри задачи о пяти философах ПОЛНОСТЬЮ учитывают все возможные особенности (опасные ситуации: ловушки, дедлоки) работы данной параллельной системы, и позволяют продемонстрировать особенности применения предложенной методологии в рамках данной статьи.

1. Компонентная сеть Петри

Построение компонентной сети Петри (СМ-сети) для исследуемой параллельной системы, начинается с выявления возможных составных компонент (компонент-мест и компонент-переходов) в проектируемой детальной модели. Данное выявление на~ чинается на начальном этапе моделирования еще при анализе исходной сложной системы. Результат такого анализа — выделение групп одинаковых или однотипных процессов. Это позволит на этапе построения модели заранее определить и неоднократно уточнить группы одинаковых или однотипных процессов и оформить их в виде блоков составных компонент модели. В результате получим модель, являющуюся детальной (подробной) моделью исходной системы, но в которой однотипные процессы заключены в соответствующие блоки — составные компоненты. При этом, рассматривая составные компоненты как места и переходы, получим компактную модель (СМ-сеть) исследуемой системы.

Компонента-место Ср представляет собой участок сети, моделирующий некоторый однотипный процесс, начинающийся и заканчивающийся местом (местами),

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

На адекватность модели предложенные преобразования не повлияют.

2. Формальное определение компонентной сети Петри

Компонентная сеть Петри (СИ-сеть) — это ориентированный граф, описываемый множеством:

СИ = (Р,Т,Г^,Мо),

где Р — конечное множество мест, состоящее из подмножеств Р1 и Р2 (Р1 — конечное множество компонент-мест, Р2 — конечное множество мест, понимаемое в

Т

— конечное множество переходов, состоящее из подмножеств Т1 и Т2 (соответственно множество компонент-переходов, и множество переходов понимаемое в обычном смысле переходов сетей Петри, оставшихся после выделения компонент- переходов), Г С Р х Т и Т х Р — отношение инцидентности между местами и переходами, W : Г ^ N\{0} — функция кратноети дуг, М0 — начальная разметка сети.

Множества Р и Т удовлетворяют следующим условиям: Р = 0 ,Т = 0 , Р П Т = 0 (граф СИ-сети должен содержать хотя бы один переход и одно место, причем вер-

РТ

Отнотпение инцидентности Г и функция кратности дуг W определяют функцию инцидентности I , задающую правило: I : ((Р х Т) и (Т х Р) ^ N) , и определяющую то, что элементы одного множества дугами соединены быть не могут, а также описывающую наборы входных и выходных элементов.

Компонентная сеть функционирует, переходя от разметки к разметке, как и регулярная сеть. Составные компоненты в СИ-сети свои функции выполняют мгновенно: компонента-место Ср — мгновенное использование условия реализации события, компонента-переход С\ — мгновенная реализация события, приводящая к изменению разметки мест всех типов.

Исследование процесса функционирования составных компонент согласно условиям (1), (2) является неотъемлемой частью исследования свойств исследуемой системы на модели СИ-сети.

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

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

Условия функционирования составной компоненты-перехода. Функционирование составной компоненты-перехода начинается с запуска начального перехода (всех начальных переходов) компоненты С\. Завершение работы компоненты-перехода — срабатывание последнего перехода ^всех последних переходов) компоненты С\. Начальная и финальная разметки компоненты С\ совпадут.

Отдельно от СМ -сети составные компоненты не работают, реализация или выполнение происходят лишь после выполнения входного условия для С\ или после срабатывания входного перехода для Ср.

3. Моделирование задачи о пяти философах компонентной сетью Петри

Рассмотрим задачу о пяти философах. Пять размышляющих философов гуляют в саду. Если философ чувствует голод, он заходит в столовую, где стоит круглый стол с пятью стульями и блюдом спагетти посреди стола. На столе — пять вилок, по одной слева и справа от каждого стула. Философ берет вилки (обязательно нужно две вилки: в левую и в правую руки) и ест спагетти. Утолив голод, философ кладет вилки на стол и выходит в сад размышлять, пока вновь не проголодается. Таким образом, каждый из философов Фi (i = 1, 2, 3, 4, 5) выполняет семь действий: 1 — Фi входит в столовую, 2 — Ф^ ^^^^^ ^^^^ вилку, 3 — Ф^ ^^^^^ ^^^^^ вилку, 4 — Фi ест спагетти, 5 — Ф^ ^^^^^^ ^^^^ вилку, 6 — Ф^ ^^^^^^ ^^^^ю вилку, 7 — Фi выходит из столовой.

Модель данной задачи в виде CW-сети (Рис. 1) учитывает все возможные варианты поведения философов и синхронизирует их независимые действия.

Регламентация использования вилок двумя соседними философами (обеспечение взаимного исключения) достигается в модели наличием мест p16, pn , p18, p19 , p20, которые разрешают срабатывание только одного из переходов t6 , t7 или t8,

i^H t10 , tn или t12 , t13 или t14 соответственно.

He допущение состояния вечного ожидания (ловушки), когда один из философов так и не сумеет получить доступ к ресурсу (вилке) и заговора соседей, когда обедают одни и те же, обеспечивается тем, что в модели прописаны действия, которые должен ВЫПОЛНИТЬ пообедавший философ прежде, чем он снова будет претендовать на вилку.

Рис. 1. СМ-сеть, моделирующая задачу о пяти философах , где Р* компонента-место, моделирующая один и тот же процесс

Рис. 2. Компонента-место Р* в СМ-сети, моделирующей задачу о пяти философах

Например, процесс срабатывания переходов ¿5 , ¿30 дл я Ф5 дает возможность(время) кушать либо Ф1 , либо Ф4.

Проблема дедлока, когда все философы сидят за столом, каждый из них взял по одной вилке, и никто не может начать есть спагетти решается в модели за счет запрета на одновременное присутствие в столовой более, чем четырех философов, что обеспечивается местом р0, количество фишек в котором равно четырем. Это место связано входными дугами с переходами (г = 1, 2, 3, 4, 5), соответствующими входу Фг (г = 1, 2, 3, 4, 5) в столовую. Начало работы СМ-сети обуславливается наличием

фишек во входных местах (г = 1, 2, 3, 4, 5) (условие, что Ф^ проголодался) переходов ^ (г = 1, 2, 3, 4, 5). Срабатывание этих переходов возможно до тех пор, пока в дополнительном месте имеется фишка — обед разрешен, в противном случае (если в столовой уже обедают четыре человека) философ будет ждать, пока один из обедающих не освободит ему место.

Предлагаемая СИ-сеть имеет только один тип составных компонент — одну компоненту-место Р* (Рис. 2). Компонента-место Р* , моделирует следующее пове-г философа: Ф^ держит в руках левую и правую вилки, ест, заканчивает есть и готов положить левую, правую вилки.

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

Синхронизацию независимых действий философов, при использование вилок двумя соседними философами, можно осуществить за счет использования дополнительных мест с ингибиторными дугами. Ингибиторная дуга была предложена в [2] для преодоления одного из ограничений классических сетей Петри — невозможности проверки места на отсутствие фишки. Ингибиторные дуги запрещают срабатывания перехода, если во входной позиции, связанной с переходом ингибиторной дугой, на-ход и т ся фишка. В предлагаемой модели ингибиторная дуга является индикатором с вободы правого столового прибора: если прибор занят, то соседнии философ ждет, пока он освободится. Этим в модели обеспечивается невозможность одновременного использования одной и той же вилки двумя обедающими философами.

Использование ингибиторной дуги, позволило при моделировании задачи выделить уже два типа составных компонент и значительно уменьшить модель. Модель задачи о пяти философах в виде СИ-сети с ингибиторными дугами (Рис. 3) содержит следующие составные компоненты: компоненту-место Р* (Рис. 4) и компоненту-переход Т** (Рис. 5). Компонента-переход Т** моделирует процесс взятия Ф^ правой вилки, принятия еды, возвращение левой, правой вилки, выхода из столовой.

Р*

тия им левой вилки.

При формальном определении СИ-сетп с ингибиторными дугами необходимо отразить наличие мно^жества обычных дуг и множества ингибиторных дуг. Поэтому для определения СИ-сетп с ингибиторными дугами в определении компонентной се-

Г

выделим подмножество Г1 дуг (рг,Ь^), которые являются ингибиторными.

Рис. 3. СМ-сеть с ингибиторными дугами, моделирующая задачу о пяти философах, где Р* — компонента-место, Т** — компонента-переход

йМККй

Рис. 4. Компонента-место Р* в СМ-сети с ингибиторными дугами (Рис. 3)

Рис. 5. Компонента-переход Т** в СМ-сети с ингибиторными дугами (Рис. 3)

5. Анализ модели

В качестве методов исследования СМ-сетей, используемых при верификации, выберем методы линейной алгебры [3, 4]. Система уравнений состояний (фундаментальное уравнение) СМ-сети имеет вид

А • х = в

(1),

где в = Мк — М0, (М0, Мк — соответственно начальная и конечная разметки СМ-сети), х — вектор счета срабатывания переходов, А — матрица инцидентности.

Если в качестве модели системы используется СИ-сеть с ингибиторными дугами, то в матрице инцидентности такой сети факт применения ингибиторной дуги отразится следующим образом: соответствующая координата ,) в матрице ин-

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

Разрешимость фундаментального уравнения в неотрицательных целых числах является необходимым условием достижимости заданной разметки [3]. Решения системы (1) используются для постраения искомых последовательностей срабатывания переходов. Для СИ-сети строятся множества Т- и Б- инвариантов. Решение х системы линейных однородных диофантовых уравнений (СЛОДУ) А ■ х = 0 , когда в (1) = М0 = М^, есть Т-инвариант СИ-сети, а решение у СЛОДУ Ат ■ у = 0 — Б-инвариант СИ-сети. Б-инвариант — это линейное отношение на разметке подмножества мест, выражающееся в том, что взвешенная сумма различных фишек в местах является константой и равна значению, определяемому начальной разметкой. По Б- и Т-пнварпантам устанавливаются такие структурные свойства СИ-сети, как ограниченность, безопасность, повторяемость, непротиворечивость.

Теорема 1. Если компонентная сеть Петри имеет только компоненты-переходы и они живы, то структурное свойство для детальной модели исследуемой системы

СИ

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

Т

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

Теорема 2. Если компонентная сеть Петри имеет только компоненты-места и соответствующие этим компонентам-местам системы линейных неоднородных диофантовых уравнений (СЛНДУ) совместны, то структурное свойство для детальной модели исследуемой системы выполняется, если это структурное свой-

СИ

Доказательство теоремы основывается на том, что из совместности соответствующей СЛНДУ следует существование в компоненте-месте возможности перехода из

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

Имеет место следующая теорема.

Теорема 3. Если у компонентной сети Петри компоненты-переходы являются живыми, а соответствующие компонентам-местам СЛНДУ совместны, то структурное свойство для детальной модели исследуемой системы выполняется, если это структурное свойство выполняется на СМ-сети.

6. Анализ модели задачи о пяти философах

Р*

позволило построить матрицу инцидентности, отвечающую данной модели, размерности не 56 х 35, а 36 х 30. Матрица инцидентности модели задачи о пяти философах СМ-сетью с ингибиторными дугами имеет размерность 11 х 10 и приведена ниже.

—1 —1 —1 —1 —1 1 1 1 1 1 —1 0 0 0 0 1 0 0 0 0 0 —100001000 0 0 —1 0 0 0 0 1 0 0 0 0 0 —1 0 0 0 0 1 0 0 0 0 0 —1 0 0 0 0 1 1 0 0 0 0 —1 0 0 0 0 010000 —1000 0010000 —100 00010000 —1 0 0000 10000 —1

Поскольку разметка на шаге Мк равна начальной разметке М0

(Мк = М0 = (4,1,1,1,1,1, 0, 0,0, 0, 0)) строим СЛОДУ А • х = 0 . Ее положитель-ныв целочисленные решения являются Т-инвариантам СМ-сети с ингибиторными дугами:

Т1 = (1, 0, 0, 0, 0,1, 0, 0, 0, 0), Т2 = (0,1, 0,0, 0, 0,1,0, 0, 0), Т3 = (0, 0,1, 0, 0, 0, 0,1, 0, 0), Т4 = (0, 0, 0,1, 0, 0, 0,0,1, 0), Т5 = (0, 0, 0, 0,1, 0, 0,0, 0,1).

Для поиска ^-инвариантов строим СЛОДУ Ат • у = 0. Ее решения — Б-

ИНВ&рИсШТЫ СМ

Б1 = (0,1, 0, 0, 0, 0,1, 0, 0, 0, 0), Б2 = (0,0,1, 0, 0,0, 0,1, 0, 0, 0),

Б3 = (0, 0, 0,1, 0, 0, 0, 0,1, 0, 0), Б4 = (0,0, 0, 0,1,0, 0, 0, 0,1, 0), Б5 = (0, 0, 0,0, 0,1, 0, 0, 0, 0,1), Бб = (1,0, 0, 0, 0,0,1,1,1,1,1).

Т** Р*

СИ

1 -10 0 0 0 1 -10 0 0 10 -10 0 0 10 -1 0 0 0 1 -1

(-1,1)т

Т**

(Мк = Мо=(0,0,0,0,0)), соответствующая СЛОДУ А ■ х = 0 совместна и имеет од-

Т Т**

компоненты Р* Мк - М0 = (1, -1), и соответствующая СЛНДУ имеет очень простой вид и единственное решение х1111!.. Б СИ

М(р) < (Мту)/у(р) (у (р) означает рю координату вектора у) , дающее верхнюю оценку числа фишек, которые помещаются в место р5 [5], можно определить максимальное количество фишек, помещающихся в места исследуемой СИ-сети: М(р¿) = 4 (г = 0,6, 7, 9,10) Мр) = 1(] = 1, 2, 3, 4, 5,).

Проведенный СИ

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

свойства данной модели.

СИ

Б СИ

ограниченной. Более того, верхняя оценка числа фишек при начальной разметке М0 = (4,1,1,1,1,1, 0, 0, 0, 0, 0) равна 4. Это свойство означает, что в столовой не может находиться более четырех человек.

СИ

Т -инвариантов следовательно СИ дает свойством повторяемости. Физическая интерпретация этого свойства означает, что любой из философов, проголодавшись, может утолить голод практически бесконечное число раз.

СИ

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

С учетом установленных фактов: компонента-переход жива, соотетствующая СЛНДУ для компоненты-места совместа, делаем вывод, что свойства, которыми обладает CN-сетъ с ингибиторными дугами, сохраняются и для детальной (подробной) модели задачи о пяти философах.

Заключение

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

список литературы

1. Дук'янова О. О. Про компонентне моделювання систем з паралел1змом / О. О. Лук'янова // На-уков1 записки II AN К МЛ. сер1я коми'ютерш науки. — прийнято до друку.

2. Котов В. Е. Сети Петри / В. Е. Котов - М.: Наука, 1984. - 157 с.

3. Murata Т. Petri Nets: Properties, Analysis and Applications / Murata T. // in "Proceedings of the IEEE". - 1989. - vol. 77, №4. - P. 541-580.

4. Крывый С. Jl. О некоторых методах решения и критериях совместности линейных диофантовых уравнений в области натуральных чисел / С. Л. Крывый // Кибернетика и системный анализ. — 1999. - №4. - С. 12-36.

5. Крывый С. Л. О вычислении минимального множества инвариантов сетей Петри / С. Л. Крывый // Штучний штелект. — 2001. — №3. — С. 199-206.

Статья поступила в редакцию 10.12.2011

i Надоели баннеры? Вы всегда можете отключить рекламу.