Please use this identifier to cite or link to this item: https://hdl.handle.net/10316/116230
Title: Mooshak-as-a-Service
Other Titles: Mooshak-as-a-Service
Authors: Marcelino, Pedro José Ferreira
Orientador: Jesus, Alexandre Daniel Borges de
Araújo, Filipe João Boavida Mendonça Machado de
Keywords: Programming Contests; Cloud Computing; Infrastructure-as-Code; AWS; Mooshak; Concursos de Programação; Computação Cloud; Infraestrutura como código; AWS; Mooshak
Issue Date: 19-Jul-2024
Serial title, monograph or event: Mooshak-as-a-Service
Place of publication or event: DEI-FCTUC
Abstract: Portugal is home to several yearly programming contests, like MIUP and Olimpíadas Nacionais de Informática. In these events the participants solve algorithmic problems by submitting the developed code for classification by a judge. These competitions also feature the help of systems like Mooshak, which grade the submitted solutions by the participants automatically. In order to organize a programming contest it's necessary, among other things, to prepare the environments in which the participants will develop their solutions, as well as configure the server in which the automatic judge system will run. This process is both expensive and time consuming, especially if the organizer does not possess the infrastructure needed.The creation of the Mooshak-as-a-Service project was proposed with the goal of solving this problem, by developing a solution that allows for the simplification of the organizing process of a programming contest using the Mooshak platform, as well as reducing its capital expenses, achieving this through the use of cloud services currently in the market.With this in mind, the current document aims to record the work performed within the project's scope. It will present and evaluate several cloud services relative to their usefulness towards the development of the solution. Next, the system requirements and architecture will be defined based on the research conducted. Finally, a proof of concept of the system will be created and its viability evaluated through a series of tests.The proof of concept developed proved to be an adequate solution to the proposed problem, revealing its potential in reducing the complexity related with the organization of a programming contest and its capital expenses, as well as containing the adequate conditions to be further elaborated and applied in real life situations.
Em Portugal são realizados anualmente vários concursos de programação, como a MIUP e as Olimpíadas Nacionais de Informática. Nestes eventos os participantes resolvem problemas algorítmicos submetendo o código desenvolvido para classificação por um júri. Os concursos contam com o auxílio de sistemas como o Mooshak, que avaliam de forma automática as soluções propostas pelos participantes. Para organizar um concurso de programação é necessário, entre outras ações, preparar os ambientes em que os participantes irão programar assim como configurar o servidor em que o sistema de júri automático irá correr. Este processo é moroso e pode ser pouco acessível do ponto de vista financeiro, caso não se possua a infraestrutura necessária à sua organização. De modo a tentar solucionar este problema, foi proposta a criação do projeto Mooshak-as-a-Service, que visa desenvolver uma solução que permita simplificar a organização de um concurso de programação utilizando a plataforma Mooshak, assim como reduzir as suas despesas de capital, recorrendo para este efeito a serviços cloud atualmente no mercado. Posto isto, a presente dissertação tem como objetivo documentar o trabalho realizado no âmbito do projeto. Este irá apresentar e avaliar vários serviços cloud relativamente à sua utilidade para o desenvolvimento da solução, sendo os seus requisitos definidos com base nas conclusões tiradas e seguidamente definida a arquitetura a desenvolver. Seguidamente, será criada uma prova de conceito da solução proposta, sendo a sua viabilidade avaliada através de uma fase de testes. A prova de conceito desenvolvida provou-se uma solução adequada ao problema proposto, revelando o seu potencial para reduzir a complexidade associada à organização de um concurso de programação e as suas despesas de capital, possuindo condições para ser aprofundada e aplicada em situações reais.
Description: Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia
URI: https://hdl.handle.net/10316/116230
Rights: openAccess
Appears in Collections:UC - Dissertações de Mestrado

Files in This Item:
Show full item record

Page view(s)

16
checked on Oct 16, 2024

Google ScholarTM

Check


This item is licensed under a Creative Commons License Creative Commons