{"id":18508579,"url":"https://github.com/camilafbarcellos/lamportclocksim","last_synced_at":"2026-01-24T22:01:54.199Z","repository":{"id":188540619,"uuid":"678927664","full_name":"camilafbarcellos/LamportClockSim","owner":"camilafbarcellos","description":"Lamport timestamp algorithm simulator for logical clocks - Simulador do Algoritmo de Lamport para relógios lógicos desenvolvido para a disciplina de Sistemas Distribuídos II (2023/2)","archived":false,"fork":false,"pushed_at":"2023-08-21T22:22:43.000Z","size":5,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-17T02:23:27.200Z","etag":null,"topics":["distributed-systems","lamport-algorithm","logical-clocks"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/camilafbarcellos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-08-15T17:54:38.000Z","updated_at":"2023-08-15T18:47:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"83d3dd74-5e20-45ab-8fbc-8958e84b243a","html_url":"https://github.com/camilafbarcellos/LamportClockSim","commit_stats":null,"previous_names":["camilafbarcellos/lamportclocksim"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/camilafbarcellos/LamportClockSim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camilafbarcellos%2FLamportClockSim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camilafbarcellos%2FLamportClockSim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camilafbarcellos%2FLamportClockSim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camilafbarcellos%2FLamportClockSim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/camilafbarcellos","download_url":"https://codeload.github.com/camilafbarcellos/LamportClockSim/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camilafbarcellos%2FLamportClockSim/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28737815,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-24T21:19:41.845Z","status":"ssl_error","status_checked_at":"2026-01-24T21:13:38.675Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["distributed-systems","lamport-algorithm","logical-clocks"],"created_at":"2024-11-06T15:14:46.965Z","updated_at":"2026-01-24T22:01:54.152Z","avatar_url":"https://github.com/camilafbarcellos.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Simulador de Relógios Lógicos de Lamport (_Lamport Clock Simulator_)\n\nEste é um simulador em Python que implementa o **algoritmo de Lamport para relógios lógicos**. O programa permite que você defina o número de processos e gere vetores de tempos para cada processo, com incrementos aleatórios. Você também pode simular eventos entre processos, onde os tempos são atualizados de acordo com as regras do algoritmo de Lamport.\n\nPrograma desenvolvido como atividade da disciplina de Sistemas Distribuídos II no semestre 2023/2 do IFSul.\n\n## Como Utilizar\n\n1. Insira o **número de processos** que deseja simular.\n\n\u003e Será gerado um vetor de tempos para cada processo com incrementos aleatórios.\n\n2. Insira o número do **processo de origem** e o **tempo de origem** para o evento.\n\n3. Insira o número do **processo de destino** e o **tempo de destino** para o evento.\n\n\u003e **Obs.:** ao informar o tempo de origem/destino, deve-se informar o seu **índice** no vetor do processo\n\n4. Após a simulação, informe se deseja ou não realizar outra (s/n).\n\n## Notas\n\n- O programa utiliza a biblioteca ``random`` para gerar incrementos aleatórios nos vetores de tempos.\n\n- O algoritmo de Lamport atualiza os tempos de acordo com as regras do algoritmo, garantindo que o tempo de destino seja maior que o tempo de origem.\n\n- Caso o tempo de destino seja menor que o tempo de origem, o algoritmo de Lamport irá ajustar todo o vetor de tempos do processo de destino mantendo a frequência original.\n\n- Certifique-se de seguir as instruções no terminal para inserir valores válidos para os processos e tempos conforme o exemplo a seguir.\n\n## Exemplo de Uso\n\n```\n* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n*                  \u003e Simulador de Relógios Lógicos de Lamport  \u003c                  *\n*                                                                                 *\n*                        Desenvolvido por Camila Barcellos                        *\n*                        Sistemas Distribuídos II - 2023/2                        *\n* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\nNúmero de processos: 3\n\nRelógios lógicos:\nP       t0      t1      t2      t3      t4      t5      t6      t7      t8      t9\n----------------------------------------------------------------------------------\nP1      0       1       2       3       4       5       6       7       8       9\nP2      0       3       6       9       12      15      18      21      24      27\nP3      0       8       16      24      32      40      48      56      64      72\n\nProcesso de origem: 3\nTempo de origem: 2\nProcesso de destino: 1\nTempo de destino: 4\n\nRelógios lógicos antes da simulação:\nP       t0      t1      t2      t3      t4      t5      t6      t7      t8      t9\n----------------------------------------------------------------------------------\nP1      0       1       2       3       4       5       6       7       8       9\nP2      0       3       6       9       12      15      18      21      24      27\nP3      0       8       16      24      32      40      48      56      64      72\n\nEVENTO P3(16) → P1(4)\n  Emissor: P[2][2] = 16\n  Receptor: P[0][4] = 4\n\nRelógios lógicos após a simulação:\nP       t0      t1      t2      t3      t4      t5      t6      t7      t8      t9\n----------------------------------------------------------------------------------\nP1      0       1       2       3       17      18      19      20      21      22\nP2      0       3       6       9       12      15      18      21      24      27\nP3      0       8       16      24      32      40      48      56      64      72\n```\n\n_© [Camila Barcellos](https://github.com/camilafbarcellos) 2023 - IFSul_","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcamilafbarcellos%2Flamportclocksim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcamilafbarcellos%2Flamportclocksim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcamilafbarcellos%2Flamportclocksim/lists"}