Специализация прикладного участия

Специализация прикладного участия

sergey shishkin

В завершение рассмотрения примеров специализаций в рамках этой главы обратим внимание на специализацию алгоритмов по наличию взаимодействия работника с материалом.

Для этого выберем такие алгоритмы, в которых есть минимум два работника и один из них не взаимодействует с материалами, но только с другими работниками. Такого работника будем называть идентификатором, а остальных работниковреализаторами.

Идентификатор - это специализированный работник id, который не взаимодействует с материалами своего алгоритма AlgId во время исполнения.

AlgId(Alg,t1…t2)

∃ id∈Alg:WorkerAlgId​(id)

∃ M⊂Alg:MaterialAlgId​(M)

∀ t∈[t1…t2]:∀[Neart​(id,M)​]

Для обозначения факта, что объект objid​ является идентификатором алгоритма AlgId введем запись IdAlgId​(objid​).

Реализатор - это специализированный работник impl, который обязательно взаимодействует с материалами своего алгоритма AlgImpl, но может взаимодействовать и с другими работниками для исполнения алгоритма.

AlgImpl(Alg,t1…t2)

∃ impl∈Alg:WorkerAlgImpl​(impl)

∃ M⊂Alg:MaterialAlgImpl​(M)

∃ t∈[t1…t2]:∃[Neart​(impl,M)]

Для обозначения факта, что объект objimpl​ является реализатором алгоритма AlgImpl введем запись ImplAlgImpl​(objimpl​).

Важным свойством идентификатора является то, что при его отсутствии невозможно исполнение алгоритма даже при наличии всех требуемых материалов и остальных работников. На основе этого свойства возможно управление стартом исполнения конкретного алгоритма в локали, наполненной материалами и реализаторами, производимое внесением в локаль идентификатора этого алгоритма.

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

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

Идентификатор может быть представлен примерами:

  • имя функции в тексте программы на языке программирования;
  • "1 кг сахара" - в рецепте варенья;
  • A, G, T и C в цепочке ДНК как описание белка;
  • команда процессора ЭВМ;
  • 0 или 1 в передаче цифровых дынных по каналу связи.

Реализатор может быть представлен примерами:

  • тело функции в тексте программы на языке программирования по отношению к точке вызова этой функции;
  • процессор, реализующий процесс вычисления по некоторому алгоритму;
  • белок выполняющий некоторую функцию в организме по отношению к участку ДНК, на основе которого этот белок был собран.

https://telegra.ph/Obshchaya-teoriya-algoritmov-01-20


Report Page