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

Detalhes bibliográficos
Autor(a) principal: Almeida, Bernardo Pinto de
Data de Publicação: 2018
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/10451/36701
Resumo: Tese de mestrado, Engenharia Informática (Engenharia de Software) Universidade de Lisboa, Faculdade de Ciências, 2018
id RCAP_f3015ee18f8cf99c84580f542ba38fff
oai_identifier_str oai:repositorio.ul.pt:10451/36701
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling Uma linguagem de programação com tipos de sessão independentes do contextoLinguagens de programaçãoConcorrênciaTroca de mensagensTipos de sessãoTipos de sessão independentes do contextoTeses de mestrado - 2018Departamento de InformáticaTese de mestrado, Engenharia Informática (Engenharia de Software) Universidade de Lisboa, Faculdade de Ciências, 2018Os 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.The society is highly dependent on software systems that are distributed and communication centered. The available tecnologies on this field are not well suited to develop systems with an intensive communication due to the large number of messages that are exchanged between processes. So, there is a need to establish protocols that are able to verify if a communication between parties is well formed in terms of the sequences of operations performed on a communication channel. Session types were proposed as means to fulfil this kind of requirements such as defining the correct interaction or ensuring some safety properties like the abstence of communication errors and deadlocks. Liveness properties like the eventual receipt of a message or the termination of an interaction are also issues that can be addressed using these types. They describe structured interaction of processes on heterogeneously typed communication channels. This kind of types have a tail-recursive structure that imposes protocols that must be described by a regular language. However, they have a limitation in their structure that makes it impossible to describe, in an efficient way, tree structured data. Context-free session types extend the notion of session types by allowing protocols that aren’t tail-recursive and therefore are correspond to deterministic context-free languages. With this work we aim to offer a concurrent typed programming language called FreeST where processes communicate exclusively by message passing. Using context-free session types we intend to have a programming language that is able to describe the low-level serialization of tree-structured data in a type safe way.Vasconcelos, Vasco Thudichum, 1964-Repositório da Universidade de LisboaAlmeida, Bernardo Pinto de2019-01-26T14:37:56Z201820182018-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10451/36701TID:202192539porinfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-11-08T16:33:26Zoai:repositorio.ul.pt:10451/36701Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T21:50:54.315008Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv Uma linguagem de programação com tipos de sessão independentes do contexto
title Uma linguagem de programação com tipos de sessão independentes do contexto
spellingShingle Uma linguagem de programação com tipos de sessão independentes do contexto
Almeida, Bernardo Pinto de
Linguagens de programação
Concorrência
Troca de mensagens
Tipos de sessão
Tipos de sessão independentes do contexto
Teses de mestrado - 2018
Departamento de Informática
title_short Uma linguagem de programação com tipos de sessão independentes do contexto
title_full Uma linguagem de programação com tipos de sessão independentes do contexto
title_fullStr Uma linguagem de programação com tipos de sessão independentes do contexto
title_full_unstemmed Uma linguagem de programação com tipos de sessão independentes do contexto
title_sort Uma linguagem de programação com tipos de sessão independentes do contexto
author Almeida, Bernardo Pinto de
author_facet Almeida, Bernardo Pinto de
author_role author
dc.contributor.none.fl_str_mv Vasconcelos, Vasco Thudichum, 1964-
Repositório da Universidade de Lisboa
dc.contributor.author.fl_str_mv Almeida, Bernardo Pinto de
dc.subject.por.fl_str_mv Linguagens de programação
Concorrência
Troca de mensagens
Tipos de sessão
Tipos de sessão independentes do contexto
Teses de mestrado - 2018
Departamento de Informática
topic Linguagens de programação
Concorrência
Troca de mensagens
Tipos de sessão
Tipos de sessão independentes do contexto
Teses de mestrado - 2018
Departamento de Informática
description Tese de mestrado, Engenharia Informática (Engenharia de Software) Universidade de Lisboa, Faculdade de Ciências, 2018
publishDate 2018
dc.date.none.fl_str_mv 2018
2018
2018-01-01T00:00:00Z
2019-01-26T14:37:56Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10451/36701
TID:202192539
url http://hdl.handle.net/10451/36701
identifier_str_mv TID:202192539
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799134443718311936