Skip to content

Cibeelization é um projeto de sistemas multiagentes (SMA) que busca simular as dinâmicas do ecossistema de uma colmeia de abelhas utilizando o framework JADE.

Notifications You must be signed in to change notification settings

gitbmvb/Cibeelization

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🐝 Cibeelization

"O todo sem a parte não é todo; A parte sem o todo não é parte; Mas se a parte o faz todo, sendo parte; Não se diga, que é parte, sendo todo." - Gregório de Matos

Disciplina: FGA0210 - PARADIGMAS DE PROGRAMAÇÃO - T01
Número do Grupo: 02
Paradigma: SMA

Alunos

Matrícula Aluno
21/1039288 Bruno Campos Ribeiro
21/1039297 Bruno Martins Valério Bomfim
20/2016462 Heitor Marques
21/1029352 Igor e Silva Penha
19/0057858 José Luís Ramos Teixeira
21/1029405 Leonardo Gonçalves Machado
20/2016767 Lucas Felipe Soares
20/0062379 Marcos Vinícius de Deus
20/2045268 Raquel T. Eucária Pereira da Costa
21/2002907 Zenilda Pedrosa Vieira

Sobre

Cibeelization é um projeto que visa simular as dinâmicas de uma colmeia de abelhas, onde as abelhas - com classe, funções e comportamento definidos - interagem entre si em pról do desenvolvimento e equilíbrio da sociedade como um todo, criando assim um ecossistema dinâmico e complexo.

O projeto foi desenvolvido na linguagem Java e utiliza a tecnologia de sistemas multiagentes (SMA), baseando-se no framework JADE e utilizando o protocolo FIPA para comunicação e troca de mensagens entre os agentes.

Bee Movie (2007).

As classes de agentes presentes no Cibeelization incluem:

  • Rainha: Cria novas operárias periodicamente.
  • Operárias: Produzem mel/Geleia Real ou atacam intrusos quando detectados.
  • Limpadoras: Limpam os resíduos gerados pela produção de mel e geleia real pelas abelhas operárias. Tal produção é interrompida quando a quantidade de resíduo atinge um limite máximo.
  • Intruso: Aparece periodicamente e precisa ser combatido pelas operárias.
  • Zangão: Ajuda na proteção da colmeia e na reprodução com a rainha.

Mais detalhes sobre os agentes, os requisitos funcionais e os não-funcionais podem ser lidos na íntegra na documentação da descrição do projeto.

Screenshots



Imagem 1: Execução do Projeto
Fonte: Raquel Eucaria, 2025.


Instalação

  1. Certifique-se de ter os pré-requisitos instalados:

    • Java Development Kit (JDK) 8 ou superior.
    • JADE Framework.
    • Make (para usar o Makefile).
  2. Clone o repositório:

    git clone https://github.com/UnBParadigmas2024-2/2024.2_G2_SMA_Cibeelization
    
    cd 2024.2_G2_SMA_Cibeelization

Uso

Para executar o projeto, basta executar o makefile através dos seguintes passos.

  1. Certifique-se de ter instalado o projeto corretamente (seção anterior).

  2. Uma vez dentro do projeto, navegue até a pasta principal:

    cd cibeelization/
    
  3. Execute o makefile:

    make
    
  4. Após finalizar a execução, limpe os arquivos de compilação:

    make clean
    

Vídeo

Vídeo

Participações

