Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КІС_Лек_22.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
400.38 Кб
Скачать

5. Моделирование операции выборки данных фрагментом сети Петри

Операция выборки данных представляет собой процесс извлечения из базы требуемых данных и формирования искомого результата. Данная операция содержит процедуры: 1) чтение требуемых в запросе записей из базы данных и перенесение их в рабочие области запросов; 2) поиск искомых в запросе данных и формирование результатов операции выборки. Модель операции выборки данных в виде фрагмента сети Петри приведена на рисунке 6.

Рисунок 6 – Модель операции выборки в виде сети Петри

Входными позициями процедуры чтения записей (переход tЧ) являются параметры инициализации (запуска) операции выборки Рин. в и считываемая из БД запись РБД. Выходной позицией РБД являются экземпляры записи РБД в оперативной памяти РОП, которые в дальнейшем используются в качестве входной позиции для процедуры поиска и формирования искомых результатов (перехода tП).

Выходной позицией перехода tП является искомый результат операции выборки РРЕЗ. Наличие маркеров в позициях Рин. в и РБД означает готовность СУБД к реализации процедуры чтения из БД (готовность к срабатыванию перехода tЧ). Попадание маркера в позицию РОП свидетельствует о выполнении перехода tЧ , а попадание маркера в позицию РРЕЗ означает завершение операции выборки. Обратная связь от перехода tП к позиции РБД говорит о готовности соответствующей записи БД к использованию ее в других запросах (прикладных программах). При этом готовность фиксируется попаданием маркера в РБД после реализации перехода tП.

Приведенная модель операции выборки в виде сети Петри построена для случая, когда обработке подвергается только одна запись БД (РБД). В случае последовательной реализации нескольких операций выборки данных с целью формирования искомого результата из нескольких записей БД модель, представленная на рисунке. 6, формируется для каждого типа используемых записей БД и структура сети Петри для операции выборки представляется последовательной совокупностью взаимосвязанных фрагментов. Так, для запроса, приведенного на рисунке 5, соответствующая ему модель в виде сети Петри имеет вид, показанный на рисунке 7. Начальная разметка сети Петри для операции выборки имеет вид Мов = (1, 0, 1, 0).

Рисунок 7 – Модель операции, двудольный граф которой приведен на рисунке 5, в виде сети Петри

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

Рисунок 8 – Модель операции обновления в виде сети Петри

Поскольку первой процедурой операции обновления является выборка обновляемой записи БД, то процесс выборки в виде сети Петри идентичен фрагменту, приведенному на рисунке 6. Результатом данной операции являются отобранные из обновляемой записи элементы данных (экземпляры или поля), подлежащие обновлению на основании заданных алгоритмов обработки данных. Входными позициями перехода to (процедуры обновления) являются отобранные на предыдущем шаге экземпляры (поля) записи и подготовленные в оперативной памяти данные обновления, моделируемые позицией Робоп.

Срабатывание перехода to и попадание маркера в позицию Робрез свидетельствует о реализации процедуры обновления и формировании результатов обновления (Робрез). Запись обновленных данных моделируется переходом t3. Входными позициями tз являются Робрез и РБД, первая из которых моделирует результат операции обновления, а вторая – использование обновляемой записи БД, которая в момент выполнения процедуры загрузки должна быть заблокирована от использования ее в других записях (прикладных программах).

Выходной позицией перехода t3 является обновленная запись БД, моделируемая позицией РБД. Попадание маркера в РБД свидетельствует о завершении операции обновления. Поскольку операция обновления приводит к изменению содержимого обновляемой записи, а маркер в виде точки соответствует начальному (до обновления) содержимому записи, то попадание маркера в виде точки в позицию после срабатывания перехода tз не позволит отразить факт выполнения операции обновления. Поэтому срабатывание перехода tз будем моделировать попаданием в позицию РБД специального маркера в виде звездочки *. Начальная разметка сети Петри для операции обновления имеет вид Mоо = (1, 0, 1, 0, 1, 0). Разметка сети Петри, получаемая в результате выполнения операции обновления с учетом специального маркера, будет иметь вид Моо = (0, 0, *, 0, 0, 0).

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

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

6. Математичне описання сітки Петрі

. Визначення 1. СП являє собою четвірку

3 = (Т,Р,Р,М0), (2.1)

де Т - кінцева множина вершин, що називається переходами,

Щ-п, п>0; , /

Р - кінцева множина вершин, що називається позиціями, Щ=т, т > 0;

Р:(РхТ)и(ТхР)~»{0,1,...} - функція ішдидентності вершин СП, РЛТ = 0;

Р = ЩО,

де І: Т -> Р(іп) - вхідна функція - відображення із переходів в комплекти вхідних позицій;

О: Т -> Р(ои() - вихідна функція - відображення із переходів в комплекти

Математическое описание сети Петри можно представить пятеркой:

N = < P, V, F, H, M0 >,

где Р – конечное непустое множество символов {P1, P2, …, Pn}, называемых местами;

V – конечное непустое множество символов {V1, V2, …, Vm}, называемых переходами;

F – функция инцидентности, указывающая на наличие дуг, соединяющих места с переходами; из вершины-места Рi в вершину-переход Vj ведет дуга, если и только если F(Рi, Vj) = I; в противном случае F(Рi, Vj) = 0, если такой дуги нет. Таким образом, функцию инцидентности F(Рi, Vj) можно представить декартовым произведением

F : РV → {0, 1},

представляющее собой отображение из множества РV в множество {0, 1};

Н – функция инцидентности, указывающая на наличие дуг, соединяющих переходы с местами; из вершины-перехода Vj в вершину-место Рi ведет дуга, если и только если Н(Vj, Рi,) = I; в противном случае, Н(Vj, Рi,) = 0, если такой дуги нет. Таким образом, функцию инцидентности Н(Vj, Рi,) можно представить декартовым произведением

Н : VР → {0, 1},

представляющее собой отображение из множества VР в множество {0, 1};

М0 – начальная разметка сети Петри, представляющая собой отображение

М0 : Р → {0, I, 2, ...}

множества мест Р в множество целых неотрицательных чисел {0, I, 2, ...}. Разметка мест соответствует ранее введенному понятию установки фишек, число которых n = 0, I, 2, … .

Приведенное математическое описание сети Петри продемонстрируем на фрагменте реальной сети, представленной на рисунке 2.

Рисунок 2 – Фрагмент сети Петри

Математическое описание данной сети Петри зададим кортежем вида:

N = < P, V, F, H, M0 >,

составляющими которого являются:

– множество мест

Р = {P1, P2, P3, P4-};

– множество переходов

V = {V1, V2, V3};

– начальная разметка отражает кратность расширения дуг сети Петри

М0 : Р → {P1, P2, P3, P4-} = {2, 0, 1, 0};

– функция инцидентности дуг, соединяющих места с переходами

F: PV

V1

V2

V3

P1

1

1

0

P2

0

0

1

P3

1

P4

1

– функция инцидентности дуг, соединяющих переходы с местами

Н: VP

Р1

Р2

Р3

Р4

V1

0

1

0

1

V2

0

0

1

0

V3

1

0

0

0