Skip to content
master
Switch branches/tags
Code

Latest commit

* Added the mkdocs website

* Added the required documentation, getting started to add the tutorials now.

* adding documentation

* Adding more details into the documentation and tutorials

* Adding images into the documentation

* Added statements documentation for P
650fefb

Git stats

Files

Permalink
Failed to load latest commit information.

Modular and Safe Programming for Distributed Systems

NuGet GitHub license GitHub Action (CI on Windows) GitHub Action (CI on Ubuntu) GitHub Action (CI on MacOS)

P is a state machine based programming language for modeling and specifying complex distributed systems. P allows the programmer to specify the system as a collection of interacting state machines, which communicate with each other using events. P unifies modeling, specifying, implementing, and testing into one activity for the programmer. Not only can a P program be compiled into executable code, but it can also be systematically tested using Model Checking.

P is currently being used extensively inside Amazon (AWS) for performing analysis of complex distributed systems. P was used to implement and validate the USB device driver stack that ships with Microsoft Windows 8 and Windows Phone. We have also used P for programming safe robotics systems.

Programming distributed systems is challenging but a pinch of programming languages design combined with a dash of automated reasoning can go a long way in bringing the joy back. 🤠

Let the fun begin!

See our webpage for more information about the P framework, getting started, case studies, tutorials and related research publications. If you have any further questions, please feel free to create an issue, ask on discussions, or email us

P is being built and maintained since 2013 as a collaborative project between industry and academia. The P project welcomes contributions and suggestions. See CONTRIBUTING for more information.