Linguagem intermédia tipificada para concorrência em memória partilhada
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 | |
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 |