Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
компьютерная техника (конспектировать ).docx
Скачиваний:
69
Добавлен:
05.11.2018
Размер:
1.56 Mб
Скачать

5.6 Как рассматривать время Интерпретации параллелизма

Большинство программистов-практиков рассматривают время двумя различными способами, один из которых основывается на нашем обычном ежедневном опыте, а другой на том, как обрабатывается время в среде многозадачного режима. Фундаментальным различием является параллелизм: как интерпретировать понятие, заключающееся в, том, что две вещи происходят параллельно?

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

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

Правила времени ооа

Формализация в ООА делает определенные утверждения и предположения относительно времени, впоследствии называемые правилами времени. Большинство правил времени одинаковы как для одновременной, так и для чередуемой интерпретации времени. Некоторые правила должны быть установлены несколько по-другому, в зависимости от того, какой интерпретации времени Вы придерживаетесь. Ниже представлены и рассмотрены правила времени для обеих интерпретаций.

Правила относительно действий

1. Только одно действие данного конечного автомата может выполняться в какой-то точке времени.

2. Действие требует времени для выполнения. В результате этого ООА отличается от многих методов анализа, которые предполагают, что действия происходят мгновенно [4].

3-а. Параллелизм для одновременной интерпретации: Действия в различных конечных автоматах могут выполняться одновременно.

З-б. Параллелизм для чередуемой интерпретации: только одно действие может выполняться в какое-то время. Если действие получает управление, оно выполняется до завершения без прерывания. Действия в различных конечных автоматах чередуются произвольно. Другими словами, действие является единицей чередования.

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

Обязанность аналитика - гарантировать, что это действие будет завершено. Таким образом, действие типа

Do forever

Если температура слишком низкая, включить горелку;

Если температура слишком высокая, выключить горелку

End do

не разрешается, потому что

  • в одновременной интерпретации времени ничто больше не может когда-либо произойти в этом конечном автомате, так как он не может принять никакие дальнейшие события;

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

Аналогично действие типа

Do until Запрос Оператора.Флаг установлен

Если температура слишком низкая, включить горелку;

Если температура слишком высокая, выключить горелку

End do

является проблематичным. В чередуемой интерпретации это действие никогда не завершится (если атрибут Запрос Оператора. Флаг уже не установлен к инициированию действия), потому что никакое другое действие не может быть выполнено, для того чтобы установить флажок, который позволил бы В ему завершиться, как предполагалось. В одновременной интерпретации действие может завершаться, так что оно допустимо. Однако маловероятно, чтобы нагреватель включался и выключался так быстро, как это обозначено в этом действии. ( См.раздел 5.7 для более приемлемого решения).