Llegamos a ustedes gracias a:



Noticias

El lenguaje P de Microsoft apunta al lugar donde se unen la nube, la IA y la IoT

[29/05/2017] Microsoft está apuntando a su lenguaje P como una solución para la asincronía en un mundo en donde esta capacidad se está haciendo cada vez más vital para la nube, la inteligencia artificial y los sistemas embebidos.

P, un lenguaje de código abierto preparado para la programación asincrónica basada en eventos, unifica el modelamiento y la programación en una sola actividad. "El software de hoy usa recursos de nube, usualmente se encuentra embebido en dispositivos en el mundo físico y emplea técnicas de inteligencia artificial, afirmó Shaz Qadeer, investigador principal de Microsoft. Tales aplicaciones presentan asincronía, lo cual conlleva problemas con las condiciones de clase y los "heisenbugs (llamados así por el Principio de Incertidumbre de Heisenberg), que son bugs relativos al tiempo que usualmente desaparecen durante una investigación. P fue creado para enfrentar esos desafíos.

En P, el protocolo y la especificación se escriben a un nivel alto. P presenta un modelo de programación basado en máquinas de estado que se ejecutan concurrentemente y que se comunican mediante eventos; cada evento se encuentra acompañado por un valor de carga útil escrito. También proporciona gestión segura de la memoria y ejecución concurrente sin datos, similar a lo que ofrece el lenguaje Rust.

El compilador de P proporciona testeo automatizado de las condiciones de clase relacionadas a la concurrencia y código ejecutable para ejecutar el protocolo, afirmó Qadeer. P soporta el modelamiento de la concurrencia, especificando propiedades de seguridad y liveness, y revisando que el programa satisfaga su especificación usando búsqueda sistemática, afirmó. Además, los programas en P se pueden compilar en código C ejecutable, superando así la brecha entre las implementaciones de alto y bajo nivel, y ayudando a los programadores a aceptar su modelo y especificación formal, afirmó.

El lenguaje permite a los ingenieros modelar interfaces asincrónicas entre componentes en un gran servicio Azure. También se puede usar para depurar los problemas en PCs que de otra forma toman meses y años en manifestarse luego de que se despliega el servicio.

P inicialmente se usó de formar interna en Microsoft para los controladores de USB 3.0 en Windows 8.1 y Windows Phone, y ahora se usa ampliamente para el desarrollo de controladores en Windows, afirmó Qadeer.