Abstract:
Realizamos uma pesquisa qualitativa de base bibliográfica sobre o CodeRunner, a fim de analisar a ferramenta desde a sua arquitetura até como se dá os processos de comunicação CodeRunner - MOODLE - Jobesandbox. Dessa maneira, identificamos que apesar de existirem várias ferramentas educacionais com o propósito de correção autônoma de exercícios computacionais o CodeRunner se mostrou muito mais flexível, podendo ser utilizado em diferentes contextos na computação, desde os mais simples até os mais complexos como máquinas de estados finitos. A partir desse parecer, identificamos que apesar de a ferramenta possuir uma complexa arquitetura ela torna-se limitada quanto ao servidor responsável pela correção dos exercícios computacionais. Já que o CodeRunner recebe apenas uma tabela de resultados, ficando a cargo de um servidor externo realizar essa correção, tornando-o sujeito a falhas como sobrecarga. Dessa forma, pesquisamos autores que adentaram ao ambiente de sistemas distribuídos com enfoque em balanceamento de processos, buscando entender os mecanismos desses sistemas e assim desenvolver um algoritmo de balanceamento de carga para gerenciar a comunicação entre o CodeRunner e o servidor externo.
We conducted a qualitative bibliographic research on CodeRunner, in order to analyze the tool from its architecture to how the communication processes CodeRunner - MOODLE - Jobesandbox. Thus, we identified that although there are several educational tools for the purpose of autonomous correction of computational exercises CodeRunner proved to be much more flexible and can be used in different computing contexts, from the simplest to the most complex as finite state machines. From this opinion, we identified that although the tool has a complex architecture, it becomes limited as to the server responsible for the correction of computational exercises. Since CodeRunner receives only one result table, it is up to an external server to perform this correction, making it subject to failures such as overload. Thus, we researched authors who entered the distributed systems environment with a focus on process balancing, seeking to understand the mechanisms of these systems and thus develop a load balancing algorithm to manage the communication between CodeRunner and the external server.