Коли процес породжує інший процес


13

Моє підґрунтя полягає в теорії та логіці складності (там, де більшість часу є лише один процес), і в розподілених обчисленнях (де є процесів, і один або більше з часом можуть вийти з ладу). Однак зараз я хочу мати можливість сказати щось про нерест / створення / спінінг іншого процесу. Чи існує суворість у паралельних обчисленнях, операційних системах тощо, що пояснює це?n

Мотивація:

Я намагаюся побудувати моделі, які абстрагують певні особливості молекулярних взаємодій. Я хотів би сказати, що сукупність хімічних реакцій є незалежним процесом, і що на певному етапі t він породжує інший незалежний процес S ' . Інтуїтивно ці речі відчувають себе незалежними процесами, оскільки вони не мають контакту один з одним через час t - або дуже мало контактують, лише обмінюючись "повідомленнями".StSt

Більш офіційно:

(1) Чи існують попередні визначення CS, які охоплюють поняття одного процесу, що породжує інший незалежний процес? Я особливо зацікавлений в можливості розмежувати , де зупиняється і S ' починається, і чому це «розумно» , щоб зробити.SS

(2) Якщо на (1) є більше відповідей, які ви вважаєте за і проти різних визначень?

(Примітка. Я поняття не маю, як правильно позначити це, і планую повторно позначити тег залежно від відповідей.)


forkSSSSSSSSSможуть продовжуватися окремо, і вони навіть можуть змінювати себе .
Jukka Suomela

@Jukka: Дякую :-) Було б солодко, якби було способом з'єднати те, що я роблю з примітивом Unix.
Аарон Стерлінг

Відповіді:


13

π

Обчислення процесів мають основні механізми визначення поведінки процесу, включаючи: надсилання та отримання повідомлень (синхронно чи асинхронно), створення паралельних процесів, недетермінований вибір між поведінкою та реплікацію процесів. Хоча обчислення невеликі за кількістю конструкцій, вони є дуже виразними, і величезна кількість досліджень вивчила їх властивості.

π

CSP (передача послідовних процесів) є мало дивною, якщо розглядати її з точки зору моделювання молекул. У нього є маса теорії підтримки та підтримки інструментів. (Винайдено CAR Hoare.)

πμμ

Я б почав вивчати пов'язану роботу (див. Нижче), а потім знайду, який з формалізмів моделювання відповідає тому, що ви шукаєте.

Насправді було проведено досить багато робіт з моделювання хімічних реакцій та біологічних процесів із застосуванням технологічної алгебри. Мабуть, найкращим місцем для пошуку є список публікацій Лука Карделлі . Весь його напрямок досліджень BioComputing має, мабуть, 30 робіт на цю тему. Ця розмова дає огляд значної частини його роботи. Це один трохи більш формальним, хоча читання газети це дійсно єдиний спосіб , щоб побачити деталі.

Один із підходів, що безпосередньо моделює хімічні процеси - це CHAM (хімічна абстрактна машина). Ключовим інгредієнтом тут є розчин молекул і мембран. Існують правила нагрівання та охолодження для перестановки молекул та видалення мотлоху. Ці правила є оборотними. Нарешті, є правила реакції, які моделюють реакції. На відміну від алгебр технологічних процесів, моделі CHAM не так переживають синтаксис процесів, тому ви можете придумати власне представлення молекул.

Переписати логіку, реалізовану в наборі інструментів, Мод пропонує ще один більш-менш прямий підхід до конкретизації таких реакцій. Потрібно лише вказати правила перезапису, вручення «супу» відбувається автоматично. Набір інструментів дозволить моделювати та аналізувати (дрібні) хімічні реакції. Імовірнісний варіант Моде також існує.


Чи можна також розглядати петрисеті серед можливостей? розгортання можна змоделювати, маючи місце з двома вихідними переходами.
М. Алаган

Більш загально, взаємодії стилів Петрі можна моделювати в лінійній логіці (для одного прикладу, хоча і не єдиного, див. "Супутні логічні рамки: фрагмент пропозиції" Watkins et al, TYPES 2003)
Роб Сіммонс

π

@M. Алаган: На ​​перший погляд, схоже, що сітки Петрі могли зробити цю роботу. Кожне місце можна вважати басейном хімікатів. Кожен перехід можна розглядати як реакцію. Таким чином, якби у нас були місця, звані H і O і H2O, перехід міг би взяти два лексеми від H один з O і помістити один маркер у H2O. Проблема моделювання таким чином полягає в тому, що лише один з таких переходів може одночасно стріляти, на відміну від алгебр процесів, які дозволяли б запускати багато таких переходів одночасно.
Дейв Кларк

@Aaron: залежно від того, що ви намагаєтеся зробити, більш сучасні обчислення процесів, як BioPEPA, можуть бути корисними для вас.
Андраш Саламон

7

Інший напрямок роботи, який, я вважаю, пов'язаний, але не такий, як BioComputing (на жаль, я не дуже добре розбираюся в цій області), - це "мембранні обчислення".

Моє розуміння мембранних обчислень полягає в тому, що він використовує метафори, в значній мірі розвинені в світі процесів-каклуї (відповідь Дейва Кларка дала хороший набір покажчиків) явно моделює стільникові взаємодії. Хороший посібник з мембранних обчислень, мабуть, влучно названий Посібник з мембранних обчислень Паун та Розенберг в TCS. Це було кілька років тому (і наразі я не перебуваю в платіжній стіні, щоб перевірити), але я вважаю, що деякі моделі мембранних обчислень мають поняття "роздрібнення", яке, мабуть, якось відображає клітинний мітоз.


Спасибі, Роб. Робота Карделлі, наскільки я знаю, не стосується мембранних обчислень. Він більше орієнтований на побудову теорії мови програмування для мікросхем ДНК. Я ціную вказівник, але, мабуть, шукаю щось більш "основне" (мається на увазі, що не є біологічно пов'язаним).
Аарон Стерлінг

1
Це, безумовно, альтернатива. @Aaron: Мембрани моделей Brane Calculus Cardelli lucacardelli.name/Papers/Brane%20Calculi.pdf .
Дейв Кларк

Га! Сила краудсорсингу! Знову дякую! :-)
Аарон Стерлінг
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.