Linguagem e compilador para o paradigma orientado a notificações: avanços para facilitar a codificação e sua validação em uma aplicação de controle de futebol de robôs
Ano de defesa: | 2017 |
---|---|
Autor(a) principal: | |
Orientador(a): | |
Banca de defesa: | , , , |
Tipo de documento: | Dissertação |
Tipo de acesso: | Acesso aberto |
Idioma: | por |
Instituição de defesa: |
Universidade Tecnológica Federal do Paraná
Curitiba |
Programa de Pós-Graduação: |
Programa de Pós-Graduação em Engenharia Elétrica e Informática Industrial
|
Departamento: |
Não Informado pela instituição
|
País: |
Brasil
|
Palavras-chave em Português: | |
Área do conhecimento CNPq: | |
Link de acesso: | http://repositorio.utfpr.edu.br/jspui/handle/1/2778 |
Resumo: | As técnicas de programação baseadas no Paradigma Imperativo (PI) e Paradigma Declarativo (PD) apresentam limitações como redundâncias e acoplamentos, os quais podem prejudicar desenvolvimento e execução de softwares. Visando solucionar algumas das deficiências desses paradigmas de programação surgiu o Paradigma Orientado a Notificações (PON), o qual apresenta uma nova forma de realizar avaliações lógico-causais. Isto é realizado através de entidades computacionais de pequeno porte, reativas e desacopladas que colaboram por meio de notificações pontuais. O PON foi originalmente materializado na forma de um Framework, implementado na linguagem de programação C++. Este foi projetado de forma a fornecer interfaces de alto nível que facilitassem o desenvolvimento de aplicações PON. Entretanto, internamente o Framework usa estruturas de dados que induzem a uma sobrecarga de processamento computacional e consequente prejuízo ao desempenho das aplicações. Visando solucionar esse problema, uma linguagem de programação específica para o PON, nomeada LingPON, e respectivo compilador foram criados recentemente. Entretanto, em um primeiro esforço, apenas algumas poucas e simples aplicações PON foram criadas utilizando a LingPON, fato este que não permite sua consolidação mais efetiva. Isso se deve principalmente a algumas limitações que existem na atual versão da linguagem, as quais dificultam o desenvolvimento de aplicações complexas que solucionem problemas realísticos. Neste sentido, este trabalho propõe uma nova versão da LingPON (versão 1.2), baseada em agregações de entidades, na qual é possível criar aplicações complexas de forma mais fácil e direta. Os avanços são validados por meio do desenvolvimento de um \textit{software}, utilizando a LingPON (versão 1.0 e 1.2), para algo reconhecidamente complexo. O \textit{software em questão trata do controle para partidas de futebol de robôs (Robocup). Ao final, o software desenvolvido utilizando o LingPON é comparado quantitativamente e qualitativamente com um software equivalente desenvolvido o utilizando o Framework PON 2.0 e outro software equivalente desenvolvido com o Paradigma Orientado a Objetos utilizando a linguagem de programação C++ (este programado por outrem). Os resultados obtidos mostraram que ao utilizar a nova versão da LingPON, apresentada neste trabalho, é possível desenvolver aplicações PON de forma mais simples e com menor esforço. Ademais, as aplicações PON desenvolvidas apresentaram maior facilidade de manutenção quando comparadas a aplicação PI. Esses resultados obtidos, com o desenvolvimento de uma aplicação conhecidamente complexa utilizando a nova versão da LingPON, vêm ao encontro de colaborar na demonstração de propriedades previstas na própria teoria do PON. |