Uma linguagem de programação quântica orientada a objetos baseada no featherweight java

Fundação de Amparo à Pesquisa do Estado do Rio Grande do Sul === With the approaching end of Moore’s Law, where will not be possible to improve the capacity of silicon based processors, the quantum computing appear to be a good choice to provide a new era of computation. Quantum computing can be u...

Full description

Bibliographic Details
Main Author: Feitosa, Samuel da Silva
Other Authors: Vizzotto, Juliana Kaizer
Language:Portuguese
Published: Universidade Federal de Santa Maria 2016
Subjects:
Online Access:http://repositorio.ufsm.br/handle/1/12028
Description
Summary:Fundação de Amparo à Pesquisa do Estado do Rio Grande do Sul === With the approaching end of Moore’s Law, where will not be possible to improve the capacity of silicon based processors, the quantum computing appear to be a good choice to provide a new era of computation. Quantum computing can be understood as the art of transform information encoded in the state of a quantum physical system. This encoding is through the quantum bits (qubits), which can be on superposition or entangled states, enabling to explore the property called quantum parallelism. In this work is discussed the creation of a quantum programming language implementing the object-oriented paradigm (OO), allowing manipulation of classes and objects, where the quantum effects are handled through a monadic approach, extending the Featherweight Java (FJ) proposal. This language is formally defined through the operational semantics, which allow the implementation in any language that provides closures. That language formalization enables us to create an interpreter, implementing the steps of lexical, syntactic and semantic analysis, focusing in the type system to embedded quantum computing concepts in a classical language. Several examples are provided in the text, showing ways to handle the monadic layer in order to perform transformations in quantum information. === Com a aproximação do fim da Lei de Moore, onde não será possível melhorar a capacidade dos processadores baseados em silício, a computação quântica aparece como uma boa escolha para prover uma nova era da computação. A computação quântica pode ser entendida como a arte de transformar informação codificada no estado físico quântico. Esta codificação se dá através de bits quânticos (qubits), que podem estar em estados de superposição ou emaranhados, permitindo explorar uma propriedade conhecida como paralelismo quântico. Nesta dissertação é discutida a criação de uma linguagem de programação quântica que utiliza-se do paradigma da orientação a objetos (OO), fornecendo a possibilidade de manipular classes e objetos, onde os dados e os efeitos quânticos são manipulados através de uma abordagem monádica, sendo modelada como uma extensão da proposta Featherweight Java (FJ). Esta extensão é definida formalmente através da apresentação de sua semântica operacional, a qual é passível de implementação em qualquer linguagem de programação que forneça o mecanismo de closures. A formalização desta linguagem permitiu a criação de um interpretador, que implementa as fases de análise léxica, sintática e semântica, com foco especial no tratamento do sistema de tipos para embutir conceitos de computação quântica em uma linguagem clássica. Vários exemplos são fornecidos no decorrer do texto, mostrando formas de manipular a camada monádica para realizar transformações em informações quânticas.