
- •2) Проблема разрешимости
- •4) Эффективный ап, классы эквивалентности, управляемый ап.
- •5) Простой ап, его протокол. Репозиция ап.
- •6)Сети Петри: граф, структура, назначение, маркировка. Выполнение сп.
- •7)Особенности моделирования сетями Петри
- •8) Свойства сп:
- •9) Дерево достижимости
- •10)Анализ свойств сетей Петри с помощью дерева достижимости.
- •14) Виды конечных автоматов
- •15) Работа ка. Автоматы-преобразователи и автоматы-распознаватели.
- •16) Прямое произведение ка. Эквивалентность автоматов.
- •17) Нахождение эквивалентных состояний ка. Теорема Мура
- •18) Минимизация ка.
- •19) Взаимодействующие последовательные процессы (впп).
- •20) Протоколы впп и операции с ними.
- •21) Свойства параллельных вычислительных процессов (пвп).
- •22.3) Программирование пвп. Признаки параллельности.
- •24) Моделирование пвп: метод процесс/канал.
- •25)Моделирование пвп: метод обмена сообщениями.
- •26)Моделирование пвп: метод параллелизма данных.
- •27)Моделирование пвп: метод использования общей памяти.
- •28) Семантическая теория программ. Метаязыки для описания синтаксиса.
- •30) Семантическая теория программ. Денотационная семантика.
- •31) Семантическая теория программ. Операционная и декларативная семантика.
- •32) Аксиоматическая семантика
- •33) Жизненный цикл по. Основные модели жизненного цикла.
- •34) Верификация как этап жизненного цикла по.
20) Протоколы впп и операции с ними.
Протоколом поведения процесса называется конечная последовательность символов, фиксирующая события, в которых процесс участвовал до некоторого момента времени.
Примеры протоколов:
<х, у> состоит из двух событий — х и за ним у,
<x> - состоит из одного события х,
<> - пустой протокол.
Операции с протоколами
Конкатенация
Сужение
Разбиение
Звездочка
Порядок
Длина
Используемые обозначения:
s, t, u - протоколы, S, Т, U - множества протоколов, f, g, h – функции.
Операция конкатенации (объединение)
s^t
Свойства:
1. s^<> = <>^s.
2. s^(t^u) = (s^t)^u.
f(s^t) = f(s)^f(t)
3. t(n+1)= t^tn.
4. (s^t)(n+1) = s^[(t^s)n]^t.
где tn - конкатенация n копий протокола t.
Операция сужения (разности)
(t \ А)
Свойства:
1. <> \ A = <>.
2. (s^t) \ A = (s \ A)^(t \ A).
З. <х> \ А = <х>, если х® А.
4. <x> \ А = <>, если y ® А.
Операция разбиения (селекции)
s — непустая последовательность,
первый элемент s0 – голова
s\s0 — хвост
Свойства:
1. (<x>^s)0 = х.
2. (<x>^s)’ = s.
3. s = (<s0>^s’), если s=<>.
Операция звездочка (булеана)
А* — это набор всех конечных протоколов (включая <>), составленных из элементов множества А.
А* = {s | (s A) = s}.
Свойства:
1. <> Î А*.
2. <x> Î А* x ® А.
3. (s^t) Î А* s Î А* AND t Î А*.
Операция длины
#t
Например, #<х, у, z> = 3.
Свойства:
1. #<> = 0.
2. #<x> = 1.
3. #(s ^t) = #s + #t.
Число вхождений символа х в протокол s определяется как:
s ¯ х = #(s {х}).
21) Свойства параллельных вычислительных процессов (пвп).
Последовательные взаимодействующие процессы (ПВП)
СТОП- процесс остановки
сломанный отработавший
объект объект
(не функционирует) (завершился удачей)
Последовательным называется процесс,
имеющий в алфавите символ «удачи»
Взаимодействующие параллельные процессы (ВПП)
ЗАКОНЫ:
Коммутативность: P || Q = Q || P.
Ассоциативность: P || (Q || R) = (P || Q) || R.
Тупиковая конфигурация:
P || СТОПaP = СТОПaP
P || ИСПaP =P.
Эквивалентность поведения:
(с ® Р) || (с ® Q) = с ® (Р || Q).
(с ® Р) || (d ® Q) = СТОП, если с¹d
Параллельность на различных алфавитах
aР ¹ aQ
а ® (aР \aQ) b ® (aQ \ aР) {c, d} ® (aР ||aQ)
(с ® Р) || (с ® Q)=с ®(Р || Q).
(с ® Р) || (d ® Q)=СТОП, если с¹d.
(a ® Р) || (с ® Q)=a ® (Р || (с ® Q)).
(с ® Р) || (b ® Q)=b ® ((с ® Р) || Q).
(a®Р) || (b®Q)=(a®(Р || (b®Q)) | b®((a®Р) || Q)).
Протокол параллельности
протоколы(Р || Q) =
{t | (t aР) - протоколы(Р)
AND (t aQ) - протоколы(Q)
AND t Î (aР Ú aQ)*}.
22.3) Программирование пвп. Признаки параллельности.
Способы взаимодействия
- Обмен сообщениями.
- Обмен через общую память.
- Прямой доступ к удаленной памяти.
Признаки параллельности
Параллелизм указывает на способность выполнения множества действий одновременно.
Масштабируемость - требует гибкости программы по отношению к изменению числа процессоров.
Локальность характеризует необходимость того, чтобы доступ к локальным данным был более частым, чем доступ к удаленным данным, что является ключом к повышению эффективности программ на архитектурах с распределенной памятью.
Модульность отражает степень разложения сложных объектов на более простые компоненты.