Para los sistemas de computación actuales, la habilidad de utilizar dinámicamente los recursos que se alojan en la red se ha convertido en un factor clave de éxito. Conforme la red sigue creciendo se hace cada vez más difícil encontrar soluciones a los problemas que los usuarios plantean al sistema computacional. Los usuarios saben habitualmente qué quieren hacer, pero no cómo hacerlo. Si el usuario conoce el objetivo que desea alcanzar es más sencillo ayudarle mediante el uso de una aproximación diferente. La cantidad de software desarrollado y la complejidad del mismo ha crecido dramáticamente en los últimos años, llevándonos a observar que los paradigmas clásicos de desarrollo de software pueden no ser suficientes para desarrollar aplicaciones muy complejas a la velocidad demandada por la industria. Es por esta razón por la que existe un constante trabajo en el desarrollo de nuevos paradigmas que aumenten el nivel de abstracción utilizado para desarrollar las cada vez más complejas aplicaciones. Entre estos paradigmas podemos destacar el de la Computación Orientada a Servicios (SOC) y los Sistemas Multi-Agente.
La Computación Orientada a Servicios es un paradigma donde el componente fundamental para el desarrollo de aplicaciones es el servicio. Mediante el uso de servicios sencillo o de composiciones de servicios es posible alcanzar soluciones a los problemas de una forma descentralizada y con un alto grado de adaptabilidad. Este paradigma, unido al de la Computación en la Nube, están adquiriendo cada día más importancia debido a que ambos nos permiten desarrollar aplicaciones distribuidas, independientes de la plataforma y de bajo coste de los elementos computacionales. El uso de la Computación Orientada a Servicios en sistemas multi-agente viene avalado por propuestas como la de buscar y alcanzar los objetivos de los agentes por medio de la invocación y composición de conjuntos de servicios que se encuentren disponibles para el sistema multi-agente.
El análisis de la evolución de los sistemas operativos actuales, poniendo especial atención en las abstracciones utilizadas, nos ha revelado el poco uso de estos paradigmas en su diseño, manteniendo una gran distancia entre las aplicaciones diseñadas mediante estos modernos paradigmas y los diseños de los SO. Por consiguiente, en este trabajo proponemos centrarse en los principales retos actuales de las ciencias de la computación que todavía no son resueltos por los sistemas operativos (SO): la presencia en la red, la orientación a servicios y, por supuesto, los tres principales factores de diseño de todo sistema operativo: rendimiento, seguridad y fiabilidad. Para todo ello, nuestra propuesta se orienta en incrementar los niveles de abstracción proporcionados por el sistema operativo y sus servicios. Esto nos permitirá ofrecer una capa de ejecución del sistema operativo perfectamente integrada en la red y con mecanismos de seguridad y fiabilidad que no pueden estar disponibles en niveles más bajos de abstracción de los sistemas operativos actuales.
Esta evolución comienza por cambiar el paradigma utilizado en el diseño del SO. Cambiar las abstracciones que el SO utiliza está íntimamente relacionado con el paradigma utilizado, y al cambiar este paradigma necesitamos proponer un nuevo módulo de ejecución para el SO que soporte dicho paradigma. Este módulo de ejecución es presentado también en este trabajo.
Para solventar estos problemas en este trabajo presentamos un nuevo paradigma de computación basado en objetivos. Este paradigma es el de Computación Distribuida basada en Objetivos. Para implementar el paradigma se ha diseñado una arquitectura de sistema operativo orientado a objetivos. En este SO el usuario expresa sus objetivos y el SO se encarga de ayudar al usuario a alcanzar sus objetivos por medio de una aproximación orientada a servicios. Además se presenta un simulador que da soporte a este paradigma, siguiendo los requisitos planteados en este trabajo. Algunos de estos requisitos son parámetros que comprenden cómo definirlas propiedades de un objetivo o los que definen la bondad de un plan que cumple dichos objetivos. Algunos de los parámetros que están implicados en la creación y selección de planes son el tiempo y la confianza. Para ello el sistema operativo presenta además un planificador de tareas con predicción del tiempo de ejecución y razonamiento basado en beneficios. Finalmente se han realizado un conjunto de experimentos para analizar las ventajas de la propuesta y se ha diseñado un caso de uso para validar la propuesta.
© 2008-2024 Fundación Dialnet · Todos los derechos reservados