Nome do Membro Contribuição Significância da Contribuição para o Projeto (Excelente/Boa/Regular/Ruim/Nula) Comprobatórios
Bruno Campos Ribeiro (1) Participação nas reuniões do grupo, definição e elicitação de requisitos para o projeto.
(2) Auxilio no funcionamento da Rainha.
(3) Realização da rinha de rainhas.
(4) Operárias se tornando rainha.
(5) BugFix.
Excelente (2)/(3)/(4) Commit e5a9347
(5) Commit 389d16c, Commit a9be9a1
Bruno Martins Valério Bomfim (1) Participação nas reuniões do grupo, definição e elicitação de requisitos para o projeto.
(2) Estudos: criação de prints para debug.
(3) Estudos: teste de criação do agente Planta (não foi para a upstream).
(4) Criação da primeira versão funcional do programa.
(5) Abelha-rainha: criação, implementação e aperfeiçoamento.
(6) Abelha-operária: criação, implementação e aperfeiçoamento.
(7) Abelha-zangão: criação, implementação e aperfeiçoamento.
(8) Abelha-limpadora: criação, implementação e aperfeiçoamento.
(9) Bugfix: correção de bugs, ajuste de constantes, testes.
(10) Documentação: escrita do README, documentação técnica do projeto, participações.
(11) Documentação: criação do gitignore.
(12) Participação do vídeo de entrega.
(13) Auxílio da criação da InspectorBee
Excelente (1) Issue #2
(2) Branch consertaPrints
(3) Branch plant
(4) Commit 3f92d58
(5) Commit ffaa000, Commit a034add
(6) Commit 79cf024, Commit a034add
(7) Commit 3f92d58
(8) Commit d87b2be, Commit 1e55bd3, Commit 5ffa99f, Commit 389d16c
(9) Commit a034add, Commit 389d16c, Commit a9be9a1
(10) Commit d6850b6, Commit e7b182b, Commit 3d397f8, Commit 91480da, Commit 29dea0d, Commit e753b83
(11) Commit 511e82a
(12) Vídeo
(13) Commit 7c0ff7d
Heitor Marques (1) Correção do bug de rastreamento residual mesmo com .gitignore, solucionando problemas no repositório.
(2) Implementação inicial do agente IntruderBear, criando a mecânica de intrusos que interagem com a colmeia.
(3) Desenvolvimento da lógica para geração periódica de intrusos, controlando o limite e a detecção pela Rainha.
(4) Expansão da interação do IntruderBear: roubo de mel, chance de atacar abelhas e possibilidade de ser repelido.
(5) Correção de bugs relacionados a mortes duplicadas causadas pelos intrusos.
Excelente (1) Correção de bug no rastreamento do repositório
(2) Implementação inicial do IntruderBear
(3) Lógica para geração periódica de intrusos
(4) Expansão das interações do IntruderBear
(5) Correção de mortes duplicadas causadas por intrusos
Igor e Silva Penha (1) Participação nas reuniões do grupo, definição e elicitação de requisitos para o projeto.
(2) Auxilio no funcionamento da Rainha.
(3) Criação do voo nupicial.
(4) Realização da rinha de rainhas.
(5) Criação da abelha limpadora.
(6) Operárias se tornando rainha.
(7) Implementação da alimentação e morte por fome da operária e limpadora.
(8) Geração de resíduos ao produzir mel.
(9) Produção da abelha Inspetora.
(10) Ajustes das constantes.
(11) Correção de bugs.
(12) Documentação.
Excelente (2)/(4)/(6) rinha
(3) nupicias
(5) limpadora
(7) fome
(8) residuos
(9) inspetora
(10) constantes
(11) bug fixes
José Luís Ramos Teixeira (1) Correção do bug de rastreamento residual mesmo com .gitignore, solucionando problemas no repositório.
(2) Implementação inicial do agente IntruderBear, criando a mecânica de intrusos que interagem com a colmeia.
(3) Desenvolvimento da lógica para geração periódica de intrusos, controlando o limite e a detecção pela Rainha.
(4) Expansão da interação do IntruderBear: roubo de mel, chance de atacar abelhas e possibilidade de ser repelido.
(5) Correção de bugs relacionados a mortes duplicadas causadas pelos intrusos.
(6) Implemento na documentação das interações entre os agentes na colmeia, facilitando o entendimento do funcionamento do projeto.
Excelente (1) Correção de bug no rastreamento do repositório
(2) Implementação inicial do IntruderBear
(3) Lógica para geração periódica de intrusos
(4) Expansão das interações do IntruderBear
(5) Correção de mortes duplicadas causadas por intrusos
(6) Documentação das interações na colmeia
Leonardo Gonçalves Machado (1) Sugestão do tema esolhido para desenvolver o projeto.
(2) Implementação de funcionalidades da Rainha.
(3) Criação do voo nupicial.
(4) Criação da rinha de rainhas.
(5) Morte e sucessão das rainhas.
(6) Implementação do ciclo de alimentação e morte por fome da operária e limpadora.
(7) Criação da abelha Inspetora.
(8) Ajustes das constantes.
(9) Correção de bugs.
Excelente Lista de Commits
Lucas Felipe Soares (1) Participação na elicitação dos requisitos do projeto.
(2) Criação base das abelhas operárias, limpadoras, Zangão e Rainha.
(3) Implementação da função de criar mel por parte das operárias, criação de novas abelhas pela abelha rainha e limpeza pelas limpadoras. Criei funções e eventos de mortes e alimentação nesses casos.
(4) Auxiliei nos estudos e configurações iniciais do projeto.
(5) Documentação geral do projeto e seus requisitos.
Excelente Auxiliei em diversas etapas que podem ser visualizadas via histórico do github em commits autorais e com co-author. Também possuo um histórico ativo de participações em nosso grupo e reuniões/Aulas presenciais. A seguir deixarei alguns dos commits mais relevantes de maneira a melhorar a visualização:
Primeira Versão funcional do projeto(criação das abelhas rainha, zangão e operária)
coleta de pólem.
Produção de Mel.
Criação da Abelha Limpadora.
Documentação dos Requisitos do projeto.
Etapa de configuração do Jade
Marcos Vinícius de Deus
Raquel T. Eucaria Pereira da Costa (1) Documentação, elicitação dos requisitos do projeto.
(2). Tutoriais de instalação para auxílio do grupo () Configuração inicial para produção do projeto.
(3) Implementação da condição de parada da produção de mel
(4) Interface inicial
(5) Ajustes e Correções
Excelente (1)
(2)
(3,4 e 5)
Zenilda Pedrosa Vieira (1) Implementação da condição de parada da produção de mel e
Criação de uma interface para acompanhar o funcionamento da colmeia
(2) Documento inicial de descrição do projeto
(3) Documento final de descrição do projeto
Excelente Commit (1)
Commit (2)
Commit (3)

Outros

Acesse o relato de cada membro do grupo referente às lições aprendidas, percepções, contribuições, fragilidades e trabalhos futuros através dos links abaixo:

Fontes

[1] SERRANO, Milene. Materiais da Disciplina de Paradigmas de Programação. Faculdade de Ciências e Tecnologias em Engenharia (FCTE) – Campus Gama, Universidade de Brasília (UnB). Disponível em: link. Acesso em: 06 jan. 2025.

[2]TELECOM ITALIA LAB. JADE (Java Agent DEvelopment Framework). Disponível em: https://jade.tilab.com/. Acesso em: 27 jan. 2025.

[3] FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS. FIPA specifications. Disponível em: http://www.fipa.org/. Acesso em: 26 jan. 2025.

[4] CIRO-C. Ants-JADE. Disponível em: https://github.com/ciro-c/ants-jade. Acesso em: 17 jan. 2024.

About

Cibeelization é um projeto de sistemas multiagentes (SMA) que busca simular as dinâmicas do ecossistema de uma colmeia de abelhas utilizando o framework JADE.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 97.5%
  • Makefile 2.5%