P

The P programming language.

GitHub license
Build Status

P is a language for asynchronous event-driven programming. 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 and programming into one activity for the programmer. Not only can a P program be compiled into executable code, but it can also be validated using systematic testing. P has been used to implement and validate the USB device driver stack that ships with Microsoft Windows 8 and Windows Phone. P is also suitable for the design and implementation of networked, embedded, and distributed systems.

Publications

Manual

Check the P Wiki.

Information for building P framework is available here.

Demos

See fun demo video using P to control a quadrocopter and make sense of the MavLink stream, all visualized in a live DGML diagram.

Application to Robotics

We built DRONA, a software framework for distributed mobile robotics systems. DRONA uses P language for implementing and model-checking the distributed robotics software stack (wiki). The C code generated from P compiler can be easily deployed on Robot Operating System (ROS).
More details about the DRONA framework and simulation videos are available here:
https://drona-org.github.io/Drona/

Blogs

News

Main metrics

Overview
Name With Ownerp-org/P
Primary LanguageC#
Program languageC# (Language Count: 9)
Platform
License:MIT License
所有者活动
Created At2015-06-21 06:26:36
Pushed At2025-06-10 06:24:00
Last Commit At2025-05-15 09:01:25
Release Count87
Last Release Namep-2.3.8 (Posted on 2025-05-16 09:46:46)
First Release Namep-1.0.3 (Posted on )
用户参与
Stargazers Count3.4k
Watchers Count107
Fork Count197
Commits Count4.2k
Has Issues Enabled
Issues Count267
Issue Open Count9
Pull Requests Count488
Pull Requests Open Count2
Pull Requests Close Count60
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private