Skip to content

Commit e7bbb97

Browse files
authored
Merge pull request #12 from SMA-building-blocks/improve-readme
📝 improve readme documentation
2 parents 8c1633e + b56649f commit e7bbb97

File tree

5 files changed

+48
-4
lines changed

5 files changed

+48
-4
lines changed

README.md

Lines changed: 48 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,59 @@
99

1010
*Tabela 1: Identificação dos Autores*
1111

12+
## Métricas do *Building Block*
13+
14+
[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=tcc-sma-andre-gabriel_simple-voting-structure&metric=ncloc)](https://sonarcloud.io/summary/new_code?id=tcc-sma-andre-gabriel_simple-voting-structure)
15+
[![Duplicated Lines (%)](https://sonarcloud.io/api/project_badges/measure?project=tcc-sma-andre-gabriel_simple-voting-structure&metric=duplicated_lines_density)](https://sonarcloud.io/summary/new_code?id=tcc-sma-andre-gabriel_simple-voting-structure)
16+
[![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=tcc-sma-andre-gabriel_simple-voting-structure&metric=reliability_rating)](https://sonarcloud.io/summary/new_code?id=tcc-sma-andre-gabriel_simple-voting-structure)
17+
18+
[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=tcc-sma-andre-gabriel_simple-voting-structure&metric=bugs)](https://sonarcloud.io/summary/new_code?id=tcc-sma-andre-gabriel_simple-voting-structure)
19+
[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=tcc-sma-andre-gabriel_simple-voting-structure&metric=security_rating)](https://sonarcloud.io/summary/new_code?id=tcc-sma-andre-gabriel_simple-voting-structure)
20+
[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=tcc-sma-andre-gabriel_simple-voting-structure&metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=tcc-sma-andre-gabriel_simple-voting-structure)
21+
22+
[![SonarQube Cloud](https://sonarcloud.io/images/project_badges/sonarcloud-dark.svg)](https://sonarcloud.io/summary/new_code?id=tcc-sma-andre-gabriel_simple-voting-structure)
23+
1224
## Descrição
1325

1426
O *building block* contido neste repositório tem por objetivo a implementação de uma Estrutura de Votação Simples, onde é proposto que o agente mediador escolha um valor numérico inteiro dado um intervalo pré-definido e que os agentes votantes busquem, dentro deste intervalo, escolher um número. O agente votante cuja escolha numérica mais se aproximar do valor definido pelo mediador é estabelecido como o vencedor. Há também a possibilidade de empate.
1527

16-
<!-- ### Projeto em Execução
28+
Inicialmente, o agente *creator* instancia todo o cenário para a execução das atividades do *building block*, criando os agentes votantes e o mediador das possíveis votações, para além de enviar uma mensagem de *start* para um agente votante escolhido randomicamente, a qual desencadeará toda a votação que será realizada.
29+
30+
O agente votante, tendo recebido uma mensagem de *start* por parte do agente *creator*, envia ao mediador uma mensagem solicitando a realização de uma votação, a qual é respondida pelo mesmo com um código identificador da votação a ser realizada e os valores mínimo e máximo para a eventual escolha dos votos.
31+
32+
O agente votante que solicitou a eleição, tendo recebido as informações iniciais da mesma pelo agente mediator, envia aos demais agentes votantes um convite para a mesma. Todos os agentes participantes da votação se registram nas páginas amarelas (i.e., no *DF*) com o código recebido, possibilitando assim a identificação de todos os participantes da mesma. O agente votante também se responsabiliza por informar ao mediador o quórum de agentes votantes convidados para a eleição.
33+
34+
Uma vez que todos os agentes votantes tenham se registrado na votação e informado o mesmo ao agente mediador o mesmo, este então solicita os votos a todos os participantes.
35+
36+
Os agentes votantes então escolhem um número randômico dentre o intervalo inicialmente fornecido e o enviam ao mediador. O agente votante que escolher o número mais próximo ao inicialmente escolhido pelo mediador é declarado o vencedor da votação. Há também a possibilidade de empate.
37+
38+
Por fim, o agente mediador informa os vencedores a todos os agentes votantes participantes e se responsabiliza por apagar todas as informações referentes à votação executada, permitindo assim que outras votações sejam requisitadas.
39+
40+
## Projeto em Execução
41+
42+
Abaixo, na *Figura 1*, são apresentados os agentes participantes da votação através da visualização fornecida pelo *sniffer*. Nela, é possível ver o agente *creator*, nomeado por "simple_voting_structure", o agente mediador e os agentes votantes.
43+
44+
<img src="assets/figura1.png" alt="Visualização dos Agentes pelo *Sniffer*">
45+
46+
*Figura 1: Visualização dos Agentes pelo *Sniffer**
47+
48+
Já na *Figura 2*, vista abaixo, é possível ver a mensagem de *start* enviada do agente votante escolhido para o agente mediador, solicitando assim o início de uma votação.
49+
50+
<img src="assets/figura2.png" alt="Mensagem de *Start* Solicitando a Realização de uma Votação">
51+
52+
*Figura 2: Mensagem de *Start* Solicitando a Realização de uma Votação*
53+
54+
Em seguida, na *Figura 3*, é possível ver a mensagem retornada do *mediator* para o agente votante com os dados respectivos à votação a ser realizada (i.e., o código identificador da votação e os limiares inferiores e superiores da votação).
55+
56+
<img src="assets/figura3.png" alt="Mensagem com as Informações da Votação">
57+
58+
*Figura 3: Mensagem com as Informações da Votação*
59+
60+
Por fim, é apresentado na *Figura 4* a mensagem contendo o voto de um dos agentes participantes da votação, enviado ao agente *mediator*.
1761

18-
<img src="" alt="Descrição do Print">
62+
<img src="assets/figura4.png" alt="Mensagem com o Voto Enviado ao Mediador">
1963

20-
*Figura 1: Print do Projeto em Execução* -->
64+
*Figura 4: Mensagem com o Voto Enviado ao Mediador*
2165

2266
## Requisitos Técnicos
2367

@@ -70,7 +114,7 @@ make build
70114
make run
71115
```
72116

73-
- É possível alterar a quantidade de agentes participantes ao passar a variável **QUORUM** seguida do número desejado, como pode ser visto abaixo (onde N representa o número desejado de agentes):
117+
- É possível alterar a quantidade de agentes participantes ao passar a variável **QUORUM** seguida do número desejado, como pode ser visto abaixo (onde N representa o número desejado de agentes):
74118

75119
```bash
76120
make build-and-run QUORUM=N"

assets/figura1.png

50 KB
Loading

assets/figura2.png

66.9 KB
Loading

assets/figura3.png

68.4 KB
Loading

assets/figura4.png

67.3 KB
Loading

0 commit comments

Comments
 (0)