Microsoft open-sources P language for IoT

By on November 13, 2016
Pin It

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.

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.

Source: InfoWorld

About Luca Ruggeri

Leave a Reply

Your email address will not be published. Required fields are marked *