QJAVA: SETAS QUÂNTICAS EM JAVA

Coordenação de Aperfeiçoamento de Pessoal de Nível Superior === Quantum computing is an emerging technology that, currently, has the challenge of developing programming languages, according to the rules of quantum mechanics, to support the creation, analysis, modeling and simulation of high-level qu...

Full description

Bibliographic Details
Main Author: Calegaro, Bruno Crestani
Other Authors: Vizzotto, Juliana Kaizer
Format: Others
Language:Portuguese
Published: Universidade Federal de Santa Maria 2014
Subjects:
Online Access:http://repositorio.ufsm.br/handle/1/5420
Description
Summary:Coordenação de Aperfeiçoamento de Pessoal de Nível Superior === Quantum computing is an emerging technology that, currently, has the challenge of developing programming languages, according to the rules of quantum mechanics, to support the creation, analysis, modeling and simulation of high-level quantum algorithms. Particularly, the focus is on the investigation of new semantic models to develop programming languages for quantum computing. In this context, one alternative is to use the semantic model of monads and arrows that abstracts both pure and mixed quantum states and also can express measures. This model however, was originally implemented as a library for the functional language Haskell, which not every programmer is family. This way, this study aims to provide a universal tool for high-level quantum programming, providing a library for Java. This library was implemented using the new features of closures present in the version 8 of the JDK (Java Development Kit), already available in developers preview. In addition, we present a specific syntax for the library to facilitate the development of quantum algorithms with a clearly structured notation. This syntax is described in a notation similar to the do-notation of Haskell and operates in conjunction with a parser implemented by ANTLR tool. === A computação quântica é uma tecnologia emergente e, atualmente, encontra-se no desafio de desenvolver linguagens de programação segundo as regras da mecânica quântica para a criação, análise, modelagem e simulação de algoritmos quânticos de alto nível. Particularmente, o foco é na investigação de novos modelos semânticos para elaborar linguagens de programação para a computação quântica. Nesse contexto, uma das alternativas é utilizar um modelo semântico de mônadas e setas capaz de abstrair tanto estados quânticos puros quanto mistos e ainda expressar operações de medidas. Esse modelo foi implementado como uma biblioteca para a linguagem funcional Haskell, contudo nem todo programador está familiarizado. Dessa forma, o presente trabalho objetiva oferecer uma ferramenta universal de alto nível para a programação quântica, apresentando uma biblioteca para o Java. Essa biblioteca foi implementada utilizando os novos recursos de closures presentes na versão 8 do JDK (Java Development Kit), já disponibilizados na prévia de desenvolvedores. Além disso, esse trabalho apresenta uma sintaxe específica para a biblioteca para facilitar a elaboração de algoritmos quânticos de forma clara e estruturada, descrita de uma maneira similar a notação-do do Haskell. A sintaxe criada opera em conjunto com um tradutor desenvolvido com a ferramenta ANTLR.