프로세스가 다른 프로세스를 생성 할 때


13

저의 배경은 복잡도 이론 / 논리 (대부분의 프로세스가 하나만있는 경우)와 분산 컴퓨팅 ( 프로세스가 있고 시간이 지남에 따라 하나 이상의 오류가 발생할 수 있음)입니다. 그러나 이제는 프로세스 생성 / 생성 / 다른 프로세스 분리에 대해 이야기하고 싶습니다. 병렬 컴퓨팅, 운영 체제 등에서이를 설명하는 엄격한 방법이 있습니까?n

자극:

분자 상호 작용의 특정 기능을 추출하는 모델을 만들려고합니다. 나는 일련의 화학 반응 가 독립적 인 과정이고, 특정 시간 단계 에서 또 다른 독립적 인 과정 생성 한다고 말하고 싶습니다 . 그들은 시간 후 서로 접촉이 없기 때문에 직관적으로, 이러한 일들이 독립적 인 프로세스 같은 느낌 -. "메시지를"오직 상호 교환, 또는 거의 접촉을t S ' tStSt

더 공식적으로 :

(1) 한 프로세스가 다른 독립 프로세스를 생성한다는 개념을 포착하는 기존의 CS 정의가 있습니까? 나는 특히 위치를 구별 할 수있는에 관심 정지하고 시작하고, 그 이유를 "합리적인"할 수 있습니다.S 'SS

(2) (1)에 대한 답변이 두 개 이상인 경우 다양한 정의에 대한 장단점을 어떻게 생각하십니까?

(참고 :이 태그를 올바르게 태그하는 방법을 모르고 답변에 따라 태그를 다시 지정할 계획입니다.)


나는 fork유닉스 계열 운영체제에서 시스템 호출이 개념적으로 매우 우아 하다는 것을 항상 발견했다 . 현재 프로세스 를 복제 하는 원자 작업으로 볼 수 있습니다 . 포크 전에는 단 하나의 프로세스 가 있었고, 포크 후에는 두 개의 프로세스 와 있습니다. 우리 지나치게 단순화 일들이, 경우 와 있는 동일 , 다른 모든 측면에서 제외 할 수있는 하나의 비트 표시가 있다고 하면서 "새로운"공정 것을 알고를 가 "원래"과정 것을 알고있다. 그 후 와 는 별도로 계속할 수 있으며S S ' S S ' S ' S S S 'SSSSSSSSS스스로 수정하십시오 .
Jukka Suomela

@ Juka : 감사합니다 :-) 내가하고있는 일을 Unix 프리미티브에 연결하는 방법이 있다면 좋을 것입니다.
Aaron Sterling

답변:


13

물론 모델링 프로세스를위한 많은 시스템이 있습니다. 이것은 프로세스 대수 범주에 속합니다 . 주요 예는 calculus , CCS , ACPCSP 입니다.π

프로세스 미적분에는 메시지를 동기식 또는 비동기식으로 보내고 받기, 병렬 프로세스 생성, 동작 사이의 비 결정적 선택 및 프로세스 복제를 포함하여 프로세스 동작을 지정하는 기본 메커니즘이 있습니다. 미적분학은 구조물의 수에 있어서는 작지만 표현력이 매우 뛰어나며 많은 연구가 그들의 속성을 연구하고 있습니다.

다른 사람과 다르다 -calculus은 허용 본질적으로 공정 일류 값으로 전달되도록한다. 실제로 채널 이름을 퍼스트 클래스 값으로 전달하여 동적 토폴로지를 변경할 수 있습니다. 이것은 아마도 가장 큰 역 동성을 제공하기 때문에 원하는 미적분학 일 것입니다.π

CSP (communicating 순차적 프로세스)는 모델링 분자의 관점에서 볼 때 약간 이상합니다. 많은지지 이론과 도구 지원이 있습니다. (Car Hoare가 발명했습니다.)

CCS와 ACP는 -calculus 보다 역 동성이 떨어지지 만 분석 및 시뮬레이션이 훨씬 쉽습니다. CRL (및 CRL2) 이라는 견고한 툴셋 을 ACP에 사용할 수 있습니다. CCS에도 유사한 도구가 존재합니다.μ μπμμ

관련 작업을 검토 한 후 (아래 참조) 모델링 형식 중 어떤 것이 당신이 원하는 것에 적합한 지 찾아보십시오.

실제로 대수를 사용하는 화학 반응과 생물학적 과정을 모델링하는 작업이 많이있었습니다. 아마도 가장 좋은 곳은 Luca Cardelli 의 출판 목록 일 것입니다. BioComputing 에 대한 그의 모든 연구 는 아마도이 주제에 대해 30 개의 논문을 가지고있을 것입니다. 이 강연 은 그의 작품 대부분에 대한 개요를 제공합니다. 이 사람은 신문을 읽는 것은 정말 세부 정보를 볼 수있는 유일한 방법입니다하지만, 조금 더 형식입니다.

