Título
[pt] REVISITANDO MONITORES
Título
[en] REVISITING MONITORS
Autor
[pt] RENAN ALMEIDA DE MIRANDA SANTOS
Vocabulário
[pt] IMUTABILIDADE
Vocabulário
[pt] CONCORRENCIA
Vocabulário
[pt] LINGUAGENS DE PROGRAMACAO CONCORRENTES
Vocabulário
[pt] PROBLEMAS DE CONCORRENCIA CLASSICOS
Vocabulário
[pt] MONITOR
Vocabulário
[pt] MEMORIA COMPARTILHADA
Vocabulário
[en] IMMUTABILITY
Vocabulário
[en] CONCURRENCE
Vocabulário
[en] CONCURRENT PROGRAMMING LANGUAGES
Vocabulário
[en] CLASSIC CONCURRENCY PROBLEMS
Vocabulário
[en] MONITOR
Vocabulário
[en] SHARED MEMORY
Resumo
[pt] A maioria das linguagens de programação modernas fornece ferramentas para programação concorrente sem restringir seu uso. Assim, fica a cargo do programador evitar a ocorrência de condições de corrida. Nessa dissertação, revisitamos o modelo de monitores, projetados para prevenir condições de corrida ao limitar o acesso à variáveis compartilhadas, e mostramos que monitores podem ser implementados em linguagens de programação com semântica referencial, dadas as regras de tipagem apropriadas. Nós descrevemos a linguagem de programação Aria, projetada com monitores nativos seguindo a proposta original do modelo. Através da resolução de problemas clássicos de concorrência, nós avaliamos o uso de monitores em Aria
para sincronização em diferentes níveis de granularidade, e extendemos a linguagem com novos recursos a fim de contemplar as limitações do modelo envolvendo desempenho e expressividade.
Resumo
[en] Most current programming languages do not restrict the use of the concurrency primitives they provide, leaving it to the programmer to detect data races. In this dissertation, we revisit the monitor model, which
guards against data races by guaranteeing that accesses to shared variables occur only inside monitors, and show that this concept can be implemented in a programming language with referential semantics, given appropriate typing rules. We describe the Aria programming language, designed with native monitors according to these rules. Through the discussion of classic concurrency problems, we evaluate the use of Aria monitors for synchronization at different levels of granularity and extend the language with new features to address the limitations of monitors regarding performance and expressiveness.
Orientador(es)
NOEMI DE LA ROCQUE RODRIGUEZ
Coorientador(es)
ROBERTO IERUSALIMSCHY
Banca
ROBERTO IERUSALIMSCHY
Banca
NOEMI DE LA ROCQUE RODRIGUEZ
Banca
LUIZ FERNANDO BESSA SEIBEL
Banca
ANA LUCIA DE MOURA
Catalogação
2020-08-13
Apresentação
2020-02-12
Tipo
[pt] TEXTO
Formato
application/pdf
Idioma(s)
INGLÊS
Referência [pt]
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=49068@1
Referência [en]
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=49068@2
Referência DOI
https://doi.org/10.17771/PUCRio.acad.49068
Arquivos do conteúdo
NA ÍNTEGRA PDF