[ES] La confiabilidad es la propiedad que atribuimos a aquellos sistemas informáticos en los que es posible depositar una confianza justificada en su uso. El problema es que los mecanismos de cifrado y tolerancia a fallos ...[+]
[ES] La confiabilidad es la propiedad que atribuimos a aquellos sistemas informáticos en los que es posible depositar una confianza justificada en su uso. El problema es que los mecanismos de cifrado y tolerancia a fallos necesarios se mezclan en la implementaciones con el código funcional de las mismas, dificultando mucho su mantenimiento y limitando las capacidades de adaptación y evolución del sistema. La compilación abierta, la orientación a aspectos o la programación reflexiva son sólo algunas de las alternativas existentes para poder desarrollar soluciones informáticas con una clara separación entre mecanismos funcionales y no-funcionales, como lo son los orientados a mejorar la confiabilidad de dichas soluciones.
Python es un lenguaje de programación de propósito general muy utilizado actualmente en multitud de ámbitos aplicativos en los que se desarrollan soluciones con requerimientos de confidencialidad y redundancia para tolerar problemas de integridad o averías producidas por fallos de origen HW o SW. Esta tesina de máster explora el interés de utilizar los decoradores (decorators) de Python como mecanismos de encapsulación (wrapping) para establecer en las aplicaciones desarrolladas con este lenguaje una clara separación entre mecanismos funcionales y de confiabilidad (cifrado y tolerancia a fallos en nuestro caso). Se busca facilitar no sólo el desarrollo de estos mecanismos, sino también su reutilización, es decir, la adaptación y uso de los mismos a distintas aplicaciones en distintos contextos de uso.
[-]
[EN] Dependability is the property of computer systems that consistently performs according to its specifications. The need of mixing the necessary mechanisms of encryption and fault tolerance in system implementations ...[+]
[EN] Dependability is the property of computer systems that consistently performs according to its specifications. The need of mixing the necessary mechanisms of encryption and fault tolerance in system implementations with the functional code makes the resulting code very difficult to maintain and limits its ability to adapt and evolve. Open compilation, aspect orientation or reflective programming are only some of the alternatives available to develop software solutions with a clear separation between functional and non-functional mechanisms, such as those required for improving the dependability of such solutions.
Python is a general-purpose programming language widely used nowadays in many critical application domains where solutions require confidentiality and redundancy to tolerate the consequences of HW and/or SW faults. This master thesis explores the interest of using Python decorators as wrapping mechanisms to establish a clear separation between functional and dependability mechanisms (encryption and fault tolerance in our case) in applications developed with this language. The purpose is to ease the development of these mechanisms, their reuse, adaptation, and usage in disparate applications and in different contexts of use.
[-]
|