Реализация процессов

 

Любой процесс Р, записанный с помощью введенных обозначений, можно представить в виде (х: В F(х)), где F — функция, ставящая в соответствие множеству символов множество процессов. Множество В может быть пустым (в случае P = СТОП), может содержать только одинэлемент (в случае префикса) или — более одного элемента (в случае выбора).

Таким образом, каждый процесс можно рассматривать как функцию F с областью определения В (множество начальных событий), и областью значения {F(й) | x B}.

Такой подход позволяет представить любой процесс как функцию в некотором подходящем функциональном языке программирования, например в ЛИСПе. Каждое событие из алфавита процесса представлено атомом ("мон"). При этом если символ не может быть начальным событием процесса, то результатом функции будет специальный символ "BLEEP". Например, для процесса (х: {} СТОП(х)) значением функции будет"BLEEP", что обозначим

СТОП = lx. "BLEEP".

Если же аргумент является событием, возможным для процесса, результатом функции будет другая функция, определяющая последующее поведение процесса.

Пример 3.7.Функция, реализующая процесс (c Р) может иметь вид:

префикс(c, Р) = lх. if x = с thenРelse "BLEEP".

Пример 3.8.Функция, реализующая двуместный выбор (c Р | d Q) может иметь вид:

выбор(c, d, Р, Q) = lх. if x = с then Р else if x = d then Q else "BLEEP".

Оказывается возможным прямое кодирование рекурсивных уравнений:

Пример 3.9. ТАП = префикс("мон", префикс("шок", ТАП)).

 








Дата добавления: 2015-07-18; просмотров: 634;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

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

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.