Return to search

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 / Language and compiler for the notification-oriented paradigm: advances to facilitate coding and its validation in a robot control soccer application

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. / Programming techniques based on the Imperative Paradigm (PI) and Declarative Paradigm (PD) have limitations such as redundancies and couplings, which may hamper the development and execution of software. In order to solve some of the deficiencies of these programming paradigms, the Notification Oriented Paradigm (NOP) has emerged, which presents a new way of performing logical/cause revisions. This is accomplished through small, reactive and decoupled computational entities that collaborate through timely notifications. The NOP was originally materialized in the form of a Framework, implemented in the C++ programming language. It is designed to provide high-level interfaces that facilitate the development of NOP applications. However, internally the Framework has data structures that induce an overhead of computational processing and consequent damage to the performance of the applications. In order to address this problem, a specific programming language for the NOP, named LingPON, and its compiler have been created recently. However, only a few, simple, NOP applications were created using LingPON, which does not allow its more effective consolidation. This is essentially for some limitations that exist in the current language version, as well as difficulties in developing complex applications that solve real problems. In this sense, this work proposes a new version of LingPON (version 1.2), with new features such as aggregations of entities, allowing an easier and more direct development of complex applications. The advances are validated by developing a more complex software using LingPON (version 1.0 and 1.2). The software in question deals with the autonomous control for soccer playing robots (Robocup). In the end, software developed using LingPON is compared quantitatively and qualitatively with equivalent software developed using the NOP 2.0 Framework and other equivalent software developed with the Object Oriented Paradigm using a C++ programming language (this one programmed by others). The results show that the use of the new version of LingPON, presented here, allows an easier development of NOP applications. Also, that the developed application was easier to maintain when compared to the PI application. These results, with the development of a known complex application using a new version of LingPON, allows the demonstration of the properties expected in the NOP theory itself.

Identiferoai:union.ndltd.org:IBICT/oai:repositorio.utfpr.edu.br:1/2778
Date31 March 2017
CreatorsSantos, Leonardo Araujo
ContributorsSimão, Jean Marcelo, Fabro, João Alberto, Stadzisz, Paulo Cézar, Maidl, Andre Murbach, Oliveira, Andre Schneider de, Linhares, Robson Ribeiro
PublisherUniversidade Tecnológica Federal do Paraná, Curitiba, Programa de Pós-Graduação em Engenharia Elétrica e Informática Industrial, UTFPR, Brasil
Source SetsIBICT Brazilian ETDs
LanguagePortuguese
Detected LanguagePortuguese
Typeinfo:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis
Sourcereponame:Repositório Institucional da UTFPR, instname:Universidade Tecnológica Federal do Paraná, instacron:UTFPR
Rightsinfo:eu-repo/semantics/openAccess

Page generated in 0.0029 seconds