Я имею опыт работы в теории / логике сложности (где большую часть времени занимает только один процесс) и в распределенных вычислениях (где есть процессов, и один или несколько могут со временем выйти из строя). Однако теперь я хочу сказать что-то о процессе, порождающем / создающем / порождающем другой процесс. Есть ли строгость в параллельных вычислениях, операционных системах и т. Д., Что объясняет это?
Мотивация:
Я пытаюсь построить модели, которые абстрагируют определенные особенности молекулярных взаимодействий. Я хотел бы сказать, что набор химических реакций является независимым процессом, и что на определенном этапе t он порождает другой независимый процесс S ′ . Интуитивно понятно, что эти вещи ощущаются как независимые процессы, потому что они не контактируют друг с другом после времени t или очень мало, а только обмениваются «сообщениями».
Более формально:
(1) Существуют ли уже существующие определения CS, которые охватывают понятие одного процесса, порождающего другой независимый процесс? Меня особенно интересует возможность разграничить, где останавливается и S ′ начинается, и почему это «разумно».
(2) Если существует более одного ответа на (1), что вы считаете плюсом и минусом различных определений?
(Примечание: я понятия не имею, как пометить это соответствующим образом, и планирую пометить тегом в зависимости от ответов.)
источник
fork
системный вызов в Unix-подобных операционных системах концептуально очень элегантным. Вы можете видеть это как атомарную операцию, которая дублирует текущий процесс. До разветвления был только один процесс , а после разветвления - два процесса S и S ′ . Если мы упрощать вещи, S и S ' являются идентичными во всех других аспектах, за исключением того, что есть один-разрядный индикатор , который позволяет S ' знать , что это «новый» процесс в то время как S знает , что это «оригинальный» процесс. После этого S и S ′Ответы:
Конечно, существует множество систем для моделирования процессов. Они подпадают под категорию алгебр процессов . Ключевыми примерами являются калькуляцияπ , CCS , ACP и CSP .
Исчисления процессов имеют основные механизмы для определения поведения процессов, включая: отправку и получение сообщений (синхронно или асинхронно), создание параллельных процессов, недетерминированный выбор между поведениями и репликацию процессов. Хотя исчисления малы с точки зрения количества конструкций, они очень выразительны, и огромное количество исследований было посвящено изучению их свойств.
В -исчисления отличается от других тем , что она позволяет, в сущности, процессы, которые передаются в качестве значения первого класса. Это фактически позволяет передавать имена каналов как значения первого класса, что позволяет изменять динамическую топологию. Это, вероятно, исчисление, которое вы хотите, потому что оно предлагает наибольшую динамичность.π
CSP (передача последовательных процессов) выглядит немного странно, если смотреть с точки зрения моделирования молекул. У этого есть много теории поддержки и поддержки инструмента. (Придумано CAR Hoare.)
CCS и ACP обладают меньшей динамичностью, чем калькуляция, но их гораздо проще анализировать и моделировать. Твердый набор инструментов, называемый μ CRL (и μ CRL2), доступен для ACP. Подобные инструменты обязательно существуют для CCS.π μ μ
Я бы начал изучать связанную с этим работу (см. Ниже), а затем нашел бы, какой из формализмов моделирования соответствует тому, что вы ищете.
На самом деле было проведено довольно много работ по моделированию химических реакций и биологических процессов с использованием алгебры процессов. Наверное, лучшее место для поиска - это список публикаций Луки Карделли . Его целое направление исследований в области биокомпьютинга насчитывает, вероятно, 30 статей по этой теме. Этот разговор дает обзор большей части его работы. Это один немного более формальным, хотя чтение газеты это действительно единственный способ , чтобы увидеть детали.
Одним из подходов, который непосредственно моделирует химические процессы, является CHAM (химическая абстрактная машина). Ключевым ингредиентом здесь является раствор молекул и мембран. Существуют правила нагрева и охлаждения для перегруппировки молекул и удаления мусора. Эти правила являются обратимыми. Наконец, есть правила реакции, которые моделируют реакции. В отличие от алгебр процессов, модели CHAM не столь обеспокоены синтаксисом процессов, поэтому вы можете придумать собственное представление о молекулах.
Переписать логику, реализованную в наборе инструментов, Мод предлагает другой более или менее прямой подход к определению таких реакций. Нужно только указать правила перезаписи, раздача «супа» происходит автоматически. Набор инструментов позволит моделировать и анализировать (небольшие) химические реакции. Вероятностный вариант Мод также существует.
источник
Другое направление работы, которое, я считаю, связано, но не совпадает с BioComputing (к сожалению, я не слишком хорошо разбираюсь в этой области), это «мембранные вычисления».
Мое понимание мембранных вычислений состоит в том, что они используют метафоры, в значительной степени разработанные в мире процесс-caclui (ответ Дейва Кларка дал хороший набор указателей там) явно для моделирования клеточных взаимодействий. Хорошим руководством по мембранным вычислениям, вероятно, является точно названное «Руководство по мембранным вычислениям » Пауна и Розенберга в TCS. Это было несколько лет назад (и я сейчас не нахожусь внутри платного доступа для проверки), но я считаю, что некоторые модели мембранных вычислений имеют понятие «разветвления», которое должно как-то отражать клеточный митоз.
источник