Publicação

Algorithms for infinite session types

Ver documento

Detalhes bibliográficos
Resumo:In concurrent interactions there are a large number of messages exchanged between two or more processes that often lead to coding errors. To simplify these interactions and reduce the coding errors, session types were created. Session types are an approach for structuring interaction protocols between multiple parties. When a channel is shared between two processes it is necessary to ensure that if one is sending a message, the other is prepared to receive it. In the same way, if a process offers some options, the complementary is prepared to select one of the options. There are finite types of messages, that perform an operation and stop, where you can perform send/receive or offer/select a message and terminate the interaction. However, not all of the interactions are possible just with finite types. This work presents an extension of session types into infinity, since it is necessary to study different classes of types with greater expressive power than finite types. Recursive and 1-counter types are the main focus of this thesis. We start by designing grammars so we can test equation systems based on those types. Defining rules in which the systems of these types can be written is the purpose of the grammars. These rules include the possibility of sending or receiving messages and selecting or offering a set of options. The grammars are implemented based on SePi, a concurrent programming language based on pi-calculus. All the systems that present a finite and infinite behavior should be tested. Constructing algorithms for type formation and type equivalence of these systems as well as testing those algorithms is the main goal of this project, so that we can be sure that infinite types, specifically, with different degrees of expressivity are correctly defined and able to be compared.
Autores principais:Sardinha, Inês Maria Caldeira
Assunto:Tipos de sessão Tipos infinitos Algoritmos Formação de tipos Equivalência de tipos Teses de mestrado - 2022
Ano:2022
País:Portugal
Tipo de documento:dissertação de mestrado
Tipo de acesso:acesso aberto
Instituição associada:Universidade de Lisboa
Idioma:inglês
Origem:Repositório da Universidade de Lisboa
Descrição
Resumo:In concurrent interactions there are a large number of messages exchanged between two or more processes that often lead to coding errors. To simplify these interactions and reduce the coding errors, session types were created. Session types are an approach for structuring interaction protocols between multiple parties. When a channel is shared between two processes it is necessary to ensure that if one is sending a message, the other is prepared to receive it. In the same way, if a process offers some options, the complementary is prepared to select one of the options. There are finite types of messages, that perform an operation and stop, where you can perform send/receive or offer/select a message and terminate the interaction. However, not all of the interactions are possible just with finite types. This work presents an extension of session types into infinity, since it is necessary to study different classes of types with greater expressive power than finite types. Recursive and 1-counter types are the main focus of this thesis. We start by designing grammars so we can test equation systems based on those types. Defining rules in which the systems of these types can be written is the purpose of the grammars. These rules include the possibility of sending or receiving messages and selecting or offering a set of options. The grammars are implemented based on SePi, a concurrent programming language based on pi-calculus. All the systems that present a finite and infinite behavior should be tested. Constructing algorithms for type formation and type equivalence of these systems as well as testing those algorithms is the main goal of this project, so that we can be sure that infinite types, specifically, with different degrees of expressivity are correctly defined and able to be compared.