Моделирование последовательных процессов



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

Пример 4.3. Последовательная программа на абстрактном языке программирования, вычисляющая Y! и произведение всех чётных чисел из отрезка [1, Y ] для Y Nat.

begin

read (Y);

X 1:=1;

X 2:=1;

While Y>0 do

Begin

if mod (Y,2) = 0

Then begin

X 1:= X 1* Y;

end;

X 2:= X 2* Y;

Y:= Y -1;

end;

write(X 1);

write(X 2);

End

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

Стандартный способ представления структуры программы и потока управления в ней - это блок-схемы, которые в свою очередь могут быть представлены сетями Петри. Блок-схема программы состоит из узлов двух типов (принятия решения, обозначаемых ромбами, и вычисления, обозначаемых прямоугольниками) и дуг между ними. Блок-схема программы изображена на рисунке 4.6, где блоки:

a: read (Y); X 1:=1; X 2:=1;

b: Y >0

c: mod (Y,2)=0

d: X 1:= X 1* Y;

e: X 2:= X 2* Y; Y:= Y -1;

f: write (X 1); write (X 2);

В сети Петри (рисунок 4.7), моделирующей блок-схему, узлы блок-схемы представляются переходами сети Петри как показано ниже, а дуги блок-схемы — позициями сети Петри. Фишка в сети Петри представляет счетчик команд блок-схемы.


Дата добавления: 2015-12-20; просмотров: 24; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!