Detalhes do Documento

Uma linguagem de programação com tipos de sessão independentes do contexto

Autor(es): Almeida, Bernardo Pinto de

Data: 2018

Identificador Persistente: http://hdl.handle.net/10451/36701

Origem: Repositório da Universidade de Lisboa

Assunto(s): Linguagens de programação; Concorrência; Troca de mensagens; Tipos de sessão; Tipos de sessão independentes do contexto; Teses de mestrado - 2018


Descrição

Os sistemas de software distribuídos têm uma comunicação intensiva onde a complexidade do padrão de mensagens trocadas entre processos tende a tornar a codificação dos mesmos difícil. As tecnologias existentes na área do software concorrente não são muito apropriadas ao desenvolvimento deste tipo de sistemas onde a comunicação é intensiva e bastante complexa devido ao elevado número de mensagens que são trocadas entre processos. É necessário definir mecanismos que permitam verificar se uma determinada sequência de interações feitas num canal de comunicação está bem estruturada e se está de acordo com um protocolo predefinido. Os tipos de sessão foram desenvolvidos com o objetivo de colmatar as lacunas existentes no software concorrente com comunicação intensiva. Permitem definir protocolos que, recorrendo a tipos, representam uma “interação correta” do sistema e ainda garantem outras propriedades como a inexistência de erros na comunicação e de situações de impasse. Garantem também que uma mensagem é recebida ou que a comunicação num canal termina. Têm uma estrutura com recursividade terminal que implica que os protocolos que definem sejam descritos por uma linguagem regular. No entanto, têm limitações na sua estrutura que impossibilitam a descrição eficiente de estruturas em forma de árvore. Os tipos de sessão livres do contexto foram apresentados como uma extensão dos tipos de sessão tradicionais e descrevem estruturas que não são possíveis de descrever recorrendo aos tipos de sessão tradicionais. Neste caso, os protocolos são descritos por linguagens determinísticas livres do contexto. Deste trabalho resulta uma linguagem de programação chamada FreeST que é concorrente e explicitamente tipificada, onde os processos comunicam exclusivamente por troca de mensagens. Esta linguagem recorre a tipos de sessão independentes de contexto de modo a estender a expressividade dos tipos de sessão tradicionais e possibilitar a implementação, com segurança de tipos, de operações remotas em tipos de dados recursivos.

Tipo de Documento Dissertação de mestrado
Idioma Português
Contribuidor(es) Repositório Científico de Acesso Aberto da ULisboa; Vasconcelos, Vasco Thudichum, 1964-
facebook logo  linkedin logo  twitter logo 
mendeley logo

Documentos Relacionados