Khi một quá trình sinh ra một quá trình khác


13

Nền tảng của tôi là về lý thuyết / logic phức tạp (nơi chỉ có một quá trình hầu hết thời gian) và trong điện toán phân tán (nơi có n quá trình và một hoặc nhiều quá trình có thể thất bại theo thời gian). Tuy nhiên, bây giờ tôi muốn có thể nói điều gì đó về một quá trình sinh sản / tạo / quay vòng một quy trình khác. Có sự nghiêm ngặt trong điện toán song song, hệ điều hành, vv, mà giải thích cho điều này?

Động lực:

Tôi đang cố gắng xây dựng các mô hình trừu tượng hóa các tính năng nhất định của các tương tác phân tử. Tôi muốn nói rằng tập các phản ứng hóa học là một quá trình độc lập, và rằng tại một bước thời gian nhất định t , chúng đẻ trứng trong một quá trình độc lập S ' . Theo trực giác, những điều này cảm thấy giống như các quá trình độc lập, bởi vì chúng không có liên lạc với nhau sau thời gian t - hoặc rất ít liên lạc, chỉ trao đổi "tin nhắn".StSt

Chính thức hơn:

(1) Có các định nghĩa CS tồn tại trước đó nắm bắt khái niệm về một quá trình sinh ra một quy trình độc lập khác không? Tôi đặc biệt quan tâm đến việc có thể để phân ranh giới nơi dừng lại và S 'SS bắt đầu, và tại sao điều đó là "hợp lý" để làm.

(2) Nếu có nhiều hơn một câu trả lời cho (1), bạn nghĩ gì về ưu và nhược điểm của các định nghĩa khác nhau?

(Lưu ý: Tôi không có ý tưởng làm thế nào để gắn thẻ này một cách thích hợp và có kế hoạch gắn thẻ lại tùy thuộc vào câu trả lời.)


Tôi luôn thấy forkcuộc gọi hệ thống trong các hệ điều hành giống như Unix về mặt khái niệm rất thanh lịch. Bạn có thể xem nó như là một hoạt động nguyên tử nhân đôi quá trình hiện tại. Trước khi một ngã ba, chỉ có một quá trình , thời gian sau khi ngã ba, có hai quá trình SS ' . Nếu chúng ta điều đơn giản hóa, SS 'giống hệt nhau trong tất cả các khía cạnh khác, ngoại trừ việc có một chỉ số một-bit cho phép SSSS'SS' bí quyết rằng đó là "mới" quá trình trong khi S biết rằng đó là "gốc" quá trình. Sau đó S S 'S'SSS'có thể tiếp tục riêng biệt, và họ thậm chí có thể tự sửa đổi .
Jukka Suomela

@Jukka: Cảm ơn bạn :-) Sẽ thật ngọt ngào nếu có một cách để kết nối những gì tôi đang làm với một người nguyên thủy Unix.
Aaron Sterling

Câu trả lời:


13

Tất nhiên có nhiều hệ thống để mô hình hóa các quy trình. Chúng thuộc danh mục của đại số quá trình . Các ví dụ chính là -calculusπ , CCS , ACPCSP .

Tính toán quy trình có các cơ chế cơ bản để chỉ định hành vi quy trình bao gồm: gửi và nhận tin nhắn (đồng bộ hoặc không đồng bộ), tạo các quy trình song song, lựa chọn không xác định giữa các hành vi và sao chép quy trình. Mặc dù các phép tính nhỏ về số lượng các công trình, nhưng chúng rất biểu cảm và một lượng lớn nghiên cứu đã đi vào nghiên cứu các tính chất của chúng.

Các -calculus khác với các loại khác ở chỗ, về bản chất, nó cho phép các quá trình được truyền dưới dạng các giá trị hạng nhất. Nó thực sự cho phép các tên kênh được truyền xung quanh dưới dạng các giá trị hạng nhất, cho phép thay đổi cấu trúc liên kết động. Đây có lẽ là tính toán bạn muốn bởi vì nó cung cấp sự năng động nhất.π

CSP (truyền đạt các quá trình tuần tự) hơi kỳ lạ, khi nhìn từ góc độ mô hình hóa các phân tử. Nó có rất nhiều lý thuyết ủng hộ và hỗ trợ công cụ. (Được phát minh bởi CAR Hoare.)

CCS và ACP có độ linh động thấp hơn so với -calculus, nhưng chúng dễ dàng hơn để phân tích và mô phỏng. Một bộ công cụ rắn được gọi làπ CRL (và μ CRL2) có sẵn cho ACP. Các công cụ tương tự chắc chắn tồn tại cho CCS.μμ

Tôi sẽ bắt đầu kiểm tra các công việc liên quan (xem bên dưới) và sau đó tìm xem các hình thức chính thức nào phù hợp với những gì bạn đang tìm kiếm.

