Προγραμματισμός

Γλώσσα P ανοιχτού κώδικα της Microsoft για IoT

Η γλώσσα P της Microsoft, για ασύγχρονο προγραμματισμό βάσει συμβάντων και το IoT (internet of things), έχει ανοιχτή πηγή.

Προσαρμοσμένη για ενσωματωμένα συστήματα, προγράμματα οδήγησης συσκευών και κατανεμημένες υπηρεσίες, το P είναι μια γλώσσα ειδικά για κάθε τομέα που μεταγλωττίζεται και λειτουργεί με το C, το οποίο έχει συνήθως αξιοποιηθεί σε ενσωματωμένα συστήματα και στο IoT. "Ο στόχος του P είναι να παρέχει πρωτόκολλα γλωσσών για τη σύνοψη και με ακρίβεια σύλληψης πρωτοκόλλων που είναι εγγενή στην επικοινωνία μεταξύ συνιστωσών", δήλωσε ο Ethan Jackson και ο Shaz Qadeer της Microsoft, σε ένα σεμινάριο για τη γλώσσα.

Με το P, η μοντελοποίηση και ο προγραμματισμός συνδυάζονται σε μία δραστηριότητα. "Όχι μόνο ένα πρόγραμμα P μπορεί να μεταγλωττιστεί σε εκτελέσιμο κώδικα, αλλά μπορεί επίσης να επικυρωθεί με τη χρήση συστηματικών δοκιμών", σύμφωνα με την τεκμηρίωση της γλώσσας στο GitHub. "Το P χρησιμοποιήθηκε για την εφαρμογή και την επικύρωση της στοίβας προγραμμάτων οδήγησης συσκευών USB που αποστέλλεται με Microsoft Windows 8 και Windows Phone."

Η Microsoft περιέγραψε ότι η P προσφέρει έναν "ασφαλή" προγραμματισμό βάσει συμβάντων. Στο σεμινάριό τους, οι Jackson και Qadeer λένε ότι τα προγράμματα P έχουν ένα υπολογιστικό μοντέλο που διαθέτει μηχανές κατάστασης που επικοινωνούν μέσω μηνυμάτων, μια προσέγγιση που χρησιμοποιείται συνήθως σε ενσωματωμένα, δικτυωμένα και κατανεμημένα συστήματα.

Κάθε μηχάνημα κατάστασης έχει μια ουρά εισόδου, καταστάσεις, μεταβάσεις, χειριστές συμβάντων και μηχάνημα-τοπικό κατάστημα για μια συλλογή μεταβλητών. Οι μηχανές κατάστασης λειτουργούν ταυτόχρονα, με κάθε έναν να εκτελεί έναν βρόχο συμβάντος που αποστέλλει ένα μήνυμα από την ουρά εισόδου. Η κρατική μηχανή εξετάζει επίσης το τοπικό κατάστημα, στέλνει μηνύματα μεταξύ μηχανημάτων και μπορεί να δημιουργήσει νέα μηχανήματα. "Στο P, μια λειτουργία αποστολής δεν αποκλείει. Το μήνυμα απλώς εκτελείται στην ουρά εισόδου του μηχανήματος προορισμού." Ένα πρόγραμμα περιλαμβάνει μια συλλογή δηλώσεων συμβάντων και μηχανών.

Η Microsoft προσφέρει επίσης το P #, μια επέκταση στο C # που στοχεύει τον ασύγχρονο προγραμματισμό, ως ανοιχτού κώδικα. Και τον Ιούνιο, η Microsoft ανοιχτού κώδικα Checked C, μια τροποποιημένη έκδοση του C που προσθέτει νέα σύνταξη και πληκτρολόγηση στη γλώσσα C, με σκοπό τη βελτίωση της ασφάλειας στο C.