Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Теория параллелизма. Самостоятельные работы. Учебно-методическое пособие

.pdf
Скачиваний:
0
Добавлен:
15.08.2026
Размер:
986 Кб
Скачать

(1) – пользователь лифта,

{ , 1, 2, 12, 21, , , , };

(1) – платформа с датчиками этажей,

{ , , , };

1 (1) – кнопка вызова на 1-м этаже,

{ 1, 1, 1, 1};

2 (2) – кнопка вызова на 2-м этаже,

{ 2, 2, 2, 2};

12 (3) – кнопка перемещения вверх на платформе,

{ 12, 12, 12, 12};

21 (4) – кнопка перемещения вниз на платформе,

{ 12, 12, 12, 12};

(5) – дверь,

{ , , , }.

Задание 4

Составим алфавитный список всех событий системы :

– датчики платформы 1 порождают событие, что лифт находится на 1-м этаже, которое наблюдается контроллером и пользователем 1;

– датчик 5 порождает событие, что дверь закрыта, которое наблюдается контроллером ;

– пользователь 1 порождает событие, что дверь закрыта, которое регистрируется датчиком 5;

– контроллер порождает воздействующее событие, что лифт едет вниз, которое наблюдается платформой 1;

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

– пользователь 1 порождает событие, что дверь открыта, которое регистрируется датчиком 5;

1 – датчик 1 порождает событие, что нажата кнопка на 1-м этаже, которое наблюдается контроллером ;

2 – датчик 2 порождает событие, что нажата кнопка на 2-м этаже, которое наблюдается контроллером ;

12 – датчик 3 порождает событие, что нажата кнопка движения вверх, которое наблюдается контроллером ;

21 – датчик 4 порождает событие, что нажата кнопка движения вниз, которое наблюдается контроллером ;

1 – пользователь 1 порождает событие, что нажата кнопка на 1-м этаже, которое регистрируется датчиком 1;

2 – пользователь 1 порождает событие, что нажата кнопка на 2-м этаже, которое регистрируется датчиком 2;

11

12 – пользователь 1 порождает событие, что нажата кнопка движения вверх, которое регистрируется датчиком 3;

21 – пользователь 1 порождает событие, что нажата кнопка движения вниз, которое регистрируется датчиком 4;

– датчики платформы 1 порождают событие, что лифт находится на 2-м этаже, которое наблюдается контроллером и пользователем 1;

– контроллер порождает воздействующее событие, что лифт едет вверх, которое наблюдается платформой 1;

– ожидание событий от датчиков среды;

– отсутствие пользователя.

Задание 5

Сформулируем на естественном языке свойства корректности функционирования системы .

Запрещена одновременная подача сигналов up и down.

Движение платформы возможно только при закрытых дверях.

Движение начинается после нажатия на одну из кнопок вызова.

В случае отсутствия команд управления в течение 20 секунд лифт должен быть автоматически перемещен на нижний этаж.

Самостоятельная работа № 2 по теме "Построение систем переходов"

Справочные материалы

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

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

Возможны следующие варианты задания диаграмм переходов.

1)Метками состояний являются события процесса, причём может быть несколько состояний, помеченных одним и тем же событием. Переходы из одного состояния в другое диктуются логикой взаимодействия процессов, неформально описанной в справочном материале к самостоятельной работе № 1.

2)Состояние процесса удобно помечать либо как [0, 1, . . . , ], либо как [0, 1, . . . , ][ ], где – имя события, связанного с состоянием , 0 – идентификатор процесса, который порождает событие , 1, . . . , – идентификаторы процессов, которые наблюдают (регистрируют) событие , – номер (натуральное число) вхождения события в состояния в случае, если событие входит в разные состояния.

Таким образом, уникальным идентификатором (именем) состояния является либо (если событие e входит один раз в диаграмму переходов), либо [ ].

Если – процесс, для которого строится диаграмма переходов, то он обозначается прочерком _ для простоты.

12

Состояние с пометками вида вида [_, _] или [_, _][ ] называется внутренним состоянием процесса. Оно порождается данным процессом и не наблюдается никаким другим процессом.

Базовые задания

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

Параметры задания

Общие:

Диаграмму переходов можно рисовать, например, в https://mermaid.live/.