Thực tế đã có khá nhiều công việc mô hình hóa các phản ứng hóa học và các quá trình sinh học bằng cách sử dụng đại số quá trình. Có lẽ nơi tốt nhất để tìm là Luca Cardelli danh sách xuất bản của . Toàn bộ dòng nghiên cứu của ông về BioComputing có lẽ có 30 bài viết về chủ đề này. Bài nói chuyện này cung cấp một cái nhìn tổng quan về phần lớn công việc của mình. Đây một là hơi trịnh trọng hơn, mặc dù có đọc báo thực sự là cách duy nhất để xem chi tiết.

Một cách tiếp cận mô hình trực tiếp các quá trình hóa học là CHAM (máy trừu tượng hóa học). Thành phần chính ở đây là một giải pháp của các phân tử và màng. Có các quy tắc làm nóng và làm mát để sắp xếp lại các phân tử và loại bỏ rác. Các quy tắc này là đảo ngược. Cuối cùng có quy tắc phản ứng mà mô hình phản ứng. Trái ngược với đại số quá trình, các mô hình CHAM không quá lo lắng về cú pháp của các quy trình, vì vậy bạn có thể phát minh ra đại diện của chính các phân tử.

Viết lại logic như đã nhận ra trong bộ công cụ Maude cung cấp một cách tiếp cận trực tiếp khác ít nhiều để chỉ định các phản ứng như vậy. Người ta chỉ cần xác định các quy tắc viết lại, việc bàn giao "súp" là tự động. Bộ công cụ sẽ cho phép mô phỏng và phân tích các phản ứng hóa học (nhỏ). Một biến thể xác suất của Maude cũng tồn tại.


Petri-lưới cũng có thể được xem xét trong số các khả năng? rèn có thể được mô hình hóa bằng cách có một vị trí với hai lần chuyển tiếp đi.
M. Alaggan

Tổng quát hơn, các tương tác kiểu petri-net có thể được mô hình hóa theo logic tuyến tính (ví dụ, không phải là duy nhất, xem "Khung logic đồng thời: Đoạn mệnh đề" của Watkins et al, TYPES 2003)
Rob Simmons

π

@M. Alaggan: Nhìn bề ngoài, dường như lưới Petri có thể thực hiện công việc. Mỗi nơi có thể được coi là một hồ chứa hóa chất. Mỗi quá trình chuyển đổi có thể được coi là phản ứng. Do đó, nếu chúng ta có các địa điểm được gọi là H và O và H2O, quá trình chuyển đổi có thể lấy hai mã thông báo từ H một từ O và đặt một mã thông báo vào H2O. Vấn đề với mô hình hóa theo cách này là chỉ một trong mỗi quá trình chuyển đổi như vậy có thể bắn đồng thời, ngược lại với các đại số xử lý sẽ cho phép nhiều chuyển đổi như vậy bắn vào một lúc.
Dave Clarke

@Aaron: tùy thuộc vào những gì bạn đang cố gắng thực hiện, tính toán quy trình hiện đại hơn như BioPEPA có thể hữu ích cho bạn.
András Salamon

7

Một dòng công việc khác - tôi tin - liên quan đến nhưng không giống như BioComputing (tiếc là tôi không rành về lĩnh vực này), là "điện toán màng".

Sự hiểu biết của tôi về điện toán màng là nó sử dụng các phép ẩn dụ được phát triển phần lớn trong thế giới quy trình (câu trả lời của Dave Clarke đã đưa ra một bộ con trỏ tốt ở đó) một cách rõ ràng để mô hình các tương tác di động. Một hướng dẫn tốt về điện toán màng có lẽ là Hướng dẫn khéo léo về điện toán màng của Paun và Rozenberg trong TCS. Đó là một vài năm trước đây (và hiện tại tôi không ở trong một tường thành để kiểm tra) nhưng tôi tin rằng một số mô hình điện toán màng có một khái niệm "giả mạo" được cho là bằng cách nào đó phản ánh sự giảm thiểu tế bào.


Cảm ơn, Rob. Theo như tôi biết thì công việc của Cardelli không liên quan đến điện toán màng. Nó tập trung hơn vào việc xây dựng một lý thuyết ngôn ngữ lập trình cho các mạch DNA. Tôi đánh giá cao con trỏ, nhưng tôi đoán tôi đang tìm kiếm thứ gì đó "chính thống" hơn (nghĩa là bản thân nó không liên quan đến sinh học theo bất kỳ cách nào).
Aaron Sterling

1
Đây chắc chắn là một sự thay thế. @Aaron: Cardelli's Brane Compus lucacardelli.name/Papers/Brane%20Calculi.pdf mô hình màng.
Dave Clarke

Hà! Sức mạnh của crowdsource! Cảm ơn một lần nữa! :-)
Aaron Sterling
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.