Latar belakang saya adalah teori / logika kompleksitas (di mana hanya ada satu proses sebagian besar waktu), dan dalam komputasi terdistribusi (di mana ada proses, dan satu atau lebih mungkin gagal dari waktu ke waktu). Namun, saya sekarang ingin dapat mengatakan sesuatu tentang proses pemijahan / membuat / memintal proses lain. Apakah ada kekakuan dalam komputasi paralel, sistem operasi, dll., Yang menyebabkan ini?
Motivasi:
Saya mencoba membuat model yang abstrak fitur tertentu dari interaksi molekuler. Saya ingin mengatakan bahwa rangkaian reaksi kimia adalah proses independen, dan bahwa pada langkah waktu tertentu , ia menumbuhkan proses independen lain S ' . Secara intuitif, hal-hal ini terasa seperti proses independen, karena mereka tidak memiliki kontak satu sama lain setelah waktu t - atau sangat sedikit kontak, hanya saling bertukar "pesan."
Lebih formal:
(1) Apakah ada definisi CS yang sudah ada sebelumnya yang menangkap gagasan dari satu proses melahirkan proses independen lain? Saya terutama tertarik untuk dapat membatasi di mana berhenti dan dimulai, dan mengapa itu "masuk akal" untuk dilakukan.
(2) Jika ada lebih dari satu jawaban untuk (1), apa yang Anda anggap pro dan kontra terhadap berbagai definisi?
(Catatan: Saya tidak tahu cara memberi tag ini dengan tepat, dan berencana untuk memberi tag ulang tergantung pada jawabannya.)
sumber
fork
system call dalam sistem operasi mirip Unix secara konsep sangat elegan. Anda dapat melihatnya sebagai operasi atom yang menduplikasi proses saat ini. Sebelum bercabang, hanya ada satu proses , sedangkan setelah bercabang, ada dua proses dan . Jika kita menyederhanakan hal-hal, dan adalah identik dalam semua aspek lainnya, kecuali bahwa ada indikator satu-bit yang memungkinkan tahu bahwa itu adalah 'baru' proses sementara tahu bahwa itu adalah 'asli' proses. Setelah itu dan dapat berlanjut secara terpisah, dan mereka bahkan bisaJawaban:
Tentu saja ada banyak sistem untuk proses pemodelan. Ini termasuk dalam kategori proses aljabar . Contoh kuncinya adalah -calculus , CCS , ACP dan CSP .π
Kalkulator proses memiliki mekanisme dasar untuk menentukan perilaku proses termasuk: mengirim dan menerima pesan (sinkron atau asinkron), menciptakan proses paralel, pilihan nondeterministik antara perilaku, dan replikasi proses. Meskipun kalkulus kecil dalam hal jumlah konstruksi, mereka sangat ekspresif dan sejumlah besar penelitian telah dilakukan untuk mempelajari sifat mereka.
The kalkulus berbeda dari yang lain dalam bahwa hal itu memungkinkan, pada dasarnya, proses yang akan dilalui sebagai nilai-nilai kelas. Ini sebenarnya memungkinkan nama saluran untuk diedarkan sebagai nilai kelas pertama, memungkinkan perubahan dalam topologi dinamis. Ini mungkin kalkulus yang Anda inginkan karena ia menawarkan dinamika terbesar.π
CSP (mengkomunikasikan proses sekuensial) sedikit aneh, jika dilihat dari perspektif pemodelan molekul. Itu memang memiliki banyak dukungan teori dan alat pendukung. (Diciptakan oleh CAR Hoare.)
CCS dan ACP memiliki dinamika kurang dari kalkulus, tetapi mereka jauh lebih mudah untuk dianalisis dan disimulasikan. Toolset padat yang disebut CRL (dan CRL2) tersedia untuk ACP. Alat serupa pasti ada untuk CCS.π μ μ
Saya akan mulai memeriksa pekerjaan terkait (lihat di bawah) dan kemudian menemukan formalisme pemodelan mana yang sesuai dengan apa yang Anda cari.
Sebenarnya ada cukup banyak pemodelan kerja reaksi kimia dan proses biologis menggunakan proses aljabar. Mungkin tempat terbaik untuk melihat adalah daftar publikasi Luca Cardelli . Seluruh lini penelitiannya tentang BioComputing mungkin memiliki 30 makalah tentang topik ini. Pembicaraan ini memberikan gambaran tentang banyak pekerjaannya. Ini salah satu sedikit lebih formal, meskipun membaca koran benar-benar satu-satunya cara untuk melihat rincian.
Salah satu pendekatan yang secara langsung memodelkan proses kimia adalah CHAM (mesin abstrak kimia). Bahan utama di sini adalah solusi dari molekul dan membran. Ada aturan pemanasan dan pendinginan untuk mengatur ulang molekul dan untuk menghilangkan sampah. Aturan-aturan ini dapat dibalik. Akhirnya ada reaksi yang menentukan model reaksi. Berbeda dengan proses aljabar, model CHAM tidak begitu khawatir tentang sintaksis proses, sehingga Anda dapat menemukan representasi molekul Anda sendiri.
Tulis ulang logika seperti yang direalisasikan dalam toolset Maude menawarkan pendekatan lain yang kurang lebih langsung untuk menentukan reaksi seperti itu. Orang hanya perlu menentukan aturan penulisan ulang, penyerahan "sup" otomatis. Toolset akan memungkinkan simulasi dan analisis reaksi kimia (bertubuh kecil). Varian probabilistik Maude juga ada.
sumber
Bidang pekerjaan lain yang - saya percaya - terkait dengan tetapi tidak sama dengan BioComputing (sayangnya saya tidak terlalu berpengalaman dalam bidang ini), adalah "komputasi membran."
Pemahaman saya tentang komputasi membran adalah bahwa ia menggunakan metafora yang sebagian besar dikembangkan di dunia proses-caclui (jawaban Dave Clarke memberikan serangkaian petunjuk yang baik di sana) secara eksplisit untuk memodelkan interaksi seluler. Panduan yang baik untuk komputasi membran mungkin adalah panduan yang tepat untuk komputasi membran oleh Paun dan Rozenberg di TCS. Itu beberapa tahun yang lalu (dan saya tidak berada di dalam paywall saat ini untuk memeriksa) tetapi saya percaya beberapa model komputasi membran memiliki gagasan "forking" yang seharusnya mencerminkan mitosis seluler.
sumber