| Nome: | Descrição: | Tamanho: | Formato: | |
|---|---|---|---|---|
| 772.17 KB | Adobe PDF |
Autores
Orientador(es)
Resumo(s)
O objectivo da dissertação consiste em implementar um compilador, e o sistema de
suporte à execução, para uma linguagem de programação com mecanismos primitivos de controlo de concorrência em memória partilhada. A utilização de concorrência nos
sistemas de software actuais é essencial, desde os servidores aplicacionais mais poderosos que disponibilizam serviços a múltiplos clientes simultaneamente, até aos “simples” interfaces gráficos de utilização comum. As linguagens ditas general purpose, as mais utilizadas para a implementação destes sistemas, como a linguagens Java e C#, suportam a utilização de vários fios de execução através de classes de biblioteca. O suporte específico da linguagem para controlar acessos concorrentes a zonas de memória partilhada restringe-se apenas à utilização dos objectos como monitores, o que torna difícil a implementação de mecanismos de verificação estática ao nível do sistema de tipos.
Nesta dissertação pretende-se implementar uma linguagem de programação que integra
mecanismos de concorrência de forma nativa, tornando possível a construção de programas concorrentes de forma mais estruturada e modular. É proposta uma linguagem concreta implementada a partir de uma linguagem core desenvolvida no grupo de investigação onde se insere este trabalho. Também é desenvolvido um compilador, a respectiva máquina virtual de pilha e uma linguagem intermédia tipificada, com um modelo
de objectos análogo ao da JVM/CLR, mas com suporte nativo para concorrência.
A definição de uma linguagem intermédia tipificada, onde constarão instruções para a
criação de múltiplos fios de execução e controlo de concorrência, visa suportar e antever
o desenvolvimento de um sistema de tipos comportamental que permita detectar estaticamente as interferências entre os múltiplos fios de execução, ao nível de abstracção mais baixo, e que também espelhe as propriedades do sistema de tipos da linguagem fonte.
Descrição
Dissertação para obtenção do Grau de Mestre em
Engenharia Informática
Palavras-chave
Linguagem de programação Concorrência Máquina virtual Compilador Sistema de tipos Tipos comportamentais
