Acerca del servicio
TraducidoSoy ingeniero en computación concurrente y he trabajado con el lenguaje Occam durante muchos años, que surgió de la teoría de Hoare sobre procesos secuenciales comunicantes. Normalmente recibo uno de dos tipos de tareas. O hay un sistema de transputador antiguo que aún controla una instalación, escáner o banco de pruebas, y nadie puede descifrar su código. O se está planeando un nuevo proyecto donde se necesita un paralelismo libre de interbloqueos que se pueda demostrar como correcto, en lugar del habitual enredo de hilos y mutexes. Asumo ambos tipos de trabajo. Para sistemas heredados, leo el código fuente de Occam 2, reconstruyo la red de procesos en papel, describo cada canal y las construcciones PAR y ALT, y luego mantengo la operación en emuladores de transputador o reescribo la lógica en occam-pi, en C con una biblioteca CSP, o en canales de Go, preservando la semántica de sincronización exacta. Para nuevos sistemas, modelo todo como procesos secuenciales que se comunican a través de canales tipados, demuestro la ausencia de interbloqueos y bloqueos vivos, y entrego código limpio y bien comentado con un entorno de prueba. Una entrega típica incluye un mapa de procesos documentado, código fuente funcional bajo control de versiones, construcción y simulación, así como un breve informe sobre el modelo de concurrencia para que su equipo pueda mantenerlo fácilmente. La corrección es más importante para mí que los trucos ingeniosos: los canales permanecen sin búfer sin una buena razón, se verifican los guardias ALT, y el estado compartido lo diseño de tal manera que simplemente no existe. Ya sea que necesite revivir un módulo de transputador obstinado o construir una simulación paralela desde cero, llevaré el trabajo desde el análisis hasta la entrega probada. Describa lo que hace el sistema, en qué hardware o tiempo de ejecución se ejecuta, y cuánto código antiguo sobrevivió, y evaluaré honestamente el alcance del trabajo antes de que comencemos.