08.02.2015 Views

Programação Funcional e Concorrente com Scheme

Programação Funcional e Concorrente com Scheme

Programação Funcional e Concorrente com Scheme

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

notas de aula - Jerônimo C. Pellegrini<br />

13.2.2.5 Fluxo em redes<br />

O algoritmo de Ford-Fulkerson é particularmente fácil de paralelizar.<br />

13.2.3 Implementações do modelo Actor<br />

As linguagens de programação Erlang [54, 55] e Scala [56, 57, 58, 59] baseiam-se fortemente<br />

no modelo actor em seu suporte à concorrência. Nenhuma destas linguagens implementa<br />

de maneira exata as idéias descritas por Hewitt em 1973 e por Agha em 1985; ao invés<br />

disso, os projetistas de linguagens preferem usar o modelo actor <strong>com</strong>o idéia fundamental<br />

do sistema de concorrência, modificando o que parecer pertinente.<br />

13.3 termite scheme<br />

O Termite <strong>Scheme</strong> [60] é uma extensão de <strong>Scheme</strong> 3 para programação concorrente usando<br />

o modelo actor. O Termite <strong>Scheme</strong> foi feito para espelhar as características de concorrência<br />

de Erlang.<br />

O procedimento make-node define um nó do Termite e a porta onde ele ouve. Este<br />

procedimento não inicia um servidor nem realiza qualquer operação – ele apenas cria<br />

uma estrutura de dados que descreve um nó. Esta estrutura pode ser usada para fazer<br />

referência a nós já existentes ou para iniciar um novo nó.<br />

( define mitra ( make-node " 127.0.0.1 " 7777))<br />

O procedimento node-init inicia um novo nó.<br />

(node-init mitra)<br />

mitra<br />

<br />

(define s (self))<br />

3 Ou uma linguagem baseada em <strong>Scheme</strong> – a distinção não é clara.<br />

Versão Preliminar<br />

[ 27 de outubro de 2010 at 15:47 ]<br />

297

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!