Weighted computations: semantics and program logics

Bibliographic Details
Main Author: Gomes, Leandro Rafael Moreira
Publication Date: 2022
Language: eng
Source: Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
Download full: https://hdl.handle.net/1822/77908
Summary: Doctoral programme in Computer Science
id RCAP_c706b764eec5ca26a3af5e6609de64a8
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/77908
network_acronym_str RCAP
network_name_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository_id_str https://opendoar.ac.uk/repository/7160
spelling Weighted computations: semantics and program logicsComputações pesadas: semânticas e lógicas de programasÁlgebra de KleeneComputação pesadaLógica dinâmicaSemânticas de programasDynamic logicKleene algebraProgram semanticsWeighted computationCiências Naturais::Ciências da Computação e da InformaçãoDoctoral programme in Computer ScienceEsta tese debruça-se sobre computações pesadas ou, por outras palavras, programas e asserções sobre estes cuja execução ou avaliação tem alguma forma de peso associado. Por peso queremos dizer um valor que pode representar, por exemplo, uma incerteza na execução, ou uma quantidade de recursos consumidos, como energia ou tempo. Exemplos de sistemas que contêm alguma componente com pesos variam desde comunicações entre dispositivos, processos biológicos em rede, sistemas de apoio à decisão clínica ou controlo de robots, estando cada vez mais presentes no nosso quotidiano. Neste sentido, devido à alta complexidade subjacente à introdução destes parâmetros, exige-se que a engenharia de software recorra a metodologias de desenvolvimento rigorosas para garantir a alta fiabilidade de cada produto de software. E se é verdade que o desenvolvimento, análise e verificação destes sistemas são cada vez mais assentes nessa mesma abordagem formal, as práticas correntes de programação não são ainda capazes de oferecer uma estrutura que seja, ao mesmo tempo, genérica o suficiente por forma a capturar estes paradigmas e capaz de satisfazer os requisitos específicos para cada domínio de aplicação. Nós queremos atacar este desafio através da apresentação de uma metodologia de desenvolvimento sistemático de semânticas e lógicas para raciocinar sobre duas classes distintas de programas. Na primeira classe, a que nós chamamos de computação de fluxo único, cada execução é uma única transição com um peso associado. Na segunda classe, a que nós chamamos computação de fluxo múltiplo, cada execução pode assumir múltiplos caminhos em simultâneo, cada um com um peso possivelmente distinto. Nesta tese definimos, para cada classe de computação, uma semântica, e provamos que esta forma uma álgebra apropriada para raciocinar sobre programas dessa classe. Para esse fim, definimos operadores que interpretam as construções básicas de uma linguagem de programação imperativa: composição sequencial, condicionais e iteração. A partir daqui construímos uma lógica, incluindo o respetivo sistema axiomático, que permite verificar propriedades sobre estes programas. Uma das virtudes desta metodologia é a sua parametricidade, que é dada por uma estrutura matemática genérica que oferece tanto um modelo de computação para representar programas como um espaço de verdade para avaliar asserções sobre eles. Para a classe de computações de fluxo único, definimos também uma noção de bisimilaridade nos modelos dos lógicas geradas, provando-se invariância modal para essas lógicas.This thesis deals with weighted computations or, more precisely, programs and assertions about them whose execution or evaluation has some form of weight associated. By weight we mean a value which may represent, for example, an uncertainty in the execution, or a quantity of resources consumed, such as energy or time. Examples of systems containing some component with weights range from device-to-device communications, network biological processes, clinical decision support systems or robot control, being these growingly present in our everyday life. In this sense, due to the complexity underlying the introduction of these parameters, software engineering is forced to call upon rigorous development methodologies which provides a high assurance of each software product. And if it is true that the development, analysis and verification of these systems are increasingly laid on this exactly approach, the current programming practices are not capable to offer a framework which is, at the same time, generic enough to capture such paradigms, and able to satisfy the specific requirements for each application domain. We intend to address this challenge by presenting a methodology for the systematic development of semantics and logics to reason about two distinct classes of programs. In the first class, that we call single-flow computation, each execution is a single transition with an associated weight. In the second class, that we call multi-flow computation, each execution may assume multiple simultaneous execution paths, each one of them with a, possible distinct, weight. In this thesis we define, for each class of computation, a semantics, and we prove that it forms a suitable algebra to reason about programs of that class. For that end, we define operators which interpret the basic constructions of an imperative programming language: sequential composition, conditionals and iteration. From here we construct a logic, including the respective axiomatic system, allowing to verify properties over those programs. One of the merits of this methodology is its parametricity, which is given by a generic mathematical structure offering both a computational model to represent programs and a truth space to evaluate assertions over them. For single-flow computations, we define as well a notion of bisimilarity on the models of the generated logics, and prove the modal invariance property for those logics.This work was founded by the ERDF—European Regional Development Fund through the Operational Programme for Competitiveness and Internationalisation—COMPETE 2020 Programme and by National Funds through the Portuguese funding agency, FCT—Fundação para a Ciência e a Tecnologia, within projects POCI-01-0145-FEDER-016692, POCI-01-0145-FEDER-016826, POCI-01-0145-FEDER-030947 and POCI-01-0145-FEDER-029946Barbosa, L. S.Madeira, Alexandre Leite CastroUniversidade do MinhoGomes, Leandro Rafael Moreira2022-04-082022-04-08T00:00:00Zdoctoral thesisinfo:eu-repo/semantics/publishedVersionapplication/pdfhttps://hdl.handle.net/1822/77908eng101550804info:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2024-05-11T06:59:01Zoai:repositorium.sdum.uminho.pt:1822/77908Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-28T16:11:06.611184Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse
dc.title.none.fl_str_mv Weighted computations: semantics and program logics
Computações pesadas: semânticas e lógicas de programas
title Weighted computations: semantics and program logics
spellingShingle Weighted computations: semantics and program logics
Gomes, Leandro Rafael Moreira
Álgebra de Kleene
Computação pesada
Lógica dinâmica
Semânticas de programas
Dynamic logic
Kleene algebra
Program semantics
Weighted computation
Ciências Naturais::Ciências da Computação e da Informação
title_short Weighted computations: semantics and program logics
title_full Weighted computations: semantics and program logics
title_fullStr Weighted computations: semantics and program logics
title_full_unstemmed Weighted computations: semantics and program logics
title_sort Weighted computations: semantics and program logics
author Gomes, Leandro Rafael Moreira
author_facet Gomes, Leandro Rafael Moreira
author_role author
dc.contributor.none.fl_str_mv Barbosa, L. S.
Madeira, Alexandre Leite Castro
Universidade do Minho
dc.contributor.author.fl_str_mv Gomes, Leandro Rafael Moreira
dc.subject.por.fl_str_mv Álgebra de Kleene
Computação pesada
Lógica dinâmica
Semânticas de programas
Dynamic logic
Kleene algebra
Program semantics
Weighted computation
Ciências Naturais::Ciências da Computação e da Informação
topic Álgebra de Kleene
Computação pesada
Lógica dinâmica
Semânticas de programas
Dynamic logic
Kleene algebra
Program semantics
Weighted computation
Ciências Naturais::Ciências da Computação e da Informação
description Doctoral programme in Computer Science
publishDate 2022
dc.date.none.fl_str_mv 2022-04-08
2022-04-08T00:00:00Z
dc.type.driver.fl_str_mv doctoral thesis
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://hdl.handle.net/1822/77908
url https://hdl.handle.net/1822/77908
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv 101550804
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órios Científicos de Acesso Aberto de Portugal (RCAAP)
instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron:RCAAP
instname_str FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron_str RCAAP
institution RCAAP
reponame_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
collection Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository.name.fl_str_mv Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
repository.mail.fl_str_mv info@rcaap.pt
_version_ 1833595791536553984