Język Microsoft open source P dla IoT

Język P firmy Microsoft, do asynchronicznego programowania sterowanego zdarzeniami i IoT (internet rzeczy), został oparty na otwartym źródle.

Dostosowany do systemów wbudowanych, sterowników urządzeń i usług rozproszonych, P jest językiem specyficznym dla domeny, który kompiluje i współdziała z C, który sam jest powszechnie wykorzystywany w systemach wbudowanych i IoT. „Celem P jest dostarczenie prymitywów językowych do zwięzłego i precyzyjnego przechwytywania protokołów nieodłącznie związanych z komunikacją między komponentami” - powiedzieli Ethan Jackson i Shaz Qadeer z firmy Microsoft w samouczku dotyczącym języka.

Dzięki P modelowanie i programowanie są połączone w jedną czynność. „Program P można nie tylko skompilować do kodu wykonywalnego, ale można go również zweryfikować za pomocą systematycznych testów”, zgodnie z dokumentacją języka w serwisie GitHub. „P został użyty do zaimplementowania i sprawdzenia stosu sterowników urządzeń USB dostarczanych z systemem Microsoft Windows 8 i Windows Phone”.

Firma Microsoft opisała P jako oferującą „bezpieczne” programowanie sterowane zdarzeniami. W swoim samouczku Jackson i Qadeer twierdzą, że programy P mają model obliczeniowy, w którym maszyny stanowe komunikują się za pośrednictwem wiadomości, podejście powszechnie stosowane w systemach osadzonych, sieciowych i rozproszonych.

Każdy automat stanu ma kolejkę wejściową, stany, przejścia, programy obsługi zdarzeń i lokalny magazyn dla kolekcji zmiennych. Maszyny stanu działają współbieżnie, a każdy z nich wykonuje pętlę zdarzeń, która usuwa z kolejki komunikat z kolejki wejściowej. Maszyna stanów sprawdza również magazyn lokalny, wysyła komunikaty między maszynami i może tworzyć nowe maszyny. „W P operacja wysyłania jest nieblokująca; komunikat jest po prostu wykonywany w kolejce wejściowej maszyny docelowej”. Program zawiera zbiór deklaracji zdarzeń i maszyn.

Firma Microsoft oferuje również P #, rozszerzenie języka C #, które jest przeznaczone dla programowania asynchronicznego, jako oprogramowanie typu open source. A w czerwcu Microsoft Open Source Checked C, zmodyfikowana wersja C, która dodaje nową składnię i pisanie do języka C, z zamiarem poprawy bezpieczeństwa w C.