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 - Santos, Leonardo Araujo (2017)
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.