Dissertation/ Thesis

Uma máquina virtual para uma linguagem concorrente intermédia

Bibliographic Details
Title: Uma máquina virtual para uma linguagem concorrente intermédia
Authors: Silva, Roberto Rosa da
Contributors: Martins, Francisco Cipriano da Cunha, 1972-, Vasconcelos, Vasco Thudichum, 1964-
Publication Year: 2014
Collection: Universidade de Lisboa: repositório.UL
Subject Terms: MIL, Linguagem intermédia tipificada, Condições de corrida, Impasses, Multiprocessador, Teses de mestrado - 2013
Description: Tese de mestrado em Engenharia Informática, apresentada à Universidade de Lisboa, através da Faculdade de Ciências, 2013 ; A necessidade de aumentar o poder de computação exigiu a produção de hardware com maior capacidade de processamento. Esta situação levou os fabricantes a abandonar o modelo tradicional de Von Neumann e a adotar sistemas com múltiplos processadores/ núcleos. Para que o software acompanhasse a evolução do hardware, as linguagens de programação concorrente ganharam protagonismo, mas com este regressaram os problemas bem conhecidos dos sistemas concorrentes e distribuídos, condições de corrida e impasses. O mecanismo mais popular que suporta programação concorrente é o uso de múltiplos fios de execução, que partilham variáveis. Neste contexto, propomos o desenvolvimento de uma máquina virtual para a linguagem MIL que imponha, estaticamente, que programas bem tipificados são livres de condições de corrida e não entrem em impasses. A primeira propriedade é conseguida através da imposição de uma disciplina no uso de trincos através de tipos singulares; a segunda é alcançada através de anotações polimórficas sobre a ordem pela qual os trincos são fechados. O sistema de tipos recusa programas cujos fios de execução dependam, ciclicamente, uns dos outros no fecho de trincos. No entanto, a introdução de anotações sobre trincos pode introduzir uma complexidade desnecessária no processo de geração de código. De forma a resolver este problema propomos um algoritmo para inferir as anotações polimórficas sobre trincos. A inferência faz-se da recolha de restrições locais sobre a ordem pela qual os trincos são fechados. As restrições são passadas a um SMT que averigua a sua consistência. Implementámos o algoritmo e experimentámo-lo extensivamente em programas MIL, nomeadamente, em código de alguma dimensão, obtido através da compilação de programas escritos numa linguagem de objetos concorrentes. Para além disso, pretendemos potenciar a integração da linguagem MIL, quer com linguagens de alto nível que tenham ...
Document Type: master thesis
Language: Portuguese
Relation: http://hdl.handle.net/10451/10264; 201291045
Availability: http://hdl.handle.net/10451/10264
Rights: openAccess
Accession Number: edsbas.EF32FA5B
Database: BASE
Description
Description not available.