Repolode
p-org

p-org/P

Linguagem de programação baseada em máquinas de estados para modelar formalmente e verificar sistematicamente a correção de sistemas distribuídos.

Estrelas
3,721
Forks
225
Issues abertas
34
Último commit
há 2 meses

O que é?

P permite que desenvolvedores modelem o design de um sistema como um conjunto de máquinas de estados que se comunicam e, em seguida, usa mecanismos automatizados de raciocínio para verificar se o design atende às especificações de correção. A linguagem é voltada a sistemas distribuídos e orientados a eventos, nos quais as diferentes ordenações de mensagens e as falhas dificultam encontrar bugs com testes convencionais.

O P Checker explora sistematicamente possíveis ordenações de mensagens e cenários de falha para revelar bugs em casos extremos. O projeto também inclui PEx e PVerifier como backends adicionais, uma CLI com um compilador que relata vários erros de tipo por execução e o PObserve, que verifica logs de serviços em produção com base em especificações P. O PeasyAI oferece geração de máquinas de estados e drivers de teste em P com auxílio de IA, integrando-se ao Cursor e ao Claude Code via MCP.

O projeto é mantido em colaboração entre a indústria e a academia, e o README relata seu uso por equipes da AWS em serviços como S3, DynamoDB e EC2. A instalação está disponível via NuGet ou por uma imagem Docker que inclui a CLI e suas dependências.

Recursos principais

  • 01Modela sistemas como máquinas de estados que se comunicam, com especificações de segurança e vivacidade.
  • 02Explora sistematicamente diferentes ordenações de mensagens e falhas para encontrar bugs difíceis de detectar.
  • 03Por padrão, o compilador relata todos os erros de tipo em uma única execução; também há um modo estrito.
  • 04O PObserve valida logs de serviços com base em especificações P em tempo de execução.
  • 05O PeasyAI gera máquinas de estados e drivers de teste, integrando-se ao Cursor e ao Claude Code via MCP.

Casos de uso

  • Verificar o design de protocolos distribuídos ou interações entre microsserviços antes da implementação.
  • Encontrar bugs de concorrência e de tratamento de falhas que passam despercebidos nos testes de integração.
  • Verificar logs de serviços em produção com base em uma especificação formal existente.
  • Usar ferramentas de IA para criar rascunhos de modelos P a partir de documentos de design.

Início rápido

  1. 1

    Execute a imagem oficial do Docker, que inclui o P CLI e suas dependências

    docker run --rm -it -v "$PWD":/workspace ghcr.io/p-org/p:latest
  2. 2

    Para instalar localmente, siga o guia de instalação no site do projeto

Antes de usar

  • A configuração local exige .NET SDK, JDK, Maven e graphviz, então usar a imagem do Docker é a opção mais simples.

Em coleções

Tópicos

Perguntas frequentes

O que é P?
Linguagem de programação baseada em máquinas de estados para modelar formalmente e verificar sistematicamente a correção de sistemas distribuídos. P permite que desenvolvedores modelem o design de um sistema como um conjunto de máquinas de estados que se comunicam e, em seguida, usa mecanismos automatizados de raciocínio para verificar se o design atende às especificações de correção. A linguagem é voltada a sistemas distribuídos e orientados a eventos, nos quais as diferentes ordenações de mensagens e as falhas dificultam encontrar bugs com testes convencionais.
P é gratuito? Qual é a licença?
P é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
P ainda é mantido?
Atualizado nos últimos 6 meses. O último commit de P foi em 3 de set. de 2026.
Para que posso usar P?
Verificar o design de protocolos distribuídos ou interações entre microsserviços antes da implementação. Encontrar bugs de concorrência e de tratamento de falhas que passam despercebidos nos testes de integração. Verificar logs de serviços em produção com base em uma especificação formal existente. Usar ferramentas de IA para criar rascunhos de modelos P a partir de documentos de design.
Como instalar P?
Execute a imagem oficial do Docker, que inclui o P CLI e suas dependências: docker run --rm -it -v "$PWD":/workspace ghcr.io/p-org/p:latest Para instalar localmente, siga o guia de instalação no site do projeto
Onde consigo P?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/p-org/P

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados