Microsoft open-sources P language for IoT

Microsoft open-sources P language for IoT

Microsoft's P language, for asynchronous event-driven programming and the IoT (internet of things), has been open-sourced.

Geared for embedded systems, device drivers, and distributed services, P is a domain-specific language the compiles to and interoperates with C, which itself has been commonly leveraged in embedded systems and the IoT. "The goal of P is to provide language primitives to succinctly and precisely capture protocols that are inherent to communication among components," said Ethan Jackson and Shaz Qadeer of Microsoft, in a tutorial on the language.

With P, modeling and programming are melded into a single activity. "Not only can a P program be compiled into executable code, but it can also be validated using systematic testing," according to the language's documentation on GitHub. "P has been used to implement and validate the USB device driver stack that ships with Microsoft Windows 8 and Windows Phone."

Microsoft has described P as offering "safe" event-driven programming. In their tutorial, Jackson and Qadeer say P programs have a computational model that features state machines communicating via messages, an approach commonly used in embedded, networked, and distributed systems.

Each state machine has an input queue, states, transitions, event handlers, and machine-local store for a variables collection. State machines run concurrently, with each executing an event loop that de-queues a message from the input queue. The state machine also examines the local store, sends messages between machines, and can create new machines. "In P, a send operation is non-blocking; the message is simply executed into the input queue of the target machine." A program features a collection of event and machine declarations.

Microsoft also offers P#, an extension to C# that targets asynchronous programming, as open source. And in June, Microsoft open-sourced Checked C, a modified version of C that adds new syntax and typing to the C language, with the intent of improving safety in C.

IDG Insider


«Consumer PCs: Ailing, but not dead yet


As one lawsuit sinks, Disney IT workers prepare a new fight»
IDG Connect

IDG Connect tackles the tech stories that matter to you

Our Case Studies

IDG Connect delivers full creative solutions to meet all your demand generatlon needs. These cover the full scope of options, from customized content and lead delivery through to fully integrated campaigns.


Our Marketing Research

Our in-house analyst and editorial team create a range of insights for the global marketing community. These look at IT buying preferences, the latest soclal media trends and other zeitgeist topics.



Should the government regulate Artificial Intelligence?