PPGSC - Mestrado em Sistemas e Computação
URI Permanente para esta coleçãohttps://repositorio.ufrn.br/handle/123456789/12059
Navegar
Submissões Recentes
Dissertação A migration metaprocess from a monolithic architecture to microservices(Universidade Federal do Rio Grande do Norte, 2025-06-26) Medeiros, Henrique David de; Batista, Thais Vasconcelos; Cavalcante, Everton Ranielly de Sousa; https://orcid.org/0000-0002-2475-5075; http://lattes.cnpq.br/5065548216266121; https://orcid.org/0000-0003-3558-1450; http://lattes.cnpq.br/5521922960404236; http://lattes.cnpq.br/5136480770028616; Ferraz, Carlos André GuimarãesAs arquiteturas baseadas em microsserviços ganharam popularidade por sua capacidade de lidar com a complexidade dos sistemas orientados a serviços em nuvem e atender aos requisitos de disponibilidade, manutenibilidade e escalabilidade. No entanto, o processo de modernização de sistemas legados para adotar microsserviços costuma ser demorado e carece de uma abordagem sistemática. Há necessidade de uma orientação clara sobre quais atividades e artefatos são essenciais para se migrar aplicações para microsserviços e como estabelecer um processo bem definido para alcançar os benefícios esperados da arquitetura. Este trabalho apresenta o Metaprocesso para o Kernel de Migração para Microsserviços (M3K), que serve como base para a migração de aplicações monolíticas para arquiteturas de microsserviços. O objetivo principal deste trabalho é estabelecer um metaprocesso abrangente que equipes de desenvolvimento e organizações possam usar como base para definir seus processos de migração de microsserviços. O M3K aproveita o Essence Standard da OMG, fornecendo uma estrutura sólida para definir práticas, atividades e produtos de trabalho de desenvolvimento de software e facilitar a transição para arquiteturas de microsserviços.Dissertação Desenvolvimento de modelos de previsão de consumo para Smart Meter(Universidade Federal do Rio Grande do Norte, 2025-08-29) Sousa, Ewerton Leandro de; Kreutz, Márcio Eduardo; Cunha, Eduardo Nogueira; https://orcid.org/0000-0001-6991-7296; http://lattes.cnpq.br/7628513373242513; http://lattes.cnpq.br/6374279398246756; https://orcid.org/0009-0009-8188-6707; http://lattes.cnpq.br/1011490479268699; Pereira, Mônica Magalhães; http://lattes.cnpq.br/5777010848661813; Muller, Ivan; https://orcid.org/0000-0003-2914-0050; http://lattes.cnpq.br/1522479715721496O aumento do consumo de energia no mundo apresenta uma série de desafios significativos. As Smart Grids, ou redes elétricas inteligentes, desempenham um papel crucial na criação de sistemas de energia mais sustentáveis e resilientes. Esses sistemas são essenciais para enfrentar os diversos desafios energéticos e ambientais, permitindo uma gestão mais eficiente dos recursos, redução de desperdícios e integração de fontes de energia renováveis. Essa pesquisa propõe o desenvolvimento de modelos de predição para Smart Meter, um medidor inteligente capaz de realizar medições precisas, coletar dados de consumo em tempo real e executar algoritmos de previsão localmente. O dispositivo integra tecnologias para comunicação sem fio e técnicas de aprendizado de máquina otimizadas para dispositivos de borda. Uma das principais contribuições deste trabalho é a demonstração de que é possível realizar previsões de consumo de energia complexas diretamente no dispositivo de medição, reduzindo a necessidade de transmissão contínua de dados brutos e aliviando a carga nos sistemas centralizados. Isso não apenas melhora a eficiência operacional das redes inteligentes, mas também oferece benefícios em termos de privacidade e segurança dos dados dos consumidores.Dissertação Geração automática de questões de programação baseada em templates multicamadas(Universidade Federal do Rio Grande do Norte, 2025-04-30) Silva, Abner de Santana; Aranha, Eduardo Henrique da Silva; http://lattes.cnpq.br/9520477461031645; Lucena, Márcia Jacyntha Nunes Rodrigues; Silva, Thiago Reis daDesenvolver habilidades de programação em cursos introdutórios exige exercícios frequentes, mas criar manualmente questões demanda muito tempo e esforço. Para enfrentar esse problema, este trabalho trata da geração automática de questões por meio de templates multicamadas, apoiados por inteligência artificial generativa para sugerir variações e fornecer feedback ao estudante. Foi desenvolvida uma ferramenta web que usa arquivos JSON para definir templates hierárquicos e instâncias de questões. A pesquisa combinou métodos quantitativos e qualitativos, com um estudo de caso com oito professores, avaliando o tempo de construção do template, a quantidade de questões geradas e as percepções por meio de questionários. A maioria dos professores produziu um template completo em 30 minutos, mas preferiu adaptar modelos prontos. As principais dificuldades encontradas foram a curva de aprendizagem, o uso direto de JSON e a falta de uma interface gráfica para visualizar as camadas. Trabalhos futuros incluem expandir o repositório de templates, criar um editor visual e avaliar a solução com amostras maiores.Dissertação Utilizando aprendizado de máquina na identificação de Null pointer exceptions em análise estática de código em Java(Universidade Federal do Rio Grande do Norte, 2023-01-30) Silva, Rodrigo Lafayette da; Cavalcante, Everton Ranielly de Sousa; Araújo, Daniel Sabino Amorim de; https://orcid.org/0000-0001-5572-0505; http://lattes.cnpq.br/4744754780165354; https://orcid.org/0000-0002-2475-5075; http://lattes.cnpq.br/5065548216266121; http://lattes.cnpq.br/3567167027912233; Abreu, Marjory Cristiany da Costa; https://orcid.org/0000-0001-7461-7570; http://lattes.cnpq.br/2234040548103596; Almeida, Rodrigo Bonifácio de; https://orcid.org/0000-0002-2380-2829; http://lattes.cnpq.br/0368311142108150Por uma questão de flexibilidade, as linguagens de programação orientadas a objetos convencionais admitem valores nulos para referências. Na linguagem de programação Java, o uso de uma referência de objeto com um valor nulo causa o lançamento de uma exceção do tipo Null Pointer Exception (NPE), uma das causas mais frequentes de falhas em aplicações escritas nessa linguagem. A análise estática tem sido utilizada para inspecionar artefatos de software como código fonte ou código binário visando localizar a origem de faltas sem que seja necessário executar o programa de forma orientada a depuração. Apesar de sua eficácia, a análise estática baseia-se em um conjunto fixo e estático de regras que descrevem padrões de ocorrência de faltas e é conhecida por um número significativo de falsos positivos. Este estudo investiga como o uso de técnicas de Aprendizado de Máquina (AM) pode melhorar a precisão da detecção de faltas relacionadas a NPE por meio de análise estática, uma linha ainda inexplorada na literatura e na indústria de software. O objetivo principal é propor, implementar e avaliar uma abordagem baseada em classificação que enderece o problema da detecção de faltas relacionadas a NPE em código Java. As contribuições deste trabalho são: (i) uma análise de como as técnicas de AM podem ser usadas para detectar essas faltas por meio de análise estática e (ii) uma avaliação do desempenho das técnicas de AM em comparação às ferramentas tradicionais de análise estática.Dissertação Um método para geração automatizada de exercícios de demonstração com um nível de complexidade similar(Universidade Federal do Rio Grande do Norte, 2025-07-21) Lopes Neto, João Mendes; Almeida, João Marcos de; Terrematte, Patrick César Alves; https://orcid.org/0000-0002-0385-0030; http://lattes.cnpq.br/4283045850342312; https://orcid.org/0000-0003-2601-8164; http://lattes.cnpq.br/3059324458238110; http://lattes.cnpq.br/2653822875045890; Santiago, Regivan Hugo Nunes; http://lattes.cnpq.br/7536988783793885; Olarte, Carlos; http://lattes.cnpq.br/1198550954813139; Seca Neto, Adolfo Gustavo Serra; https://orcid.org/0000-0002-0260-5922; http://lattes.cnpq.br/0071119715272492; Nalon, Cláudia; https://orcid.org/0000-0002-9792-5346; http://lattes.cnpq.br/7793795625581127A geração automatizada de exercícios pode beneficiar educadores ao reduzir significativamente o tempo que gastam na elaboração manual de exercícios. No entanto, um obstáculo para tornar essa automação mais presente na rotina profissional de um educador é o controle do nível de complexidade de exercícios gerados mecanicamente. Neste trabalho, apresentamos um método para a geração automatizada de exercícios de demonstração com um nível de complexidade similar. As entradas deste método são um exercício de demonstração e um conjunto de regras as quais permitem demonstrar este exercício. A saída é um conjunto de exercícios de demonstração com uma complexidade similar à do exercício passado como entrada. O escopo dos exercícios com os quais trabalhamos são exercícios de demonstração matemática descritos em linguagens de primeira ordem, cobrindo tópicos como Teoria dos Conjuntos e Teoria dos Números. Para calcular o nível de complexidade destes exercícios, fundamentamos a nossa abordagem no esforço necessário para os resolver através de demonstrações informais. Argumentamos que esse esforço, por sua vez, pode ser capturado por demonstrações formais em tablôs baseados em corte que não contêm símbolos lógicos. As regras utilizadas nestas demonstrações são extraídas por um procedimento mecanizável que fornecemos. Usamos o carácter analítico dessas regras e a estrutura formal que as demonstrações de tablô têm para fornecer um procedimento computacional do método em questão. Como casos de estudo, demonstramos como o nosso método funciona com fragmentos da Teoria dos Conjuntos e da Teoria dos Números. Uma implementação prototípica também foi desenvolvida e nós a apresentamos aqui.Dissertação Arquitetura de microserviços para detecção e classificação de malária(Universidade Federal do Rio Grande do Norte, 2024-07-26) Costa, Vanessa Dantas de Souto; Carvalho, Bruno Motta de; http://lattes.cnpq.br/0330924133337698; http://lattes.cnpq.br/1447567479085982; Canuto, Anne Magaly de Paula; Barroca Filho, Itamir de Morais; Codina, Daniel LópezA malária afecta milhões de pessoas todos os anos, predominantemente em países com recursos limitados. De acordo com a Organização Mundial da Saúde (WHO 2022), houve cerca de 619.000 mortes por malária no mundo em 2021, em comparação com 625.000 em 2020. Assim, a classificação automatizada de imagens de sangue é um componente crítico para melhorar a eficiência e a precisão do diagnóstico da doença. Com o objetivo de viabilizar uma solução flexível que permita a integração de redes neurais para tratar doenças em larga escala, propomos uma metodologia para classificação da malária. Nossa abordagem envolve coleta de dados, pré-processamento, detecção de objetos com YOLO (em tempo real) encapsulados em arquitetura de microsserviços, criando um sistema modular e escalável que trata os pedidos de inferência, garantindo ao mesmo tempo flexibilidade e facilidade de manutenção (vide teste de carga). Deste modo, este sistema preenche a lacuna entre o combate à malária e à tecnologia e fazendo um aplicativo que possa servir de modelo para trabalhos futuros na área.Dissertação Explorando Throttling para melhoria da disponibilidade em IoT dirigida à energia(Universidade Federal do Rio Grande do Norte, 2025-03-26) Lopes, Paulo Henrique de Queiroz; Aquino Júnior, Gibeon Soares de; http://lattes.cnpq.br/1254338144161360; https://orcid.org/0000-0001-5514-0770; http://lattes.cnpq.br/2808561601422212; Delicato, Flávia Coimbra; Cacho, Nelio Alessandro Azevedo; Immich, Roger KreutzA expansão da Internet das Coisas (IoT) exige o enfrentamento de desafios relacionados ao fornecimento energético, sobretudo em ambientes com recursos limitados. Embora baterias e supercapacitores possam mitigar as flutuações, seu uso contínuo levanta preocupações ambientais. Nesse contexto, sistemas dirigidos à energia propõem uma abordagem adaptativa, em que os dispositivos ajustam seu comportamento conforme as variações de energia disponível, resistindo à escassez e aproveitando a abundância energética. Apesar de avanços anteriores, ainda falta uma abordagem estruturada que considere a implementação do mecanismo de throttling adequando os dispositivos as características energéticas encontradas. Diante disso, este trabalho propõe a exploração do throttling como mecanismo para aumento da disponibilidade dos dispositivos IoT dirigidos à energia, além de definir um conjunto de atividades práticas para sua aplicação. A metodologia foi validada por meio de um estudo experimental com dispositivos simulados, nos quais diferentes estratégias de throttling foram avaliadas com base na taxa de atendimento e na taxa de resposta às operações solicitadas. Os resultados mostraram que, mesmo em cenários energéticos críticos, o throttling contribuiu para preservar a capacidade de resposta dos dispositivos, superando abordagens sem controle. Conclui-se que a implementação do throttling adaptativo, fundamentada em critérios energéticos observáveis, apresenta-se como estratégia promissora para aumentar a disponibilidade de dispositivos IoT em ambientes com restrição energética, enquanto promove uso adequado dos recursos energéticos disponíveis.Dissertação HARS1DE: arquitetura de hardware para processamento de CNNs1D na borda(Universidade Federal do Rio Grande do Norte, 2025-01-31) Guimarães, Mailson Rodrigues de Medeiros; Kreutz, Márcio Eduardo; http://lattes.cnpq.br/6374279398246756; http://lattes.cnpq.br/3132811781302622; Zeferino, César Albenes; Fernandes, Marcelo Augusto Costa; Pereira, Monica MagalhãesAtualmente há uma tendência ao uso do paradigma de cloud computing, onde os recursos, armazenamento e processamento de informação são realizados nas chamadas "nuvens", gerenciadas por provedores. Tal paradigma é aproveitado para o uso, por exemplo, de algoritmos de aprendizado de máquina sobre grandes volumes de dados. Em contrapartida, há o paradigma de computação na borda (edge computing), onde essa carga de processamento é transferida para elementos próximos de onde os dados são gerados (na borda da rede). O investimento de empresas de tecnologia sobre esse tipo de computação e suas técnicas tem crescido, pois essa pode promover ganhos, por exemplo, em termos de latência no processamento, consumo de energia e recursos que eventualmente não estejam disponíveis na nuvem. Analogamente à computação na nuvem, também é possível realizar a aplicação de modelos preditivos de aprendizado de máquina na borda, onde arquiteturas de hardware dedicadas à aceleração desses processos podem ser empregadas. Dessarte, esse trabalho tem como objetivo principal a implementação, teste e validação de uma arquitetura de hardware capaz de acelerar a computação da inferência em CNNs-1D, incluindo camadas de pooling, ativação e dense, onde são analisadas métricas de desempenho, acurácia e uso de recursos de hardware. Para a obtenção dos resultados, foram realizadas duas representações da arquitetura, sendo uma em VHDL e sintetizada para FPGA de forma a se obter resultados de alocação de recursos de hardware e de tempo. A outra representação foi realizada em Python, linguagem de alto nível de abstração, para a obtenção de resultados mais rápidos sobre o comportamento da arquitetura mediante a execução de processos mais longos, como o processamento de uma rede neural inteira. Foram realizados testes em três diferentes variações da arquitetura proposta. Os resultados foram obtidos através da aplicação da arquitetura no domínio de aplicação de sensoriamento remoto, especificamente na classificação de pixels em imagens hiperespectrais. A rede neural utilizada foi uma versão simplificada de trabalhos anteriores na área para ser portada ao hardware. A arquitetura obtida, além de ser reconfigurável no sentido da FPGA, também tem seu comportamento mutável dependendo do tipo de camada de rede neural a ser processada. Resultados teóricos mostram um desempenho máximo de 14, 4GOP/s para a melhor variação da arquitetura, além de uma aceleração máxima de 4, 52× em relação a um processador AMD EPYC 7B12 de 2, 25GHz, de 8, 36× em relação à NVIDIA T4 e 3, 39× em relação a um AMD Ryzen 7 7800X3D. Tais resultados foram obtidos a partir da classificação de uma das imagens hiperespectrais e a melhor variação da arquitetura terminou com uma ocupação abaixo de 80% para os recursos da FPGA utilizada.Dissertação Localização hipocentral: um estudo comparativo entre metaheurísticas(Universidade Federal do Rio Grande do Norte, 2024-11-18) Silva, Arthur Anthony da Cunha Romão e; Carvalho, Bruno Motta de; Nascimento, Aderson Farias do; https://orcid.org/0000-0002-3961-5884; http://lattes.cnpq.br/8600906973888297; http://lattes.cnpq.br/0330924133337698; http://lattes.cnpq.br/2535790263841193; Santos, Edson José da Costa; Barboza, Francisco Márcio; Maia, Silvia Maria Diniz MonteiroA determinação da localização hipocentral utiliza técnicas para obter as coordenadas espaciais do hipocentro a partir de dados temporais observados em estações sismográficas. Essa abordagem tem aplicações que vão desde a caracterização geológica da crosta terrestre até o suporte à previsão de incidentes e à exploração de hidrocarbonetos. Este trabalho propõe a aplicação do algoritmo de otimização Otimizador por Lobos Cinzentos (OLC) e de sua versão hibridizada (Otimizador por Lobos Cinzentos Híbrido (OLCH)), que incorpora operadores genéticos de cruzamento, mutação, torneio e elitismo, como alternativa às metaheurísticas tradicionais utilizadas na inversão hipocentral. Inspirado no comportamento de matilhas de lobos cinzentos, o OLC, proposto por Seyedali Mirjalili em 2014, tem sido amplamente empregado em otimização, design de sistemas e aprendizado de máquina. Seus principais mecanismos — caça, encurralamento e captura — permitem explorar eficientemente o espaço de busca, encontrando soluções próximas ao ótimo global em problemas complexos. Os resultados foram comparados com algoritmos amplamente utilizados na inversão hipocentral, como o Gauss-Newton (GN), mas com a versão hibridizada com o Multi-Start (MS), denominada Gauss-Newton com Multi-Start (GM), além do Algoritmo Genético (AG) e do Otimizador por Enxame de Partículas (OEP), considerando critérios como custo da função objetivo, tempo computacional e convergência. Em testes com sismos sintéticos, o OLC e o OLCH superaram significativamente o OEP no custo da função objetivo durante o período de estabilização, enquanto o OLCH foi superior ao GM no custo total. Com dados reais, o OLCH destacou-se em relação ao OEP, tanto no custo da função objetivo das soluções médias quanto no período de estabilização. O OLC também superou o OEP, mas apenas no período de estabilização. Esses resultados ressaltam a viabilidade e as vantagens do OLC e do OLCH no contexto da localização hipocentral com dados sintéticos e reais, consolidando-os como metodologias inovadoras e alternativas para a localização hipocentral.Dissertação Framework Guimarães: apoiando a construção de testes semi-automatizados para aplicações em Arduino(Universidade Federal do Rio Grande do Norte, 2024-08-01) Negreiros, Sara Guimarães; Coelho, Roberta de Souza; Lucena, Márcia Jacyntha Nunes Rodrigues; http://lattes.cnpq.br/7982148962089986; http://lattes.cnpq.br/9854634275938452; http://lattes.cnpq.br/7082901769077209; Barbosa, Eiji Adachi Medeiros; Segundo, Francisco Carlos Gurgel da SilvaAs placas Arduino são utilizados em disciplinas de sistemas embarcados (SE) devido ao seu baixo custo e suporte da comunidade open-source. Este estudo investigou a importância de testes de componentes e sistemas no contexto do ensino de SE com a placa Arduino. Por meio de um survey com a comunidade Arduino e entrevistas com educadores foi apontado que os testes são realizados manualmente, o que limita a eficiência e dificulta a automação dos processos de verificação. Como resultado, foi desenvolvido o framework Guimarães, para realizar testes semi-automatizados, tanto em nível de componentes quanto de sistema integrando abordagens como o Behavior Driven Development (BDD) e modelagem com statecharts. Além disso, uma experiência prática foi conduzida no Instituto Metrópole Digital (IMD) onde os alunos desenvolveram e executaram testes com o framework, integrando as práticas de BDD. O feedback dos discentes destacou a importância dessas atividades para garantir que o projeto atenda aos requisitos propostos.Dissertação Vc-means: um novo algoritmo de agrupamento(Universidade Federal do Rio Grande do Norte, 2024-08-09) Martins, Nicolas Jacobino; Bedregal, Benjamin René Callejas; http://lattes.cnpq.br/4601263005352005; http://lattes.cnpq.br/5588197462832398; Canuto, Anne Magaly de Paula; Silva, Huliane Medeiros daEste estudo apresenta o desenvolvimento e a avaliação do algoritmo Vc-Means como uma abordagem inovadora para o agrupamento de dados. O Vector c-Means (Vc-Means) é baseado em um algoritmo previamente desenvolvido chamado CK-Means e é projetado para identificar padrões e agrupamentos específicos em conjuntos de dados. Foram realizados testes estatísticos em 20 bases de dados tradicionais, comparando e validando sua eficiência com três algoritmos conhecidos na literatura: K-Means, Fuzzy C-Means (FCM) e Gustafson-Kessel (GK). A avaliação foi feita utilizando índices de validação como o índice DB, Silhueta, Índice de Rand Ajustado, Calinski-Harabasz, Informação Mútua Ajustada e V-measure. Os resultados mostraram que o Vc-Means obteve um ótimo desempenho, sem diferença estatística significativa em relação aos outros algoritmos, e demonstrou uma eficiência notável em termos de tempo de processamento.Dissertação Desenvolvimento e avaliação de um software para apoiar experimentos com sistemas interativos baseados em interface cérebro-computador(Universidade Federal do Rio Grande do Norte, 2024-05-29) Lima, Franklin Matheus da Costa; Miranda, Leonardo Cunha de; https://orcid.org/0000-0003-1929-9391; http://lattes.cnpq.br/9064196799520278; https://orcid.org/0000-0002-8420-4865; http://lattes.cnpq.br/6918604953651306; Carvalho, Bruno Motta de; Pereira, Mônica Magalhães; Reis, Júlio César dos; Pereira, RobertoAs Interfaces Cérebro-Computador (BCIs, do inglês Brain-Computer Interfaces), que proporcionam uma interação com o computador através das atividades cerebrais do usuário, vêm, nos últimos anos, ganhando cada vez mais espaço devido ao avanço tecnológico que vivemos. No contexto das BCIs, a eletroencefalografia (EEG) é um dos métodos utilizados para realizar a leitura das atividades cerebrais, e dentre os dispositivos que costumam ser utilizados neste processo, podemos destacar o headset MindWave da NeuroSky. Nesta dissertação, um Software foi desenvolvido para auxiliar pesquisadores no desenvolvimento de estudos relacionados à área de BCI, especificamente, àqueles que fazem uso do MindWave. Este trabalho descreve, em detalhes, todo o contexto de utilização do Software e a documentação necessária para entender o seu funcionamento. As ferramentas presentes no Software são comentadas e todas as suas funcionalidades são apresentadas, visando expor todas as possibilidades que podem ser atingidas ao utilizar o Software desenvolvido. Por fim, o Software é avaliado através de um estudo piloto, que buscou verificar o seu funcionamento num cenário de pesquisa de BCI.Dissertação CLUPIR: um modelo para a classificação de linguagens de modelagem visual de software(Universidade Federal do Rio Grande do Norte, 2024-06-07) Seabra, João Manuel Pimentel; Silva, Lyrene Fernandes da; https://orcid.org/0000-0003-1772-6062; http://lattes.cnpq.br/6082948468501249; http://lattes.cnpq.br/0283092030882917; Miranda, Leonardo Cunha de; Lucena, Marcia Jacyntha Nunes Rodrigues; Araújo, Camila deAs Linguagens de Modelagem Visual de Software (LMVSs) desempenham um papel crucial ao facilitar os processos de análise e documentação de sistemas, bem como a comunicação entre os envolvidos. No entanto, a grande quantidade de linguagens disponíveis dificulta o processo de seleção de uma LMVS adequada pelo projetista de software para modelar uma determinada situação-problema. Esta pesquisa criou um modelo de classificação (CLUPIR) que objetiva organizar e catalogar LMVSs com base num conjunto de aspectos. Os modelos de classificação existentes e seus aspectos de classificação foram levantados por meio de um mapeamento sistemático da literatura, o que embasou a escolha dos aspectos de classificação do modelo CLUPIR. Ao final da pesquisa, para demonstrar a utilização do modelo, oito LMVSs foram classificadas. Depois disso, realizamos uma validação da utilidade do modelo com 30 profissionais da indústria de software.Dissertação Managing long-running asynchronous tasks in multi-tenant microservices(Universidade Federal do Rio Grande do Norte, 2024-05-16) Silva, Felipe Morais da; Cavalcante, Everton Ranielly de Sousa; https://orcid.org/0000-0003-3558-1450; http://lattes.cnpq.br/5521922960404236; http://lattes.cnpq.br/7243232425776112; Cacho, Nélio Alessandro Azevedo; Ferraz, Carlos André GuimarãesUma arquitetura de microsserviços multi-tenant envolvendo componentes com interações assíncronas e trabalhos em lote requer estratégias eficientes para gerenciar cargas de trabalho assíncronas. Este trabalho aborda essa questão no contexto de uma empresa líder no desenvolvimento de soluções de software tributário usado por muitas empresas nacionais e multinacionais no Brasil. Um processo crítico fornecido pelas soluções baseadas em nuvem da empresa envolve a integração tributária, que inclui a coordenação de tarefas complexas de cálculo de impostos e precisa ser apoiada por operações assíncronas usando um serviço de mensageria para garantir a ordem correta. Essas operações podem ser independentes entre si, o que caracteriza o processo paralelo; ou podem ser dependentes entre si, o que caracteriza o processo First In First Out (FIFO). Os processos FIFO possuem restrições adicionais em relação aos paralelos. Por este motivo, especificamos e implementamos duas abordagens para gerenciar cargas de trabalho assíncronas relacionadas à integração tributária dentro de uma arquitetura de microsserviços multitenant no contexto da empresa: (i) uma abordagem baseada em polling que emprega uma fila como um Distributed Lock (DL) e (ii) um abordagem baseada em push denominada Single Active Consumer (SAC) que depende da lógica do agente de mensagens para entregar mensagens. Essas abordagens visam alcançar uma alocação eficiente de recursos ao lidar com um número crescente de réplicas de contêineres e tenants. Esse trabalho também apresenta uma avaliação do desempenho das abordagens DL e SAC para esclarecer como as cargas de trabalho assíncronas impactam o gerenciamento de arquiteturas de microsserviços multi-tenant do ponto de vista de entrega e implantação.Dissertação Implantação de inteligência artificial nativa em sistemas IoSGT: uma abordagem holística(Universidade Federal do Rio Grande do Norte, 2024-04-30) Costa Filho, Paulo Eugênio da; Kreutz, Márcio Eduardo; Venâncio Neto, Augusto José; http://lattes.cnpq.br/1467664612924239; http://lattes.cnpq.br/6374279398246756; http://lattes.cnpq.br/8212965823478919; Rosário, Denis Lima do; Cunha, Eduardo NogueiraA demanda energética crescente aguça a busca por modernizações tecnológicas capazes de suprir as necessidades iminentes, assim como aumentam a preocupação em mitigar os impactos ambientais advindos com essa escalada. O estado da arte em Smart Grids remete a evidências do uso de técnicas de Inteligência Artificial (IA) em casos de uso IoSGT, visando revolucionar a maneira como a energia é produzida, transmitida e consumida. De fato, a IA tem o pressuposto de oferecer níveis de disrupção sem precedentes no setor elétrico, a partir de métodos de controle inteligentes que podem desbloquear novos fluxos de valor para os consumidores, ao mesmo tempo que permitem o suporte a um sistema altamente assertivo, confiável e resiliente. Entretanto, muita pesquisa ainda é necessária nessa área, como por exemplo o posicionamento de instâncias baseadas na IA ao longo do contínuo edge-cloud, tipos de técnicas e algoritmos para cada caso de uso, uso eficiente de análises preditivas capazes de prever demandas futuras, detecção de falhas, padrões de consumo e anomalias na rede elétrica que permitam a adoção de medidas proativas para aprimorar a confiabilidade da rede, entre muitas outras. Esta proposta de pesquisa tem como objetivo utilizar a previsão do consumo energético como uma ferramenta para otimizar o uso dos recursos, evitando o desperdício e, ao mesmo tempo, contribuindo para a preservação do meio ambiente, como também a classificação de dispositivos eletroeletrônicos afim de entender padrões de consumo. Essa abordagem será realizada por meio da implementação de uma arquitetura holística denominada IAIoSGT (Inteligência Artificial nativa em IoSGT). A IAIoSGT é projetada partindo do pressuposto de acelerar a adoção de técnicas de IA e Machine Learning (ML) em uma abordagem que integra de forma eficiente o processamento de dados desde o nível de borda (edge) até a nuvem (cloud). A avaliação da arquitetura IAIoSGT, incluindo sua conformidade, desempenho e viabilidade de implementação, foi conduzida em duas bancadas de testes distintas, abordando tanto dispositivos físicos quanto algoritmos de Aprendizado de Máquina. A primeira bancada de teste concentrou-se na classificação e identificação de dispositivos eletroeletrônicos conectados em uma mesma rede elétrica, explorando algoritmos de ML como KNN, SVM, MLP, NB e DT; o segundo teste abordou a predição de consumo energético comparando os algoritmos Naive e LSTM. Esses testes são essenciais para validar a eficácia e a robustez da abordagem proposta, contribuindo assim para o avanço do estado da arte em IA aplicada a Smart Grid (SG).Dissertação Técnicas de tolerância a falhas em perceptron multicamadas baseado em FPGA - estudo de caso: salve todas(Universidade Federal do Rio Grande do Norte, 2024-05-31) Ribeiro, Maria Fernanda Cabral; Pereira, Mônica Magalhães; http://lattes.cnpq.br/5777010848661813; http://lattes.cnpq.br/3171119836039554; Canuto, Anne Magaly de Paula; http://lattes.cnpq.br/1357887401899097; Lopes, Alba Sandyra Bezerra; Kastensmindt, Fernanda Gusmão de LimaO conceito de tolerância a falhas caracteriza-se como a capacidade de um sistema de manter sua correta operação mesmo após a ocorrência de falhas. Esta área de estudo surgiu na década de 1950, voltada para lidar com faltas em equipamentos militares e aeroespaciais que atuavam em ambientes hostis e/ou remotos, e desde então tem se mostrado um campo de estudos proeminente, em especial, com a popularização do uso de computadores e sistemas embarcados. É neste campo de pesquisa que se encontra o objeto de estudo deste trabalho: a aplicação de técnicas de tolerância a falhas em uma Rede Neural Artificial de arquitetura Perceptron Multicamadas (MLP) embarcada em FPGA. A rede MLP em questão compõe um sistema voltado para a segurança de mulheres que tem como objetivo identificar, através da rede MLP, possíveis situações de risco para as usuárias. Para tanto, o sistema conta com sensores de sinais vitais, movimentos bruscos e geolocalização que fornecem informações sobre a situação atual da usuária. Uma vez que a Rede MLP desempenha um papel crítico na identificação das situações de risco, faz-se necessária a aplicação de técnicas voltadas para o aumento da sua confiabilidade, visando uma maior segurança para a usuária. Assim sendo, este trabalho analisa os ganhos e impactos da aplicação de três técnicas de tolerância a falhas combinadas na MLP embarcada. As técnicas utilizadas incluem: o refinamento dos pesos e vieses dos neurônios das camadas de processamento da rede; alterações na arquitetura da MLP, envolvendo a remoção de neurônios ocultos menos sensíveis à falhas e a duplicação de neurônios ocultos mais sensíveis a falhas (técnica esta conhecida como Augmentation); e a Redundância Modular Tripla dos neurônios das camadas de entrada e de saída da rede. Os resultados obtidos com a aplicação das três técnicas mencionadas contribuíram para ganhos expressivos na confiabilidade geral do sistema. Destacam-se as vantagens da aplicação das técnicas de forma combinada, maximizando assim as melhoras em Confiabilidade para o sistema. Além disso, chama atenção também as vantagens da aplicação das técnicas de Refinamento dos Pesos e Vieses da Rede MLP e de Remoção de Neurônios Ocultos menos sensíveis a falhas, uma vez que estas técnicas não agregam custos adicionais ao projeto e, no caso da técnica de Remoção, ainda traz melhoras de processamento e latência do sistema.Dissertação Recuperação inteligente de desastres em sistemas de operação, gerenciamento e controle de infraestruturas 5G(Universidade Federal do Rio Grande do Norte, 2024-04-30) Santos, Charles Hallan Fernandes dos; Venâncio Neto, Augusto José; http://lattes.cnpq.br/1467664612924239; http://lattes.cnpq.br/0099358331049231; Immich, Roger Kreutz; https://orcid.org/0000-0003-2483-6382; http://lattes.cnpq.br/0535777592588490; Fontes, Ramon dos Reis; Silva, Felipe Sampaio Dantas daSoluções de gerenciamento para ecossistemas de telecomunicações baseadas em redes de quinta geração (5G, do inglês fifth generation) devem ser capazes de controlar os recursos da infraestrutura de maneira granular e automatizada. Ao adotar um modelo de gestão, as operadoras de serviço devem ter como objetivo atender os requisitos de qualidade dos seus clientes. Pensando nisso, as operadoras empregam centros de Operação, Gerenciamento e Controle (OMC, do inglês Operation, Management and Control), um ecossistema que envolve diferentes tecnologias e ferramentas que interoperam para fornecer funções de operação projetadas para garantir acordos de nível de serviço (SLA, do inglês Service Level Agreement) de forma contínua. Nesse sentido, a indisponibilidade de uma OMC pode representar um desastre para o provedor de serviços e seus usuários, tendo em vista a dependência dos dispositivos da infraestrutura de telecomunicação. Para garantir tolerância a falhas, sistemas de recuperação de desastre (DRS – Disaster Recovery Sistem) devem atuar sobre instâncias redundantes de OMC, onde a unidade de backup deve assumir o controle quando sua instância principal falha. Um DRS pode adotar características proativas, que detectam o desastre antes de sua ocorrência, maximizando a disponibilidade da OMC. Além disso, adoção de múltiplas instâncias de backup possui o potencial de aumentar as possibilidades de recuperação de uma OMC deficiente. Nesse sentindo, um DRS deve incorporar mecanismos de seleção para determinar o melhor backup para assumir as operações. Levando em consideração um DRS com detecção proativa de falhas, o algoritmo de seleção deve escolher a OMC reserva que realize a transição de sua execução e seus dados antes da ocorrência do desastre, de modo a aumentar sua disponibilidade. Para selecionar a OMC backup (i.e. candidata) mais apropriada, é necessário realizar um levantamento de índices de performance que determinem se um candidato é capaz de transferir a OMC principal dentro de um tempo estimado para a ocorrência da falha. Haja vista a ausência de mecanismos similares na literatura empregados no contexto de detecção e recuperação de desastres, esta pesquisa de mestrado se dedica à exploração de técnicas de Machine Learning para desenvolver um mecanismo de seleção de OMCs reservas. Neste contexto, ML é empregado para estimar o período necessário para migração de uma OMC para cada candidato, na hipótese de reduzir ou anular perdas de dados ao escolher a melhor OMC de reserva. Para tanto, é introduzido o iDRS (intelligent DRS), que se baseia em mecanismos inteligentes atuar na atribuição do controle dos OMCs, na hipótese de provisionar um sistema disponível para manter as redes 5G ao longo de sua vida útil. O iDRS coleta múltiplas informações que influenciam a migração do serviço para as localizações candidatas como métricas de performance da rede e dos recursos computacionais da infraestrutura virtualizada. A partir disso, um algoritmo de ML realiza a categorização dos candidatos em termos de estimativas de período de migração. Um estudo de caso baseado em testbed emulado atesta a eficácia do iDRS em termos de integridade dos dados da OMC comparado a algoritmos do estado-da-arte.Dissertação Geotrack: an end-to-end framework to support moving objects(Universidade Federal do Rio Grande do Norte, 2024-04-02) Silva, Alison Hedigliranes da; Cacho, Nélio Alessandro Azevedo; Lopes, Frederico Araújo da Silva; http://lattes.cnpq.br/9177823996895375; http://lattes.cnpq.br/4635320220484649; http://lattes.cnpq.br/4136158670357169; Aquino Júnior, Gibeon Soares de; Teixeira, Leopoldo MottaA proliferação do uso intensivo de dispositivos de geolocalização tem acarretado um desgaste considerável na vida útil das baterias desses aparelhos, resultando em dificuldades para o uso de determinadas aplicações. Diante dessa problemática, o presente estudo apresenta um framework abrangente desenvolvido com a finalidade de coletar, processar e visualizar dados de geolocalização em dispositivos móveis, com destaque para smartphones. O sistema em questão é constituído por uma biblioteca Android que possibilita o envio dos dados de geolocalização, ao mesmo tempo em que oferece opções de configuração para aprimorar a precisão e reduzir o consumo da bateria. Adicionalmente, foi desenvolvido um framework Java capaz de receber e processar esses dados, realizando integrações com extensões do PostGIS para garantir a obtenção de posições extremamente precisas. Por fim, uma biblioteca JavaScript foi implementada para receber e visualizar as geolocalizações armazenadas, proporcionando uma compreensão clara e intuitiva dos padrões geográficos subjacentes.Dissertação EDRaft: um algoritmo de consenso orientado à energia(Universidade Federal do Rio Grande do Norte, 2023-12-18) Barros, Glauber Mendes da Silva; Aquino Júnior, Gibeon Soares de; http://lattes.cnpq.br/1254338144161360; http://lattes.cnpq.br/3133071002168102; Delicato, Flávia Coimbra; Cacho, Nélio Alessandro AzevedoUma tendência que os sistemas computacionais têm acompanhado nos últimos anos é a necessidade de se adequarem à questões ambientais como a sustentabilidade e preservação ambiental. Com isso, uma abordagem que tem ganhado força é a colheita de energia, onde os dispostivos coletam energia de fontes renováveis no ambiente, diminuindo ou substituindo o uso de energia não renovável e baterias. Uma questão das fontes renováveis é a sua imprevisibilidade, visto que a quantidade de energia coletada vai depender de eventos externos, com variabilidade temporal e espacial. Um conceito que pode ser adotado para lidar com essa imprevisibilidade é a computação orientada à energia. Sistemas orientados à energia levam em consideração as suas necessidades energéticas, podendo adequar o seu comportamento de acordo com a sua situação energética naquele momento. Um paradigmas que cresce ao longo dos anos e esta cada vez mais presentes no cotidiano da população é a Internet das Coisas. No entanto, por ser diretamente baseado em fundamentos da área de Sistemas Distribuídos, herdam problemas e soluções clássicas dessa área. Um deles é o problema do consenso bizantino, que surge da tentativa de se obter concordância entre elementos que colaboram entre si em um cluster. Este trabalho tem como objetivo propor o EDRaft, uma evolução do algoritmo de consenso Raft baseando-se nos conceitos da computação orientada a energia. Essa evolução busca adequar a sua utilização em sistemas que coletam energia do ambiente, buscando lidar com a imprevisibilidade desse processo.Dissertação Algebraization in quasi-Nelson logics(Universidade Federal do Rio Grande do Norte, 2023-10-31) Lima Neto, Clodomir Silva; Rivieccio, Umberto; Almeida, João Marcos de; https://orcid.org/0000-0003-2601-8164; http://lattes.cnpq.br/3059324458238110; http://lattes.cnpq.br/0597230560325577; https://orcid.org/0000-0001-9835-9481; http://lattes.cnpq.br/6847191906266562; Santiago, Regivan Hugo Nunes; Biraben, Rodolfo ErtolaA lógica quase-Nelson é uma generalização recentemente introduzida da lógica construtiva com negação forte de Nelson para um cenário não involutivo. O presente trabalho se propõe a estudar a lógica de alguns fragmentos da lógica de quase-Nelson, a saber: pocrims (ℒQNP) e semihoops (ℒQNS); além da lógica de quase-N4-reticulados (ℒQN4). Isso é feito por meio de uma axiomatização através de um cálculo finito no estilo Hilbert. A principal questão que abordaremos é se a semântica algébrica de um determinado fragmento da lógica quase-Nelson (ou classe quase-N4-reticulados) pode ser axiomatizada por meio de equações ou quase-equações. A ferramenta matemática utilizada nesta investigação será a representação twist-álgebra. Chegando à questão da algebrização, lembramos que a lógica quase-Nelson (como extensão de ℱℒew) é algebrizável no sentido de Blok e Pigozzi. Além disso, mostramos a algebrizabilidade de ℒQNP, ℒQNS e LQN4, que é BPalgebrizável com o conjunto de equações definidoras E(x) := {x = x → x} e o conjunto de fórmulas de equivalência ∆(x, y) := {x → y, y → x, ∼ x →∼ y, ∼ y → ∼ x}.
