À propos du service
TraduitJe suis ingénieur en informatique concurrente et j'ai travaillé avec le langage Occam pendant de nombreuses années, qui est issu de la théorie de Hoare sur les processus séquentiels communicants. Je reçois généralement l'un des deux types de tâches. Soit il y a un ancien système de transputer qui contrôle encore une installation, un scanner ou un banc d'essai, et personne ne peut plus comprendre son code. Soit un nouveau projet est en cours de planification où un parallélisme sans blocage, pouvant être prouvé correct, est nécessaire, plutôt que le traditionnel enchevêtrement de fils et de mutex. J'accepte les deux types de travail. Pour les systèmes hérités, je lis le code source d'Occam 2, reconstruis le réseau de processus sur papier, décris chaque canal et les constructions PAR et ALT, puis maintiens soit l'opération sur des émulateurs de transputer, soit réécris la logique en occam-pi, en C avec une bibliothèque CSP, ou dans des canaux Go, en préservant la sémantique de synchronisation exacte. Pour les nouveaux systèmes, je modélise tout comme des processus séquentiels communiquant par des canaux typés, prouve l'absence de blocages et de blocages vivants, et livre un code propre et bien commenté avec un environnement de test. Une livraison typique comprend une carte de processus documentée, un code source fonctionnel sous contrôle de version, une construction et une simulation, ainsi qu'un bref rapport sur le modèle de concurrence afin que votre équipe puisse facilement le maintenir. La correction est plus importante pour moi que des astuces astucieuses : les canaux restent non tamponnés sans bonne raison, les gardes ALT sont vérifiés, et l'état partagé que je conçois est tel qu'il n'existe tout simplement pas. Que j'aie besoin de raviver un module de transputer têtu ou de construire une simulation parallèle à partir de zéro, je mènerai le travail de l'analyse à la livraison testée. Décrivez ce que fait le système, sur quel matériel ou runtime il fonctionne, et combien de vieux codes ont survécu, et j'évaluerai honnêtement l'ampleur du travail avant que nous commencions.