화학 공정을 직접 모델링하는 한 가지 방법은 CHAM (화학 요약 기계)입니다. 여기서 핵심 성분은 분자와 막의 용액입니다. 분자를 재 배열하고 정크를 제거하기위한 가열 및 냉각 규칙이 있습니다. 이 규칙은 되돌릴 수 있습니다. 마지막으로 반응을 모델링하는 반응 규칙이 있습니다. 프로세스 대수와 달리 CHAM 모델은 프로세스의 구문에 대해 걱정하지 않으므로 분자를 직접 표현할 수 있습니다.

툴셋 Maude 에서 실현 된 로직 재 작성 은 이러한 반응을 지정하는 또 다른 방법을 제공합니다. 다시 쓰기 규칙 만 지정하면 "수프"가 자동으로 전달됩니다. 툴셋은 (작은) 화학 반응의 시뮬레이션 및 분석을 가능하게합니다. Maude의 확률 적 변형도 존재합니다.


페트리 넷도 가능성 가운데 고려 될 수 있을까? 두 개의 나가는 전환이있는 장소를 사용하여 분기를 모델링 할 수 있습니다.
M. Alaggan

보다 일반적으로, 페트리 넷 스타일 상호 작용은 선형 논리로 모델링 될 수 있습니다 (한 예는 아니지만 유일한 예는 "동시 논리 프레임 워크 : 제안 단편", Watkins et al, TYPES 2003 참조)
Rob Simmons

고마워요, 데이브 유머러스하게도 내 프로젝트 중 하나가 Cardelli가 링크 한 페이지의 몇 가지 논문에서 수행 한 작업을 확장하고 있습니다. 프로세스 대수에 대한 나의 지식은 제한적이므로 가능한 경우 그런 식으로 공식화하는 것을 피하려고 노력했습니다. Cardelli는 -calculus 의 바이오 버전을 정의 하지만 잘 이해하지 못합니다. 그것이 최선의 방향이라고 생각하는 데 확실히 도움이됩니다. 최소한 새로운 형식주의를 배우는 더 많은 이유. π
Aaron Sterling

@미디엄. 알라 간 : 페트리 네트가 그 일을 할 수있을 것 같습니다. 각 장소는 화학 물질 수영장으로 간주 될 수 있습니다. 각 전이는 반응으로 간주 될 수 있습니다. 따라서 H와 O, H2O라는 장소가 있다면 전환은 H에서 하나의 토큰을 2 개 가져 와서 하나의 토큰을 H2O에 넣을 수 있습니다. 이러한 방식으로 모델링 할 때의 문제점은 이러한 많은 전이가 한 번에 발사 될 수있는 프로세스 대수와 달리, 각각의 이러한 전이 중 하나만 동시에 발사 될 수 있다는 것입니다.
Dave Clarke

@Aaron : 수행하려는 작업에 따라 BioPEPA와 같은 최신 프로세스 계산법이 유용 할 수 있습니다.
András Salamon

7

BioComputing과 관련이 있지만 그와 같지 않은 다른 작업 라인 (안타깝게도이 분야에 정통하지는 않습니다)은 "멤브레인 컴퓨팅"입니다.

멤브레인 컴퓨팅에 대한 나의 이해는 그것이 프로세스-클루이 세계에서 크게 개발 된 은유를 사용한다는 것입니다 (Dave Clarke의 대답은 거기에 좋은 포인터 세트를주었습니다). 멤브레인 컴퓨팅에 대한 좋은 가이드는 아마도 TCS에서 Paun과 Rozenberg의 멤브레인 컴퓨팅대한 A 가이드 입니다. 몇 년 전 (그리고 지금은 월페이퍼 내부에 있지는 않지만) 막 컴퓨팅의 일부 모델에는 어떻게 든 세포 유사 분열을 반영하는 "포킹 (forking)"이라는 개념이 있다고 생각합니다.


고마워 Rob. Cardelli의 연구는 내가 아는 한 멤브레인 컴퓨팅에 영향을 미치지 않습니다. DNA 회로에 대한 프로그래밍 언어 이론을 세우는 데 더 중점을 둡니다. 나는 포인터에 감사하지만, 더 "주류"를 찾고 있다고 생각한다.
Aaron Sterling

1
이것은 확실히 대안입니다. @Aaron : Cardelli의 Brane Calculus lucacardelli.name/Papers/Brane%20Calculi.pdf 모델 멤브레인.
Dave Clarke

하아! 크라우드 소싱의 힘! 다시 감사합니다! :-)
Aaron Sterling
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.