Время выполнения: 4 дня.

Количество баллов: 40 баллов.

Образец решения

Задание 1

Исходные mermaid-коды диаграмм переходов процессов даны в приложении В.

Controller (C)

13

User (E1)

Lift (P1)

14

Button1 (S1)

Button2 (S2)

Button12 (S3)

15

Button21 (S4)

Door (S5)

Самостоятельная работа № 3 по теме "Темпоральные логики"

Справочные материалы

Синтаксис LTL формул

если – атомарная формула, то – LTL формула;

если и – LTL формулы, то ¬, , – LTL формулы;

если и – LTL формулы, то , , , – LTL формулы.

Базовые задания

1)Сформулируйте три свойства корректности поведения Вашей системы с помощью формул темпоральной логики LTL, содержащих различные сочетания темпоральных операторов.

Задания повышенной сложности

1)Сформулируйте дополнительные свойства c разнотипными формулами.

16

Параметры задания

Время выполнения: 4 дня.

Количество баллов: 20 баллов.

Дополнительные баллы: За каждую лишнюю правильную формулу с темпоральной структурой, отличной от формул примера, добавляется два балла. За каждую лишнюю неправильную формулу вычитается один балл.

Образец решения

Задание 1

Запрещена одновременная подача сигналов и .

¬( )

Движение платформы возможно только при закрытых дверях.

¬( ), где = .

Лифт не двигается, пока не нажата одна из кнопок вызова.

(¬ (¬ )), где

= 1 2 12 21.

Лифт поедет, когда будет нажата одна из кнопок вызова.

(¬ (¬ ( ))).

В случае отсутствия команд управления в течение 20 секунд лифт должен быть автоматически перемещен на нижний этаж.

( ( (_ ≥ 20 ))), где

= ¬,

_ – время, в течение которого для лифта выполняется свойство

.

Самостоятельная работа № 4 по теме "CSP-спецификация процессов"

Справочные материалы

Частые ошибки, связанные с некорректным синтаксис CSP-описания процессов

Пусть , , – процессы. , , , – события. Тогда следующие описания ошибочны:

1)= → → – нет завершающего процесса (правильно = → → → ),

2)= → → – процесс вместо события,

3)= → → – процесс вместо события,

4)= | – выбор между незащищёнными процессами (процессами без префиксов),

5)= → | → – выбор между одинаковыми событиями,

6)= → | – незащищённый процесс в выборе,

7)= → | → – нет завершающего процесса,

8)= → | → – нет завершающих процессов.

17

Задания

1)Опишите алфавиты своих процессов.

2)Специфицируйте поведение этих процессов с помощью известных вам операторов формализма CSP.

Параметры задания

Общие:

Доступные нам средства описания процессов с помощью операторов префикса

→ и выбора 1 1 | . . . | → не позволяют описывать процессы среды, так как эти средства требуют выполнение некоторого события запуска или (управляются событиями запуска), тогда как процесс среды запускается недетерминированно без условия на запуск.

Поэтому в задании 2 нужно специфицировать все процессы системы за исключением процессов среды.

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

Время выполнения: 4 дня.

Количество баллов: 50 баллов.

Образец решения

Задание 1

≡ { , 1, 2, 12, 21, , , , , , };

≡ { , , , };

1 ≡ { 1, 1, 1, 1};

2 ≡ { 2, 2, 2, 2};

12 ≡ { 12, 12, 12, 12};

21 ≡ { 12, 12, 12, 12};

≡ { , , , }.

18

Задание 2

Controller (C)

_ =    →

=    → |

   1 → |    2 → ;

=    → → → |

   → ;

=    → → → |    → ;

=    → → 12 → |

   → ;

=    → → 21 → |    → ;

=    → → (

     → |

     21 → );

=    → → (

     → |

     12 → );

19

Lift (P1)

=    → _ |

   → ;

_ =    → _ |

   → → _;

_ =    → _ |

   → → _.

Button1 (S1)

1_ =    1 → 1

1 =    1 → 1 |

   1 → 1 → 1 → 1 → 1.

Button2 (S2)

2_ =    2 → 2

2 =    2 → 2 |

   2 → 2 → 2 → 2 → 2.

Button12 (S3)

12_ =    12 → 12

20