Langage P open-source de Microsoft pour l'IoT

Le langage P de Microsoft, pour la programmation événementielle asynchrone et l'IoT (Internet des objets), a été open-source.

Conçu pour les systèmes embarqués, les pilotes de périphériques et les services distribués, P est un langage spécifique à un domaine dans lequel il compile et interagit avec C, qui lui-même a été couramment utilisé dans les systèmes embarqués et l'IoT. «Le but de P est de fournir des primitives de langage pour capturer de manière succincte et précise les protocoles inhérents à la communication entre les composants», ont déclaré Ethan Jackson et Shaz Qadeer de Microsoft, dans un tutoriel sur le langage.

Avec P, la modélisation et la programmation sont fusionnées en une seule activité. «Non seulement un programme P peut être compilé en code exécutable, mais il peut également être validé à l'aide de tests systématiques», selon la documentation du langage sur GitHub. "P a été utilisé pour implémenter et valider la pile de pilotes de périphérique USB fournie avec Microsoft Windows 8 et Windows Phone."

Microsoft a décrit P comme offrant une programmation événementielle «sûre». Dans leur didacticiel, Jackson et Qadeer disent que les programmes P ont un modèle de calcul qui présente des machines à états communiquant via des messages, une approche couramment utilisée dans les systèmes embarqués, en réseau et distribués.

Chaque machine d'état a une file d'attente d'entrée, des états, des transitions, des gestionnaires d'événements et un magasin local de la machine pour une collection de variables. Les machines d'état s'exécutent simultanément, chacune exécutant une boucle d'événements qui désattend un message de la file d'attente d'entrée. La machine d'état examine également le magasin local, envoie des messages entre les machines et peut créer de nouvelles machines. "En P, une opération d'envoi n'est pas bloquante; le message est simplement exécuté dans la file d'attente d'entrée de la machine cible." Un programme comporte une collection de déclarations d'événements et de machines.

Microsoft propose également P #, une extension de C # qui cible la programmation asynchrone, en open source. Et en juin, Microsoft a ouvert Checked C, une version modifiée de C qui ajoute une nouvelle syntaxe et une nouvelle saisie au langage C, dans le but d'améliorer la sécurité en C.