Linguagem intermédia tipificada para concorrência em memória partilhada


Autoria(s): Lourenço, Luís Miguel Cardoso
Contribuinte(s)

Seco, João

Data(s)

27/12/2011

27/12/2011

2011

Resumo

Dissertação para obtenção do Grau de Mestre em Engenharia Informática

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.

Fundação para a Ciência e Tecnologia do MCTES - projecto PTDC/EIACCO/104583/2008

Identificador

http://hdl.handle.net/10362/6570

Idioma(s)

por

Publicador

Faculdade de Ciências e Tecnologia

Direitos

openAccess

Palavras-Chave #Linguagem de programação #Concorrência #Máquina virtual #Compilador #Sistema de tipos #Tipos comportamentais
Tipo

masterThesis