Implementación de Reactive Extensions para la JVM de Java que permite componer programas asíncronos y basados en eventos mediante secuencias observables.
p-org/P
Lenguaje de programación basado en máquinas de estados para modelar formalmente y comprobar de forma sistemática la corrección de sistemas distribuidos.
- Estrellas
- 3,721
- Forks
- 225
- Issues abiertos
- 34
- Último commit
- hace 2 meses
¿Qué es?
P permite a los desarrolladores modelar el diseño de un sistema como un conjunto de máquinas de estados que se comunican y, después, usa motores de razonamiento automatizado para comprobar que el diseño cumple sus especificaciones de corrección. Está dirigido a sistemas distribuidos y controlados por eventos, donde las distintas intercalaciones de mensajes y los fallos hacen que sea difícil detectar errores con las pruebas convencionales.
P Checker explora sistemáticamente los posibles órdenes de los mensajes y los escenarios de fallo para descubrir errores en casos límite. El proyecto también incluye PEx y PVerifier como backends adicionales, una CLI con un compilador que informa de varios errores de tipos en cada pasada, y PObserve, que comprueba los registros de servicios en producción frente a las especificaciones de P. PeasyAI genera máquinas de estados y controladores de pruebas con ayuda de IA, y se integra con Cursor y Claude Code mediante MCP.
El proyecto se mantiene mediante la colaboración entre la industria y el ámbito académico, y el README indica que equipos de AWS lo usan en servicios como S3, DynamoDB y EC2. Se puede instalar mediante NuGet o una imagen de Docker que incluye la CLI y sus dependencias.
Funciones clave
- 01Modela sistemas como máquinas de estados que se comunican, con especificaciones de seguridad y vivacidad.
- 02Explora sistemáticamente las intercalaciones de mensajes y los fallos para encontrar errores difíciles de detectar.
- 03De forma predeterminada, el compilador informa de todos los errores de tipos en una sola pasada; también hay un modo estricto.
- 04PObserve valida en tiempo de ejecución los registros de servicios frente a las especificaciones de P.
- 05PeasyAI genera máquinas de estados y controladores de pruebas, y se integra con Cursor y Claude Code mediante MCP.
Casos de uso
- Verificar el diseño de protocolos distribuidos o las interacciones entre microservicios antes de implementarlos.
- Encontrar errores de concurrencia y de gestión de fallos que las pruebas de integración no detectan.
- Comprobar los registros de servicios en producción frente a una especificación formal existente.
- Usar herramientas de IA para crear borradores de modelos P a partir de documentos de diseño.
Inicio rápido
- 1
Ejecuta la imagen oficial de Docker, que incluye P CLI y sus dependencias
docker run --rm -it -v "$PWD":/workspace ghcr.io/p-org/p:latest - 2
Para instalarlo localmente, sigue la guía de instalación del sitio del proyecto
Antes de usarlo
- La configuración local requiere .NET SDK, JDK, Maven y graphviz, así que usar la imagen de Docker es la opción más sencilla.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es P?
- Lenguaje de programación basado en máquinas de estados para modelar formalmente y comprobar de forma sistemática la corrección de sistemas distribuidos. P permite a los desarrolladores modelar el diseño de un sistema como un conjunto de máquinas de estados que se comunican y, después, usa motores de razonamiento automatizado para comprobar que el diseño cumple sus especificaciones de corrección. Está dirigido a sistemas distribuidos y controlados por eventos, donde las distintas intercalaciones de mensajes y los fallos hacen que sea difícil detectar errores con las pruebas convencionales.
- ¿P es gratuito? ¿Qué licencia tiene?
- P es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿P sigue mantenido?
- Actualizado en los últimos 6 meses. El último commit de P fue el 3 sept 2026.
- ¿Para qué puedo usar P?
- Verificar el diseño de protocolos distribuidos o las interacciones entre microservicios antes de implementarlos. Encontrar errores de concurrencia y de gestión de fallos que las pruebas de integración no detectan. Comprobar los registros de servicios en producción frente a una especificación formal existente. Usar herramientas de IA para crear borradores de modelos P a partir de documentos de diseño.
- ¿Cómo se instala P?
- Ejecuta la imagen oficial de Docker, que incluye P CLI y sus dependencias: docker run --rm -it -v "$PWD":/workspace ghcr.io/p-org/p:latest Para instalarlo localmente, sigue la guía de instalación del sitio del proyecto
- ¿Dónde consigo P?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/p-org/P
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Un runtime portable que ofrece a las aplicaciones distribuidas y a los agentes de IA workflows durables, seguridad entre servicios, gestión de estado y pub/sub mediante un sidecar.
Framework de modelo de actores para Go, inspirado en Erlang/OTP, para crear sistemas distribuidos supervisados y transparentes a la red.
Restate es un runtime para crear aplicaciones resilientes con ejecución durable, mensajería confiable y estado durable que resisten fallas de infraestructura.
Una herramienta para verificar formalmente código Rust y comprobar especificaciones en todas las ejecuciones posibles, en lugar de añadir comprobaciones en tiempo de ejecución.
Plugin de C++ para Godot 4 que incorpora árboles de comportamiento y máquinas de estados jerárquicas para crear IA de juegos, con editor y depurador visual.