ScholarGate
Assistente

Modelos de Concorrência e Cálculos de Processos

Modelos de concorrência e cálculos de processos fornecem descrições formais de como processos independentes são executados, comunicam-se e sincronizam-se.

Encontrar tema com PaperMindEm breveFind papers & topics
Tools & resources
Baixar slides
Learn & explore
VídeoEm breve

Definition

Um cálculo de processos é uma álgebra formal para descrever sistemas concorrentes como processos comunicantes, com operadores para composição paralela, comunicação e escolha, e equivalências que determinam quando dois processos se comportam da mesma forma.

Scope

Este tópico abrange modelos algébricos de computação concorrente: CSP de Hoare e CCS de Milner, o pi-cálculo para processos móveis cuja topologia de comunicação muda, e o modelo de ator de passagem de mensagens assíncronas. Aborda primitivas de comunicação e sincronização, equivalências comportamentais como bisimulação, e o contraste entre concorrência de memória compartilhada e passagem de mensagens.

Core questions

  • Como processos comunicantes concorrentes podem ser descritos algebricamente?
  • Quando dois processos concorrentes são comportamentalmente equivalentes?
  • Como a passagem de mensagens se compara à concorrência de memória compartilhada?
  • Como as estruturas de comunicação dinâmicas são modeladas, como no pi-cálculo?

Key theories

Processos Sequenciais Comunicantes (CSP)
O CSP de Hoare modela a concorrência através de processos que se sincronizam em eventos de comunicação compartilhados, fornecendo uma base para linguagens de passagem de mensagens e uma teoria de refinamento de processos.
CCS e bisimulação
O Cálculo de Sistemas Comunicantes de Milner (CCS) oferece uma álgebra de processos com uma noção precisa de equivalência comportamental, a bisimulação, para raciocinar sobre quando os processos são intercambiáveis.
O pi-cálculo
Milner, Parrow e Walker estenderam os cálculos de processos para a mobilidade, permitindo que os próprios canais de comunicação fossem passados como mensagens, de modo que a estrutura de conexão evolui dinamicamente.

Clinical relevance

Os cálculos de processos e o modelo de ator sustentam o design de linguagens e frameworks concorrentes e distribuídos construídos sobre passagem de mensagens, e fornecem ferramentas formais para especificar e verificar protocolos. A bisimulação e o refinamento oferecem critérios precisos para o comportamento concorrente correto.

History

A teoria da concorrência amadureceu no final da década de 1970 com o CSP de Hoare e o CCS de Milner, enquanto o modelo de ator de Hewitt (1973) ofereceu uma alternativa assíncrona de passagem de mensagens. O pi-cálculo em 1992 capturou a mobilidade de processos. Esses cálculos influenciaram linguagens de passagem de mensagens e bibliotecas de concorrência e permanecem como fundamentos para a verificação de protocolos.

Debates

Memória compartilhada versus passagem de mensagens
Uma questão fundamental de design é se a concorrência deve ser organizada em torno de estado mutável compartilhado com sincronização ou em torno de processos isolados que trocam mensagens, com os cálculos de processos e o modelo de ator defendendo este último.

Key figures

  • C. A. R. Hoare
  • Robin Milner
  • Carl Hewitt
  • Joachim Parrow
  • David Walker

Related topics

Seminal works

  • hoare1978
  • milner1989
  • milner1992
  • hewitt1973

Frequently asked questions

O que é bisimulação?
Bisimulação é uma equivalência em processos que se mantém quando cada um pode corresponder aos passos observáveis do outro indefinidamente, formalizando a ideia de que dois processos concorrentes exibem o mesmo comportamento.
O que o pi-cálculo adiciona em relação aos cálculos anteriores?
O pi-cálculo modela a mobilidade permitindo que os canais de comunicação sejam enviados como mensagens, de modo que a topologia de quem pode se comunicar com quem pode mudar durante a execução, capturando sistemas dinâmicos e reconfiguráveis.

Methods for this concept

Related concepts