Publicação
Implementação de uma linguagem concorrente com tipos comportamentais
| dc.contributor.advisor | Seco, João | |
| dc.contributor.author | Parreira, Nuno Jorge Corvo | |
| dc.date.accessioned | 2011-05-16T10:00:07Z | |
| dc.date.available | 2011-05-16T10:00:07Z | |
| dc.date.issued | 2011 | |
| dc.description | Trabalho apresentado no âmbito do Mestrado em Engenharia Informática, como requisito parcial para obtenção do grau de Mestre em Engenharia Informática | en_US |
| dc.description.abstract | A programação concorrente com base em memória partilhada é uma disciplina difícil. A possível interferência entre threads no acesso a zonas de memória partilhada pode causar comportamentos que comprometam o funcionamento esperado de um programa. Em geral, pretende-se que os programas concorrentes não tenham problemas do tipo deadlocks ou race conditions. Esse objectivo atinge-se controlando o acesso às zonas partilhadas através de mecanismos fornecidos a nível dos sistemas operativos, que são eficazes mas difíceis de usar sem cometer erros. Uma forma de minimizar esse problema é usar linguagens com abstracções próprias para representar concorrência, e mais ainda se estas permitirem efectuar análise estática do código dos programas para detectar situações anómalas. Este trabalho descreve a implementação de uma linguagem de programação orientada aos objectos, com suporte para concorrência, e respectivo algoritmo de tipificação, baseado em tipos espaciais/comportamentais, com operadores de tipo de composição sequencial, composição paralela, escolha, repetição e replicação. O sistema de tipos em que se baseia o algoritmo de tipificação apresentado aqui, garante a ausência de race conditions nos programas através da disciplina no acesso a recursos partilhados. O algoritmo de tipificação combina técnicas de verificação de tipos com inferência de tipos; obtém também a utilização dos identificadores livres por análise das expressões, e relaciona-a com os tipos declarados para os objectos através de uma relação de subtyping. | en_US |
| dc.description.sponsorship | Este trabalho foi parcialmente suportado pelas bolsas PTDC/EIA-CCO/104583/2008 e de introdução à investigação do DI-FCT-UNL | en_US |
| dc.identifier.uri | http://hdl.handle.net/10362/5628 | |
| dc.language.iso | por | en_US |
| dc.publisher | Faculdade de Ciências e Tecnologia | en_US |
| dc.subject | Linguagens de programação | en_US |
| dc.subject | Concorrência | en_US |
| dc.subject | Memória partilhada | en_US |
| dc.subject | Verificação estática | en_US |
| dc.subject | Tipos espaciais/comportamentais | en_US |
| dc.subject | Inferência de tipos | en_US |
| dc.title | Implementação de uma linguagem concorrente com tipos comportamentais | en_US |
| dc.type | master thesis | |
| dspace.entity.type | Publication | |
| my.embargo.terms | null | en_US |
| rcaap.rights | openAccess | en_US |
| rcaap.type | masterThesis | en_US |
