Лекция 5 Анализ взаимодействия процессов на сетях Керка
В сетях Керка описание прикладных функций, составляющих программную нагрузку СРВ, осуществляется в виде множества взаимосвязанных параллельно выполняемых процессов [14-17].
Программная система СРВ рассматривается как состоящая из взаимосвязанных подсистем. Каждая подсистема рассматривается в свою очередь как система. Процесс разбиения на подсистемы, подподсистемы и т.д. продолжается, пока не будет достигнута приемлемая детальность описания. Система на нижнем уровне описания называется процессом. Обычно процесс выполняет элементарную функционально законченную задачу и вычисляет значения переменных, которые характеризуют решение этой задачи. Значения переменных образуют состояние процесса.
Состояние системы в каждый момент определяется совокупностью состояний всех процессов. Заметим также, что в общем случае этап декомпозиции программной системы на процессы формализовать не удается.
Модель должна фиксировать взаимодействие процессов и тем самым вводить на множестве процессов частичную упорядоченность, определяющую последовательность выполнения процессов. Это означает, что отдельные процессы связываются с определенными ситуациями в окружающей системе или с определенными моментами времени. Моменты времени могут быть как относительными (по отношению к событию), так и абсолютными, фиксируемыми в астрономическом времени. Активизация части процессов может зависеть от результата работы программной системы.
Кроме фиксации последовательности выполнения процессов необходимо определять объем информации и моменты ее передачи между процессами. Модель ориентирована на метод обмена сообщениями, который имеет ряд преимуществ по сравнению с методом разделяемых переменных, например, методом семафоров.
Пусть
– множество процессов программной
нагрузки. Обозначим через
состояние процесса
в момент времени
.
Тогда состояние системы в момент времени
определяется совокупностью
.
Здесь
принимает только дискретные значения.
В СРВ процессы нередко имеют так
называемую внутреннюю память. Например,
состояние процесса
в момент
зависит от состояния процесса
в моменты времени
,
.
Поэтому состояние системы
может включать состояния некоторого
процесса, вычисленные в разные моменты
времени.
В моделях Керка запуски процесса
производятся в определенные моменты
времени. С каждым процессом
связывается множество пусковых моментов
этого процесса.
строго упорядоченное, для любого
,
то есть у всех процессов существует
общий начальный пусковой момент. Мощность
множества
конечна, то есть в любом конечном
промежутке времени процесс
может быть активизирован конечное число
раз.
Для любых
и последовательных элементов
,
,
где
и
– заданные из практических соображений
функции, причем
.
Чтобы гарантировать циклическое
выполнение любого процесса
,
активизированного в момент
нужно, чтобы время выполнения процесса
было строго ограничено сверху, либо
выполнялось условие
.
Процесс
может принимать данные не только в
начале выполнения, а в любой момент.
Поэтому необходимо оценить задержку
между запуском процесса потребителя и
моментом требования входных данных.
Эту задержку обозначим
,
где
– средство, обеспечивающее связь между
процессами
(производители) и
(потребители).
Величина
в общем случае является случайной
величиной на интервале
,
где
– функции, заданные из практических
соображений, при этом
.
Предполагается также, что каждый процесс выполняется на собственном процессоре. При этом процесс не имеет информации о потребителях результатов своей работы, он знает только необходимые входные данные.
