[pt] REVISITANDO MONITORES
| Ano de defesa: | 2020 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| Tipo de documento: | Tese |
| Tipo de acesso: | Acesso aberto |
| Idioma: | eng |
| Instituição de defesa: |
MAXWELL
|
| Programa de Pós-Graduação: |
Não Informado pela instituição
|
| Departamento: |
Não Informado pela instituição
|
| País: |
Não Informado pela instituição
|
| Palavras-chave em Português: | |
| Link de acesso: | https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=49068&idi=1 https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=49068&idi=2 http://doi.org/10.17771/PUCRio.acad.49068 |
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. |
| id |
PUC_RIO-1_554bac6914a91bf2d1f5878f76d8fe40 |
|---|---|
| oai_identifier_str |
oai:MAXWELL.puc-rio.br:49068 |
| network_acronym_str |
PUC_RIO-1 |
| network_name_str |
Repositório Institucional da PUC-RIO (Projeto Maxwell) |
| repository_id_str |
|
| spelling |
[pt] REVISITANDO MONITORES [en] REVISITING MONITORS [pt] IMUTABILIDADE[pt] CONCORRENCIA[pt] LINGUAGENS DE PROGRAMACAO CONCORRENTES[pt] PROBLEMAS DE CONCORRENCIA CLASSICOS[pt] MONITOR[pt] MEMORIA COMPARTILHADA[en] IMMUTABILITY[en] CONCURRENCE[en] CONCURRENT PROGRAMMING LANGUAGES[en] CLASSIC CONCURRENCY PROBLEMS[en] MONITOR[en] SHARED MEMORY[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.[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.MAXWELLNOEMI DE LA ROCQUE RODRIGUEZNOEMI DE LA ROCQUE RODRIGUEZRENAN ALMEIDA DE MIRANDA SANTOS2020-08-13info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesishttps://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=49068&idi=1https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=49068&idi=2http://doi.org/10.17771/PUCRio.acad.49068engreponame:Repositório Institucional da PUC-RIO (Projeto Maxwell)instname:Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)instacron:PUC_RIOinfo:eu-repo/semantics/openAccess2025-08-04T00:00:00Zoai:MAXWELL.puc-rio.br:49068Repositório InstitucionalPRIhttps://www.maxwell.vrac.puc-rio.br/ibict.phpopendoar:5342025-08-04T00:00Repositório Institucional da PUC-RIO (Projeto Maxwell) - Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)false |
| dc.title.none.fl_str_mv |
[pt] REVISITANDO MONITORES [en] REVISITING MONITORS |
| title |
[pt] REVISITANDO MONITORES |
| spellingShingle |
[pt] REVISITANDO MONITORES RENAN ALMEIDA DE MIRANDA SANTOS [pt] IMUTABILIDADE [pt] CONCORRENCIA [pt] LINGUAGENS DE PROGRAMACAO CONCORRENTES [pt] PROBLEMAS DE CONCORRENCIA CLASSICOS [pt] MONITOR [pt] MEMORIA COMPARTILHADA [en] IMMUTABILITY [en] CONCURRENCE [en] CONCURRENT PROGRAMMING LANGUAGES [en] CLASSIC CONCURRENCY PROBLEMS [en] MONITOR [en] SHARED MEMORY |
| title_short |
[pt] REVISITANDO MONITORES |
| title_full |
[pt] REVISITANDO MONITORES |
| title_fullStr |
[pt] REVISITANDO MONITORES |
| title_full_unstemmed |
[pt] REVISITANDO MONITORES |
| title_sort |
[pt] REVISITANDO MONITORES |
| author |
RENAN ALMEIDA DE MIRANDA SANTOS |
| author_facet |
RENAN ALMEIDA DE MIRANDA SANTOS |
| author_role |
author |
| dc.contributor.none.fl_str_mv |
NOEMI DE LA ROCQUE RODRIGUEZ NOEMI DE LA ROCQUE RODRIGUEZ |
| dc.contributor.author.fl_str_mv |
RENAN ALMEIDA DE MIRANDA SANTOS |
| dc.subject.por.fl_str_mv |
[pt] IMUTABILIDADE [pt] CONCORRENCIA [pt] LINGUAGENS DE PROGRAMACAO CONCORRENTES [pt] PROBLEMAS DE CONCORRENCIA CLASSICOS [pt] MONITOR [pt] MEMORIA COMPARTILHADA [en] IMMUTABILITY [en] CONCURRENCE [en] CONCURRENT PROGRAMMING LANGUAGES [en] CLASSIC CONCURRENCY PROBLEMS [en] MONITOR [en] SHARED MEMORY |
| topic |
[pt] IMUTABILIDADE [pt] CONCORRENCIA [pt] LINGUAGENS DE PROGRAMACAO CONCORRENTES [pt] PROBLEMAS DE CONCORRENCIA CLASSICOS [pt] MONITOR [pt] MEMORIA COMPARTILHADA [en] IMMUTABILITY [en] CONCURRENCE [en] CONCURRENT PROGRAMMING LANGUAGES [en] CLASSIC CONCURRENCY PROBLEMS [en] MONITOR [en] SHARED MEMORY |
| description |
[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. |
| publishDate |
2020 |
| dc.date.none.fl_str_mv |
2020-08-13 |
| dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
| dc.type.driver.fl_str_mv |
info:eu-repo/semantics/doctoralThesis |
| format |
doctoralThesis |
| status_str |
publishedVersion |
| dc.identifier.uri.fl_str_mv |
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=49068&idi=1 https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=49068&idi=2 http://doi.org/10.17771/PUCRio.acad.49068 |
| url |
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=49068&idi=1 https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=49068&idi=2 http://doi.org/10.17771/PUCRio.acad.49068 |
| dc.language.iso.fl_str_mv |
eng |
| language |
eng |
| dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
| eu_rights_str_mv |
openAccess |
| dc.publisher.none.fl_str_mv |
MAXWELL |
| publisher.none.fl_str_mv |
MAXWELL |
| dc.source.none.fl_str_mv |
reponame:Repositório Institucional da PUC-RIO (Projeto Maxwell) instname:Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO) instacron:PUC_RIO |
| instname_str |
Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO) |
| instacron_str |
PUC_RIO |
| institution |
PUC_RIO |
| reponame_str |
Repositório Institucional da PUC-RIO (Projeto Maxwell) |
| collection |
Repositório Institucional da PUC-RIO (Projeto Maxwell) |
| repository.name.fl_str_mv |
Repositório Institucional da PUC-RIO (Projeto Maxwell) - Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO) |
| repository.mail.fl_str_mv |
|
| _version_ |
1856395946957471744 |