Publicação

Adding uncertainty to real-time programming

Ver documento

Detalhes bibliográficos
Resumo:In this dissertation we cover the implementation in Haskell of an interpreter for a while-language capable of handling both hybrid and probabilistic effects. The interpreter is supported by both operational and denotational semantics which were devised in this dissertation as well. We started by studying a pre-existing syntax and operational semantics of a programming language capable of performing wait calls and probabilistic choices through a random-number-generator. We then redefined this semantics to another one that is more suitable for statistical analysis in programming. Next we performed another iteration over these two semantics, more specifically we extended them to support full hybrid behaviour, traditionally used to encode interactions between digital devices and physical processes such as movement and time. We also devised two denotational semantics corresponding to the operational semantics mentioned before, as a way of providing a mathematical abstraction, through the use of monads, to the programs of our language. Not only this, we also implemented a domain specific language embedded into Haskell, which thus provides to the hybrid programmer all the expressive power that Haskell offers in addition to a palette of combinators designed specifically for the hybrid domain. Such gives rise to an expressivity power much greater than what the aforementioned while-language can provide. Lastly, we presented and analysed several deterministic hybrid programs, such as cruise controllers, and added subtle probabilistic elements to them that reflect certain real-word scenarios. Such an addition lead from one possible execution to several possible executions; and most notably some of the latter revealed safety issues introduced by the probabilistic elements. All in all this dissertation has both theoretical and practical contributions that form a stepping stone towards a rigorous engineering discipline of probabilistic hybrid systems.
Autores principais:Carvalho, Rui Carlos Azevedo
Assunto:Formal methods Hybrid systems Cyber-physical systems Theory of Programming Languages Functional programming Métodos formais Sistemas híbridos Sistemas ciber-físicos Teoria das Linguagens de Programação Programação funcional Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
Ano:2023
País:Portugal
Tipo de documento:dissertação de mestrado
Tipo de acesso:acesso aberto
Instituição associada:Universidade do Minho
Idioma:inglês
Origem:RepositóriUM - Universidade do Minho
Descrição
Resumo:In this dissertation we cover the implementation in Haskell of an interpreter for a while-language capable of handling both hybrid and probabilistic effects. The interpreter is supported by both operational and denotational semantics which were devised in this dissertation as well. We started by studying a pre-existing syntax and operational semantics of a programming language capable of performing wait calls and probabilistic choices through a random-number-generator. We then redefined this semantics to another one that is more suitable for statistical analysis in programming. Next we performed another iteration over these two semantics, more specifically we extended them to support full hybrid behaviour, traditionally used to encode interactions between digital devices and physical processes such as movement and time. We also devised two denotational semantics corresponding to the operational semantics mentioned before, as a way of providing a mathematical abstraction, through the use of monads, to the programs of our language. Not only this, we also implemented a domain specific language embedded into Haskell, which thus provides to the hybrid programmer all the expressive power that Haskell offers in addition to a palette of combinators designed specifically for the hybrid domain. Such gives rise to an expressivity power much greater than what the aforementioned while-language can provide. Lastly, we presented and analysed several deterministic hybrid programs, such as cruise controllers, and added subtle probabilistic elements to them that reflect certain real-word scenarios. Such an addition lead from one possible execution to several possible executions; and most notably some of the latter revealed safety issues introduced by the probabilistic elements. All in all this dissertation has both theoretical and practical contributions that form a stepping stone towards a rigorous engineering discipline of probabilistic hybrid systems.