Mozart oz El Sistema de Programación Mozart es una plataforma de desarrollo avanzadas para aplicaciones inteligentes y distribuidas. Este lenguaje es el resultado de una investigación en diseño de lenguajes de programación y aplicación, la inferencia basada en restricciones, la computación distribuida, y las interfaces humano-computadora. Mozart se basa en el lenguaje de Oz, que apoya la programación declarativa, la programación orientada a objetos, programación con restricciones, y la concurrencia, como parte de un todo coherente. Para la distribución, Mozart ofrece una verdadera red de aplicación transparente con soporte para red de toma de conciencia, apertura y tolerancia a fallos. Mozart admite la programación multi-core con su red de distribución transparente y es una plataforma ideal para aplicaciones de propósito general distribuidos, así como para problemas difíciles que requieren optimización sofisticada y habilidades inferencia. Como Mozart Oz atiende a todos los principales paradigmas de programación (funcional, orientación a objetos, y el flujo de datos) los principios son aplicables al diseño de cualquier lenguaje de programación basada en cualquier sistema de estos paradigmas. Mozart Oz fue desarrollado por Gert Smolka y un grupo de investigación que estaba bajo su cargo en la Saarland University, esto fue en los inicios del lenguaje en los años 90’s, luego de esto nació el grupo denominado Mozart Consortium, en el cual se integraron representantes de universidades del mundo. Después de esto, en el año 2005, se creó la Mozart Board quienes tendrían la administración del lenguaje, en este, se toman las decisiones sobre las mejoras que se aplicaran sobre la plataforma. Este lenguaje de programación es muy utilizado en desarrollos académicos pero debido a su manejo de concurrencia (gracias al manejo sencillo que ofrece sobre los hilos y la sincronización de flujo de datos), al manejo de la inferencia (programación por restricción y programación lógica), a la flexibilidad (restricción y programación lógica), además de que puede ser ejecutado en GNU/Linux, Solaris, MacOSX, Windows y otros sistemas operativos, está siendo implementado también en la industria. Entre otras características ofrecidas por este lenguaje se pueden notar que Mozart-Oz combina las principales características de la programación orientada a objetos como los estados, los tipos de datos abstractos, las clases, objetos y la herencia. Otra de las grandes ventajas que nos ofrece Mozart Oz es el manejo de sistemas distribuidos, ya que posee un sistema diseñado específicamente para la programación de aplicaciones distribuidas. Como todos los sistemas de programación de dicho sistema tiene que ser comprendida y evaluado teniendo en cuenta su propósito fundamental: permitir y simplificar la desarrollo de aplicaciones. En la actualidad los desarrollos de sistemas distribuidos no son realizados por medio de lenguajes de programación distribuida, por el contrario, son sistemas centralizados que por medio del uso de paquetes de herramientas se extienden a sistemas distribuidos. A diferencia de estos paquetes, Mozart es un sistema de programación distribuida, la realización de un lenguaje determinado de la programación distribuida. Factores tales como la expresividad (Normalmente se considera como una propiedad del lenguaje) y rendimiento (un sistema de calidad) se consideran, por esto Mozart es un poderoso sistema distribuido de programación con una expresividad sin precedentes y una fácil de entender el desempeño y el modelo de rendimiento de ajuste. Debido a las grandes cualidades que nos brinda el lenguajes de programación Mozart Oz en los campos de la programación por restricciones, el manejo de componentes, el modelo de paso de mensajes y las ventajas de la programación distribuida, nos basaremos en este para realizar las demostraciones correspondientes en aplicaciones de la orquestación de componentes. http://www.sics.se/~perbrand/mozart.pdf http://www.info.ucl.ac.be/~pvr/mozart-oz.pdf