57 resultados para software-defined network
Resumo:
This article presents a case study about the TSPi benefits in a software project under a Small Settings environment. An adapted process based on the TSPi was defined. The pilot project had a schedule and budget restricted. The process began collecting historical projects data in order to get a measure repository. The project was launched defining the following goals: increase the productivity, reduce the test time and improve the product quality. Finally, the results were analysed and the goals were verified.
Resumo:
La creación de infraestructuras comunes de telecomunicación (ICT) se hace necesaria debido al auge del servicio de televisión a mediados del siglo XX. Los elementos que las conforman pueden alterar los parámetros de calidad de la señal de televisión, actualmente transmitida bajo la norma DVB-T por las redes SMATV. El diseño de este tipo de redes se hace atendiendo a las atenuaciones de los dispositivos fijadas por el fabricante pero sin tener en cuenta la influencia de estos frente a parámetros de calidad de la señal. Se busca poder estudiar y analizar la influencia que tienen sobre el deterioro de la calidad de la señal a un nivel más detallado a fin de establecer los requerimientos mínimos que debieran de ofrecer. Para ello, en primer lugar, se hace un análisis de la respuesta individual de los dispositivos y su comparación con los datos del fabricante. A continuación estudiamos de forma detallada la respuesta que muestran en cascada y la elaboración de estructuras simples de ICT a modo de ejemplo en AWR. Una vez realizada esta primera fase se crea una red ICT real en el software utilizado en la que se analiza profundamente su repuesta en frecuencia. Por último se procede a simular dicha red ICT en AWR en la parte de VSS, donde se obtendrán las medidas de calidad en cuanto BER, EVM, espectro y demás parámetros, pudiendo concluir con una comparativa sobre el grado de fiabilidad del cálculo aproximado en el que se basa la realización del diseño de redes ICT. ABSTRACT. Creation of common telecommunications infrastructure (ICT) is necessary due to the rise of television service in the mid-twentieth century. The elements inside ICT can disturb quality parameters of television signal which is currently transmitted in the DVB-T standard by SMATV networks. Design of this type of network is made up according device attenuation defined by the manufacturer but without taking into account the influence of these parameters in signal quality. It seeks to study and analyze the influence of deterioration of signal quality deeper in order to establish the minimum requirements that should provide them. First of all, we made an analysis of individual device response and their comparison with manufacturer's data. Therefore we study in detail the response of these elements in a cascade and we develop simple structures of ICT as examples. Once the first step is done, we implement a real ICT network in the software in order to deeply analyze its frequency response. Finally we proceed to simulate this ICT network in AWR inside VSS module, where quality measures as BER, EVM, spectrum and other parameters will be obtained, concluding with a comparison of the reliability of ICT networks design estimation.
Resumo:
La Ingeniería de Pruebas está especializada en la verificación y validación del Software,y formalmente se define como: “Proceso de desarrollo que emplea métodos rigurosos para evaluar la corrección y calidad del producto a lo largo de todo su ciclo de vida” [3]. Este proceso comprende un conjunto de métodos, procedimientos y técnicas formalmente definidas las cuales, usadas de forma sistemática, facilitan la identificación de la mayor cantidad de errores y fallos posibles de un software. Un software que pase un proceso riguroso de pruebas es un producto de calidad que seguramente facilitará la labor del Ingeniero de Software en la corrección de futuras incidencias, algunas de ellas generadas tras la implantación en el entorno real. Este proceso constituye un área de la Ingeniería del Software y una especialidad por tanto, de la misma. De forma simple, la consecución de una correcta Verificación y Validación del Software requiere de algunas actividades imprescindibles como: - Realizar un plan de pruebas del proyecto. - Actualizar dicho plan y corregirlo en caso necesario. - Revisar los documentos de análisis de requisitos. - Ejecutar las pruebas en las diferentes fases del desarrollo del proyecto. - Documentar el diseño y la ejecución de las pruebas. - Generar documentos con los resultados y anomalías de las pruebas ya ejecutadas. Actualmente, la Ingeniería de Pruebas no es muy reconocida como área de trabajo independiente sino más bien, un área inmersa dentro de la Ingeniería de Software. En el entorno laboral existe el perfil de Ingeniero de Pruebas, sin embargo pocos ingenieros de software tienen claro querer ser Ingenieros de Pruebas (probadores o testers) debido a que nunca han tenido la oportunidad de enfrentarse a actividades prácticas reales dentro de los centros de estudios universitarios donde cursan la carrera. Al ser un área de inherente ejercicio profesional, la parte correspondiente de la Ingeniería de Pruebas suele enfocarse desde un punto de vista teórico más que práctico. Hay muchas herramientas para la creación de pruebas y de ayuda para los ingenieros de pruebas, pero la mayoría son de pago o hechas a medida para grandes empresas que necesitan dicho software. Normalmente la gente conoce lo que es la Ingeniería de Pruebas únicamente cuando se empieza a adquirir experiencia en dicha área en el ejercicio profesional dentro de una empresa. Con lo cual, el acercamiento durante la carrera no necesariamente le ha ofrecido al profesional en Ingeniería, la oportunidad de trabajar en esta rama de la Ingeniería del Software y en algunos casos, NOVATests: Metodología y herramienta software de apoyo para los Ingenieros de Prueba Junior 4 los recién egresados comienzan su vida profesional con algún desconocimiento en este sentido. Es por el conjunto de estas razones, que mi intención en este proyecto es proponer una metodología y una herramienta software de apoyo a dicha metodología, para que los estudiantes de carreras de Ingeniería Software y afines, e ingenieros recién egresados con poca experiencia o ninguna en esta área (Ingenieros de Pruebas Junior), puedan poner en práctica las actividades de la Ingeniería de Pruebas dentro de un entorno lo más cercano posible al ejercicio de la labor profesional. De esta forma, podrían desarrollar las tareas propias de dicha área de una manera fácil e intuitiva, favoreciendo un mayor conocimiento y experiencia de la misma. ABSTRACT The software engineering is specialized in the verification and validation of Software and it is formally defined as: “Development process which by strict methods evaluates and corrects the quality of the product along its lifecycle”. This process contains a number of methods, procedures and techniques formally defined which used systematically make easier the identification of the highest quantity of error and failures within a Software. A software going through this rigorous process of tests will become a quality product that will help the software engineer`s work while correcting incidences. Some of them probably generated after the deployment in a real environment. This process belongs to the Software engineering and therefore it is a specialization itself. Simplifying, the correct verification and validation of a software requires some essential activities such as: -Create a Test Plan of the project - Update this Test Plan and correct if necessary - Check Requirement’s specification documents -Execute the different tests among all the phases of the project - Create the pertinent documentation about design and execution of these tests. - Generate the result documents and all the possible incidences the tests could contain. Currently, the Test engineering is not recognized as a work area but an area immerse within the Software engineering. The professional environment includes the role of Test engineer, but only a few software engineers have clear to become Test engineers (testers) because they have never had the chance to face this activities within the university study centers where they take study of this degree. Since there are little professional environments, this area is focused from a theoretical way instead of a more practical vision. There are plenty of tools helping the Test engineer, but most of them are paid tools or bespoke tools for big companies in need of this software. Usually people know what test engineering is by starting working on it and not before, when people start acquiring experience in this field within a company. Therefore, the degree studied have not approach this field of the Software engineering before and in some cases the graduated students start working without any knowledge in this area. Because of this reasons explained, it is my intention to propose this Project: a methodology and a software tool supporting this methodology so the students of software engineering and similar ones but also graduated students with little experience in this area (Junior Test Engineers), can afford practice in this field and get used to the activities related with the test engineering. Because of this they will be able to carry out the proper tasks of this area easier, enforcing higher and better knowledge and experience of it.
Resumo:
Neuronal morphology is hugely variable across brain regions and species, and their classification strategies are a matter of intense debate in neuroscience. GABAergic cortical interneurons have been a challenge because it is difficult to find a set of morphological properties which clearly define neuronal types. A group of 48 neuroscience experts around the world were asked to classify a set of 320 cortical GABAergic interneurons according to the main features of their three-dimensional morphological reconstructions. A methodology for building a model which captures the opinions of all the experts was proposed. First, one Bayesian network was learned for each expert, and we proposed an algorithm for clustering Bayesian networks corresponding to experts with similar behaviors. Then, a Bayesian network which represents the opinions of each group of experts was induced. Finally, a consensus Bayesian multinet which models the opinions of the whole group of experts was built. A thorough analysis of the consensus model identified different behaviors between the experts when classifying the interneurons in the experiment. A set of characterizing morphological traits for the neuronal types was defined by performing inference in the Bayesian multinet. These findings were used to validate the model and to gain some insights into neuron morphology.
Resumo:
Los ataques a redes de información son cada vez más sofisticados y exigen una constante evolución y mejora de las técnicas de detección. Para ello, en este proyecto se ha diseñado e implementado una plataforma cooperativa para la detección de intrusiones basada en red. En primer lugar, se ha realizado un estudio teórico previo del marco tecnológico relacionado con este ámbito, en el que se describe y caracteriza el software que se utiliza para realizar ataques a sistemas (malware) así como los métodos que se utilizan para llegar a transmitir ese software (vectores de ataque). En el documento también se describen los llamados APT, que son ataques dirigidos con una gran inversión económica y temporal. Estos pueden englobar todos los malware y vectores de ataque existentes. Para poder evitar estos ataques, se estudiarán los sistemas de detección y prevención de intrusiones, describiendo brevemente los algoritmos que se tienden a utilizar en la actualidad. En segundo lugar, se ha planteado y desarrollado una plataforma en red dedicada al análisis de paquetes y conexiones para detectar posibles intrusiones. Este sistema está orientado a sistemas SCADA (Supervisory Control And Data Adquisition) aunque funciona sobre cualquier red IPv4/IPv6, para ello se definirá previamente lo que es un sistema SCADA, así como sus partes principales. Para implementar el sistema se han utilizado dispositivos de bajo consumo llamados Raspberry PI, estos se ubican entre la red y el equipo final que se quiera analizar. En ellos se ejecutan 2 aplicaciones desarrolladas de tipo cliente-servidor (la Raspberry central ejecutará la aplicación servidora y las esclavas la aplicación cliente) que funcionan de forma cooperativa utilizando la tecnología distribuida de Hadoop, la cual se explica previamente. Mediante esta tecnología se consigue desarrollar un sistema completamente escalable. La aplicación servidora muestra una interfaz gráfica que permite administrar la plataforma de análisis de forma centralizada, pudiendo ver así las alarmas de cada dispositivo y calificando cada paquete según su peligrosidad. El algoritmo desarrollado en la aplicación calcula el ratio de paquetes/tiempo que entran/salen del equipo final, procesando los paquetes y analizándolos teniendo en cuenta la información de señalización, creando diferentes bases de datos que irán mejorando la robustez del sistema, reduciendo así la posibilidad de ataques externos. Para concluir, el proyecto inicial incluía el procesamiento en la nube de la aplicación principal, pudiendo administrar así varias infraestructuras concurrentemente, aunque debido al trabajo extra necesario se ha dejado preparado el sistema para poder implementar esta funcionalidad. En el caso experimental actual el procesamiento de la aplicación servidora se realiza en la Raspberry principal, creando un sistema escalable, rápido y tolerante a fallos. ABSTRACT. The attacks to networks of information are increasingly sophisticated and demand a constant evolution and improvement of the technologies of detection. For this project it is developed and implemented a cooperative platform for detect intrusions based on networking. First, there has been a previous theoretical study of technological framework related to this area, which describes the software used for attacks on systems (malware) as well as the methods used in order to transmit this software (attack vectors). In this document it is described the APT, which are attacks directed with a big economic and time inversion. These can contain all existing malware and attack vectors. To prevent these attacks, intrusion detection systems and prevention intrusion systems will be discussed, describing previously the algorithms tend to use today. Secondly, a platform for analyzing network packets has been proposed and developed to detect possible intrusions in SCADA (Supervisory Control And Data Adquisition) systems. This platform is designed for SCADA systems (Supervisory Control And Data Acquisition) but works on any IPv4 / IPv6 network. Previously, it is defined what a SCADA system is and the main parts of it. To implement it, we used low-power devices called Raspberry PI, these are located between the network and the final device to analyze it. In these Raspberry run two applications client-server developed (the central Raspberry runs the server application and the slaves the client application) that work cooperatively using Hadoop distributed technology, which is previously explained. Using this technology is achieved develop a fully scalable system. The server application displays a graphical interface to manage analytics platform centrally, thereby we can see each device alarms and qualifying each packet by dangerousness. The algorithm developed in the application calculates the ratio of packets/time entering/leaving the terminal device, processing the packets and analyzing the signaling information of each packet, reating different databases that will improve the system, thereby reducing the possibility of external attacks. In conclusion, the initial project included cloud computing of the main application, being able to manage multiple concurrent infrastructure, but due to the extra work required has been made ready the system to implement this funcionality. In the current test case the server application processing is made on the main Raspberry, creating a scalable, fast and fault-tolerant system.
Resumo:
La presente tesis doctoral contribuye al problema del diagnóstico autonómico de fallos en redes de telecomunicación. En las redes de telecomunicación actuales, las operadoras realizan tareas de diagnóstico de forma manual. Dichas operaciones deben ser llevadas a cabo por ingenieros altamente cualificados que cada vez tienen más dificultades a la hora de gestionar debidamente el crecimiento exponencial de la red tanto en tamaño, complejidad y heterogeneidad. Además, el advenimiento del Internet del Futuro hace que la demanda de sistemas que simplifiquen y automaticen la gestión de las redes de telecomunicación se haya incrementado en los últimos años. Para extraer el conocimiento necesario para desarrollar las soluciones propuestas y facilitar su adopción por los operadores de red, se propone una metodología de pruebas de aceptación para sistemas multi-agente enfocada en simplificar la comunicación entre los diferentes grupos de trabajo involucrados en todo proyecto de desarrollo software: clientes y desarrolladores. Para contribuir a la solución del problema del diagnóstico autonómico de fallos, se propone una arquitectura de agente capaz de diagnosticar fallos en redes de telecomunicación de manera autónoma. Dicha arquitectura extiende el modelo de agente Belief-Desire- Intention (BDI) con diferentes modelos de diagnóstico que gestionan las diferentes sub-tareas del proceso. La arquitectura propuesta combina diferentes técnicas de razonamiento para alcanzar su propósito gracias a un modelo estructural de la red, que usa razonamiento basado en ontologías, y un modelo causal de fallos, que usa razonamiento Bayesiano para gestionar debidamente la incertidumbre del proceso de diagnóstico. Para asegurar la adecuación de la arquitectura propuesta en situaciones de gran complejidad y heterogeneidad, se propone un marco de argumentación que permite diagnosticar a agentes que estén ejecutando en dominios federados. Para la aplicación de este marco en un sistema multi-agente, se propone un protocolo de coordinación en el que los agentes dialogan hasta alcanzar una conclusión para un caso de diagnóstico concreto. Como trabajos futuros, se consideran la extensión de la arquitectura para abordar otros problemas de gestión como el auto-descubrimiento o la auto-optimización, el uso de técnicas de reputación dentro del marco de argumentación para mejorar la extensibilidad del sistema de diagnóstico en entornos federados y la aplicación de las arquitecturas propuestas en las arquitecturas de red emergentes, como SDN, que ofrecen mayor capacidad de interacción con la red. ABSTRACT This PhD thesis contributes to the problem of autonomic fault diagnosis of telecommunication networks. Nowadays, in telecommunication networks, operators perform manual diagnosis tasks. Those operations must be carried out by high skilled network engineers which have increasing difficulties to properly manage the growing of those networks, both in size, complexity and heterogeneity. Moreover, the advent of the Future Internet makes the demand of solutions which simplifies and automates the telecommunication network management has been increased in recent years. To collect the domain knowledge required to developed the proposed solutions and to simplify its adoption by the operators, an agile testing methodology is defined for multiagent systems. This methodology is focused on the communication gap between the different work groups involved in any software development project, stakeholders and developers. To contribute to overcoming the problem of autonomic fault diagnosis, an agent architecture for fault diagnosis of telecommunication networks is defined. That architecture extends the Belief-Desire-Intention (BDI) agent model with different diagnostic models which handle the different subtasks of the process. The proposed architecture combines different reasoning techniques to achieve its objective using a structural model of the network, which uses ontology-based reasoning, and a causal model, which uses Bayesian reasoning to properly handle the uncertainty of the diagnosis process. To ensure the suitability of the proposed architecture in complex and heterogeneous environments, an argumentation framework is defined. This framework allows agents to perform fault diagnosis in federated domains. To apply this framework in a multi-agent system, a coordination protocol is defined. This protocol is used by agents to dialogue until a reliable conclusion for a specific diagnosis case is reached. Future work comprises the further extension of the agent architecture to approach other managements problems, such as self-discovery or self-optimisation; the application of reputation techniques in the argumentation framework to improve the extensibility of the diagnostic system in federated domains; and the application of the proposed agent architecture in emergent networking architectures, such as SDN, which offers new capabilities of control for the network.
Resumo:
Esta tesis doctoral se enmarca dentro del campo de los sistemas embebidos reconfigurables, redes de sensores inalámbricas para aplicaciones de altas prestaciones, y computación distribuida. El documento se centra en el estudio de alternativas de procesamiento para sistemas embebidos autónomos distribuidos de altas prestaciones (por sus siglas en inglés, High-Performance Autonomous Distributed Systems (HPADS)), así como su evolución hacia el procesamiento de alta resolución. El estudio se ha llevado a cabo tanto a nivel de plataforma como a nivel de las arquitecturas de procesamiento dentro de la plataforma con el objetivo de optimizar aspectos tan relevantes como la eficiencia energética, la capacidad de cómputo y la tolerancia a fallos del sistema. Los HPADS son sistemas realimentados, normalmente formados por elementos distribuidos conectados o no en red, con cierta capacidad de adaptación, y con inteligencia suficiente para llevar a cabo labores de prognosis y/o autoevaluación. Esta clase de sistemas suele formar parte de sistemas más complejos llamados sistemas ciber-físicos (por sus siglas en inglés, Cyber-Physical Systems (CPSs)). Los CPSs cubren un espectro enorme de aplicaciones, yendo desde aplicaciones médicas, fabricación, o aplicaciones aeroespaciales, entre otras muchas. Para el diseño de este tipo de sistemas, aspectos tales como la confiabilidad, la definición de modelos de computación, o el uso de metodologías y/o herramientas que faciliten el incremento de la escalabilidad y de la gestión de la complejidad, son fundamentales. La primera parte de esta tesis doctoral se centra en el estudio de aquellas plataformas existentes en el estado del arte que por sus características pueden ser aplicables en el campo de los CPSs, así como en la propuesta de un nuevo diseño de plataforma de altas prestaciones que se ajuste mejor a los nuevos y más exigentes requisitos de las nuevas aplicaciones. Esta primera parte incluye descripción, implementación y validación de la plataforma propuesta, así como conclusiones sobre su usabilidad y sus limitaciones. Los principales objetivos para el diseño de la plataforma propuesta se enumeran a continuación: • Estudiar la viabilidad del uso de una FPGA basada en RAM como principal procesador de la plataforma en cuanto a consumo energético y capacidad de cómputo. • Propuesta de técnicas de gestión del consumo de energía en cada etapa del perfil de trabajo de la plataforma. •Propuestas para la inclusión de reconfiguración dinámica y parcial de la FPGA (por sus siglas en inglés, Dynamic Partial Reconfiguration (DPR)) de forma que sea posible cambiar ciertas partes del sistema en tiempo de ejecución y sin necesidad de interrumpir al resto de las partes. Evaluar su aplicabilidad en el caso de HPADS. Las nuevas aplicaciones y nuevos escenarios a los que se enfrentan los CPSs, imponen nuevos requisitos en cuanto al ancho de banda necesario para el procesamiento de los datos, así como en la adquisición y comunicación de los mismos, además de un claro incremento en la complejidad de los algoritmos empleados. Para poder cumplir con estos nuevos requisitos, las plataformas están migrando desde sistemas tradicionales uni-procesador de 8 bits, a sistemas híbridos hardware-software que incluyen varios procesadores, o varios procesadores y lógica programable. Entre estas nuevas arquitecturas, las FPGAs y los sistemas en chip (por sus siglas en inglés, System on Chip (SoC)) que incluyen procesadores embebidos y lógica programable, proporcionan soluciones con muy buenos resultados en cuanto a consumo energético, precio, capacidad de cómputo y flexibilidad. Estos buenos resultados son aún mejores cuando las aplicaciones tienen altos requisitos de cómputo y cuando las condiciones de trabajo son muy susceptibles de cambiar en tiempo real. La plataforma propuesta en esta tesis doctoral se ha denominado HiReCookie. La arquitectura incluye una FPGA basada en RAM como único procesador, así como un diseño compatible con la plataforma para redes de sensores inalámbricas desarrollada en el Centro de Electrónica Industrial de la Universidad Politécnica de Madrid (CEI-UPM) conocida como Cookies. Esta FPGA, modelo Spartan-6 LX150, era, en el momento de inicio de este trabajo, la mejor opción en cuanto a consumo y cantidad de recursos integrados, cuando además, permite el uso de reconfiguración dinámica y parcial. Es importante resaltar que aunque los valores de consumo son los mínimos para esta familia de componentes, la potencia instantánea consumida sigue siendo muy alta para aquellos sistemas que han de trabajar distribuidos, de forma autónoma, y en la mayoría de los casos alimentados por baterías. Por esta razón, es necesario incluir en el diseño estrategias de ahorro energético para incrementar la usabilidad y el tiempo de vida de la plataforma. La primera estrategia implementada consiste en dividir la plataforma en distintas islas de alimentación de forma que sólo aquellos elementos que sean estrictamente necesarios permanecerán alimentados, cuando el resto puede estar completamente apagado. De esta forma es posible combinar distintos modos de operación y así optimizar enormemente el consumo de energía. El hecho de apagar la FPGA para ahora energía durante los periodos de inactividad, supone la pérdida de la configuración, puesto que la memoria de configuración es una memoria volátil. Para reducir el impacto en el consumo y en el tiempo que supone la reconfiguración total de la plataforma una vez encendida, en este trabajo, se incluye una técnica para la compresión del archivo de configuración de la FPGA, de forma que se consiga una reducción del tiempo de configuración y por ende de la energía consumida. Aunque varios de los requisitos de diseño pueden satisfacerse con el diseño de la plataforma HiReCookie, es necesario seguir optimizando diversos parámetros tales como el consumo energético, la tolerancia a fallos y la capacidad de procesamiento. Esto sólo es posible explotando todas las posibilidades ofrecidas por la arquitectura de procesamiento en la FPGA. Por lo tanto, la segunda parte de esta tesis doctoral está centrada en el diseño de una arquitectura reconfigurable denominada ARTICo3 (Arquitectura Reconfigurable para el Tratamiento Inteligente de Cómputo, Confiabilidad y Consumo de energía) para la mejora de estos parámetros por medio de un uso dinámico de recursos. ARTICo3 es una arquitectura de procesamiento para FPGAs basadas en RAM, con comunicación tipo bus, preparada para dar soporte para la gestión dinámica de los recursos internos de la FPGA en tiempo de ejecución gracias a la inclusión de reconfiguración dinámica y parcial. Gracias a esta capacidad de reconfiguración parcial, es posible adaptar los niveles de capacidad de procesamiento, energía consumida o tolerancia a fallos para responder a las demandas de la aplicación, entorno, o métricas internas del dispositivo mediante la adaptación del número de recursos asignados para cada tarea. Durante esta segunda parte de la tesis se detallan el diseño de la arquitectura, su implementación en la plataforma HiReCookie, así como en otra familia de FPGAs, y su validación por medio de diferentes pruebas y demostraciones. Los principales objetivos que se plantean la arquitectura son los siguientes: • Proponer una metodología basada en un enfoque multi-hilo, como las propuestas por CUDA (por sus siglas en inglés, Compute Unified Device Architecture) u Open CL, en la cual distintos kernels, o unidades de ejecución, se ejecuten en un numero variable de aceleradores hardware sin necesidad de cambios en el código de aplicación. • Proponer un diseño y proporcionar una arquitectura en la que las condiciones de trabajo cambien de forma dinámica dependiendo bien de parámetros externos o bien de parámetros que indiquen el estado de la plataforma. Estos cambios en el punto de trabajo de la arquitectura serán posibles gracias a la reconfiguración dinámica y parcial de aceleradores hardware en tiempo real. • Explotar las posibilidades de procesamiento concurrente, incluso en una arquitectura basada en bus, por medio de la optimización de las transacciones en ráfaga de datos hacia los aceleradores. •Aprovechar las ventajas ofrecidas por la aceleración lograda por módulos puramente hardware para conseguir una mejor eficiencia energética. • Ser capaces de cambiar los niveles de redundancia de hardware de forma dinámica según las necesidades del sistema en tiempo real y sin cambios para el código de aplicación. • Proponer una capa de abstracción entre el código de aplicación y el uso dinámico de los recursos de la FPGA. El diseño en FPGAs permite la utilización de módulos hardware específicamente creados para una aplicación concreta. De esta forma es posible obtener rendimientos mucho mayores que en el caso de las arquitecturas de propósito general. Además, algunas FPGAs permiten la reconfiguración dinámica y parcial de ciertas partes de su lógica en tiempo de ejecución, lo cual dota al diseño de una gran flexibilidad. Los fabricantes de FPGAs ofrecen arquitecturas predefinidas con la posibilidad de añadir bloques prediseñados y poder formar sistemas en chip de una forma más o menos directa. Sin embargo, la forma en la que estos módulos hardware están organizados dentro de la arquitectura interna ya sea estática o dinámicamente, o la forma en la que la información se intercambia entre ellos, influye enormemente en la capacidad de cómputo y eficiencia energética del sistema. De la misma forma, la capacidad de cargar módulos hardware bajo demanda, permite añadir bloques redundantes que permitan aumentar el nivel de tolerancia a fallos de los sistemas. Sin embargo, la complejidad ligada al diseño de bloques hardware dedicados no debe ser subestimada. Es necesario tener en cuenta que el diseño de un bloque hardware no es sólo su propio diseño, sino también el diseño de sus interfaces, y en algunos casos de los drivers software para su manejo. Además, al añadir más bloques, el espacio de diseño se hace más complejo, y su programación más difícil. Aunque la mayoría de los fabricantes ofrecen interfaces predefinidas, IPs (por sus siglas en inglés, Intelectual Property) comerciales y plantillas para ayudar al diseño de los sistemas, para ser capaces de explotar las posibilidades reales del sistema, es necesario construir arquitecturas sobre las ya establecidas para facilitar el uso del paralelismo, la redundancia, y proporcionar un entorno que soporte la gestión dinámica de los recursos. Para proporcionar este tipo de soporte, ARTICo3 trabaja con un espacio de soluciones formado por tres ejes fundamentales: computación, consumo energético y confiabilidad. De esta forma, cada punto de trabajo se obtiene como una solución de compromiso entre estos tres parámetros. Mediante el uso de la reconfiguración dinámica y parcial y una mejora en la transmisión de los datos entre la memoria principal y los aceleradores, es posible dedicar un número variable de recursos en el tiempo para cada tarea, lo que hace que los recursos internos de la FPGA sean virtualmente ilimitados. Este variación en el tiempo del número de recursos por tarea se puede usar bien para incrementar el nivel de paralelismo, y por ende de aceleración, o bien para aumentar la redundancia, y por lo tanto el nivel de tolerancia a fallos. Al mismo tiempo, usar un numero óptimo de recursos para una tarea mejora el consumo energético ya que bien es posible disminuir la potencia instantánea consumida, o bien el tiempo de procesamiento. Con el objetivo de mantener los niveles de complejidad dentro de unos límites lógicos, es importante que los cambios realizados en el hardware sean totalmente transparentes para el código de aplicación. A este respecto, se incluyen distintos niveles de transparencia: • Transparencia a la escalabilidad: los recursos usados por una misma tarea pueden ser modificados sin que el código de aplicación sufra ningún cambio. • Transparencia al rendimiento: el sistema aumentara su rendimiento cuando la carga de trabajo aumente, sin cambios en el código de aplicación. • Transparencia a la replicación: es posible usar múltiples instancias de un mismo módulo bien para añadir redundancia o bien para incrementar la capacidad de procesamiento. Todo ello sin que el código de aplicación cambie. • Transparencia a la posición: la posición física de los módulos hardware es arbitraria para su direccionamiento desde el código de aplicación. • Transparencia a los fallos: si existe un fallo en un módulo hardware, gracias a la redundancia, el código de aplicación tomará directamente el resultado correcto. • Transparencia a la concurrencia: el hecho de que una tarea sea realizada por más o menos bloques es transparente para el código que la invoca. Por lo tanto, esta tesis doctoral contribuye en dos líneas diferentes. En primer lugar, con el diseño de la plataforma HiReCookie y en segundo lugar con el diseño de la arquitectura ARTICo3. Las principales contribuciones de esta tesis se resumen a continuación. • Arquitectura de la HiReCookie incluyendo: o Compatibilidad con la plataforma Cookies para incrementar las capacidades de esta. o División de la arquitectura en distintas islas de alimentación. o Implementación de los diversos modos de bajo consumo y políticas de despertado del nodo. o Creación de un archivo de configuración de la FPGA comprimido para reducir el tiempo y el consumo de la configuración inicial. • Diseño de la arquitectura reconfigurable para FPGAs basadas en RAM ARTICo3: o Modelo de computación y modos de ejecución inspirados en el modelo de CUDA pero basados en hardware reconfigurable con un número variable de bloques de hilos por cada unidad de ejecución. o Estructura para optimizar las transacciones de datos en ráfaga proporcionando datos en cascada o en paralelo a los distinto módulos incluyendo un proceso de votado por mayoría y operaciones de reducción. o Capa de abstracción entre el procesador principal que incluye el código de aplicación y los recursos asignados para las diferentes tareas. o Arquitectura de los módulos hardware reconfigurables para mantener la escalabilidad añadiendo una la interfaz para las nuevas funcionalidades con un simple acceso a una memoria RAM interna. o Caracterización online de las tareas para proporcionar información a un módulo de gestión de recursos para mejorar la operación en términos de energía y procesamiento cuando además se opera entre distintos nieles de tolerancia a fallos. El documento está dividido en dos partes principales formando un total de cinco capítulos. En primer lugar, después de motivar la necesidad de nuevas plataformas para cubrir las nuevas aplicaciones, se detalla el diseño de la plataforma HiReCookie, sus partes, las posibilidades para bajar el consumo energético y se muestran casos de uso de la plataforma así como pruebas de validación del diseño. La segunda parte del documento describe la arquitectura reconfigurable, su implementación en varias FPGAs, y pruebas de validación en términos de capacidad de procesamiento y consumo energético, incluyendo cómo estos aspectos se ven afectados por el nivel de tolerancia a fallos elegido. Los capítulos a lo largo del documento son los siguientes: El capítulo 1 analiza los principales objetivos, motivación y aspectos teóricos necesarios para seguir el resto del documento. El capítulo 2 está centrado en el diseño de la plataforma HiReCookie y sus posibilidades para disminuir el consumo de energía. El capítulo 3 describe la arquitectura reconfigurable ARTICo3. El capítulo 4 se centra en las pruebas de validación de la arquitectura usando la plataforma HiReCookie para la mayoría de los tests. Un ejemplo de aplicación es mostrado para analizar el funcionamiento de la arquitectura. El capítulo 5 concluye esta tesis doctoral comentando las conclusiones obtenidas, las contribuciones originales del trabajo y resultados y líneas futuras. ABSTRACT This PhD Thesis is framed within the field of dynamically reconfigurable embedded systems, advanced sensor networks and distributed computing. The document is centred on the study of processing solutions for high-performance autonomous distributed systems (HPADS) as well as their evolution towards High performance Computing (HPC) systems. The approach of the study is focused on both platform and processor levels to optimise critical aspects such as computing performance, energy efficiency and fault tolerance. HPADS are considered feedback systems, normally networked and/or distributed, with real-time adaptive and predictive functionality. These systems, as part of more complex systems known as Cyber-Physical Systems (CPSs), can be applied in a wide range of fields such as military, health care, manufacturing, aerospace, etc. For the design of HPADS, high levels of dependability, the definition of suitable models of computation, and the use of methodologies and tools to support scalability and complexity management, are required. The first part of the document studies the different possibilities at platform design level in the state of the art, together with description, development and validation tests of the platform proposed in this work to cope with the previously mentioned requirements. The main objectives targeted by this platform design are the following: • Study the feasibility of using SRAM-based FPGAs as the main processor of the platform in terms of energy consumption and performance for high demanding applications. • Analyse and propose energy management techniques to reduce energy consumption in every stage of the working profile of the platform. • Provide a solution with dynamic partial and wireless remote HW reconfiguration (DPR) to be able to change certain parts of the FPGA design at run time and on demand without interrupting the rest of the system. • Demonstrate the applicability of the platform in different test-bench applications. In order to select the best approach for the platform design in terms of processing alternatives, a study of the evolution of the state-of-the-art platforms is required to analyse how different architectures cope with new more demanding applications and scenarios: security, mixed-critical systems for aerospace, multimedia applications, or military environments, among others. In all these scenarios, important changes in the required processing bandwidth or the complexity of the algorithms used are provoking the migration of the platforms from single microprocessor architectures to multiprocessing and heterogeneous solutions with more instant power consumption but higher energy efficiency. Within these solutions, FPGAs and Systems on Chip including FPGA fabric and dedicated hard processors, offer a good trade of among flexibility, processing performance, energy consumption and price, when they are used in demanding applications where working conditions are very likely to vary over time and high complex algorithms are required. The platform architecture proposed in this PhD Thesis is called HiReCookie. It includes an SRAM-based FPGA as the main and only processing unit. The FPGA selected, the Xilinx Spartan-6 LX150, was at the beginning of this work the best choice in terms of amount of resources and power. Although, the power levels are the lowest of these kind of devices, they can be still very high for distributed systems that normally work powered by batteries. For that reason, it is necessary to include different energy saving possibilities to increase the usability of the platform. In order to reduce energy consumption, the platform architecture is divided into different power islands so that only those parts of the systems that are strictly needed are powered on, while the rest of the islands can be completely switched off. This allows a combination of different low power modes to decrease energy. In addition, one of the most important handicaps of SRAM-based FPGAs is that they are not alive at power up. Therefore, recovering the system from a switch-off state requires to reload the FPGA configuration from a non-volatile memory device. For that reason, this PhD Thesis also proposes a methodology to compress the FPGA configuration file in order to reduce time and energy during the initial configuration process. Although some of the requirements for the design of HPADS are already covered by the design of the HiReCookie platform, it is necessary to continue improving energy efficiency, computing performance and fault tolerance. This is only possible by exploiting all the opportunities provided by the processing architectures configured inside the FPGA. Therefore, the second part of the thesis details the design of the so called ARTICo3 FPGA architecture to enhance the already intrinsic capabilities of the FPGA. ARTICo3 is a DPR-capable bus-based virtual architecture for multiple HW acceleration in SRAM-based FPGAs. The architecture provides support for dynamic resource management in real time. In this way, by using DPR, it will be possible to change the levels of computing performance, energy consumption and fault tolerance on demand by increasing or decreasing the amount of resources used by the different tasks. Apart from the detailed design of the architecture and its implementation in different FPGA devices, different validation tests and comparisons are also shown. The main objectives targeted by this FPGA architecture are listed as follows: • Provide a method based on a multithread approach such as those offered by CUDA (Compute Unified Device Architecture) or OpenCL kernel executions, where kernels are executed in a variable number of HW accelerators without requiring application code changes. • Provide an architecture to dynamically adapt working points according to either self-measured or external parameters in terms of energy consumption, fault tolerance and computing performance. Taking advantage of DPR capabilities, the architecture must provide support for a dynamic use of resources in real time. • Exploit concurrent processing capabilities in a standard bus-based system by optimizing data transactions to and from HW accelerators. • Measure the advantage of HW acceleration as a technique to boost performance to improve processing times and save energy by reducing active times for distributed embedded systems. • Dynamically change the levels of HW redundancy to adapt fault tolerance in real time. • Provide HW abstraction from SW application design. FPGAs give the possibility of designing specific HW blocks for every required task to optimise performance while some of them include the possibility of including DPR. Apart from the possibilities provided by manufacturers, the way these HW modules are organised, addressed and multiplexed in area and time can improve computing performance and energy consumption. At the same time, fault tolerance and security techniques can also be dynamically included using DPR. However, the inherent complexity of designing new HW modules for every application is not negligible. It does not only consist of the HW description, but also the design of drivers and interfaces with the rest of the system, while the design space is widened and more complex to define and program. Even though the tools provided by the majority of manufacturers already include predefined bus interfaces, commercial IPs, and templates to ease application prototyping, it is necessary to improve these capabilities. By adding new architectures on top of them, it is possible to take advantage of parallelization and HW redundancy while providing a framework to ease the use of dynamic resource management. ARTICo3 works within a solution space where working points change at run time in a 3D space defined by three different axes: Computation, Consumption, and Fault Tolerance. Therefore, every working point is found as a trade-off solution among these three axes. By means of DPR, different accelerators can be multiplexed so that the amount of available resources for any application is virtually unlimited. Taking advantage of DPR capabilities and a novel way of transmitting data to the reconfigurable HW accelerators, it is possible to dedicate a dynamically-changing number of resources for a given task in order to either boost computing speed or adding HW redundancy and a voting process to increase fault-tolerance levels. At the same time, using an optimised amount of resources for a given task reduces energy consumption by reducing instant power or computing time. In order to keep level complexity under certain limits, it is important that HW changes are transparent for the application code. Therefore, different levels of transparency are targeted by the system: • Scalability transparency: a task must be able to expand its resources without changing the system structure or application algorithms. • Performance transparency: the system must reconfigure itself as load changes. • Replication transparency: multiple instances of the same task are loaded to increase reliability and performance. • Location transparency: resources are accessed with no knowledge of their location by the application code. • Failure transparency: task must be completed despite a failure in some components. • Concurrency transparency: different tasks will work in a concurrent way transparent to the application code. Therefore, as it can be seen, the Thesis is contributing in two different ways. First with the design of the HiReCookie platform and, second with the design of the ARTICo3 architecture. The main contributions of this PhD Thesis are then listed below: • Architecture of the HiReCookie platform including: o Compatibility of the processing layer for high performance applications with the Cookies Wireless Sensor Network platform for fast prototyping and implementation. o A division of the architecture in power islands. o All the different low-power modes. o The creation of the partial-initial bitstream together with the wake-up policies of the node. • The design of the reconfigurable architecture for SRAM FPGAs: ARTICo3: o A model of computation and execution modes inspired in CUDA but based on reconfigurable HW with a dynamic number of thread blocks per kernel. o A structure to optimise burst data transactions providing coalesced or parallel data to HW accelerators, parallel voting process and reduction operation. o The abstraction provided to the host processor with respect to the operation of the kernels in terms of the number of replicas, modes of operation, location in the reconfigurable area and addressing. o The architecture of the modules representing the thread blocks to make the system scalable by adding functional units only adding an access to a BRAM port. o The online characterization of the kernels to provide information to a scheduler or resource manager in terms of energy consumption and processing time when changing among different fault-tolerance levels, as well as if a kernel is expected to work in the memory-bounded or computing-bounded areas. The document of the Thesis is divided into two main parts with a total of five chapters. First, after motivating the need for new platforms to cover new more demanding applications, the design of the HiReCookie platform, its parts and several partial tests are detailed. The design of the platform alone does not cover all the needs of these applications. Therefore, the second part describes the architecture inside the FPGA, called ARTICo3, proposed in this PhD Thesis. The architecture and its implementation are tested in terms of energy consumption and computing performance showing different possibilities to improve fault tolerance and how this impact in energy and time of processing. Chapter 1 shows the main goals of this PhD Thesis and the technology background required to follow the rest of the document. Chapter 2 shows all the details about the design of the FPGA-based platform HiReCookie. Chapter 3 describes the ARTICo3 architecture. Chapter 4 is focused on the validation tests of the ARTICo3 architecture. An application for proof of concept is explained where typical kernels related to image processing and encryption algorithms are used. Further experimental analyses are performed using these kernels. Chapter 5 concludes the document analysing conclusions, comments about the contributions of the work, and some possible future lines for the work.
Resumo:
I. GENERALIDADES 1.1. Introducción Entre los diversos tipos de perturbaciones eléctricas, los huecos de tensión son considerados el problema de calidad de suministro más frecuente en los sistemas eléctricos. Este fenómeno es originado por un aumento extremo de la corriente en el sistema, causado principalmente por cortocircuitos o maniobras inadecuadas en la red. Este tipo de perturbación eléctrica está caracterizado básicamente por dos parámetros: tensión residual y duración. Típicamente, se considera que el hueco se produce cuando la tensión residual alcanza en alguna de las fases un valor entre 0.01 a 0.9 pu y tiene una duración de hasta 60 segundos. Para un usuario final, el efecto más relevante de un hueco de tensión es la interrupción o alteración de la operación de sus equipos, siendo los dispositivos de naturaleza electrónica los principalmente afectados (p. ej. ordenador, variador de velocidad, autómata programable, relé, etc.). Debido al auge tecnológico de las últimas décadas y a la búsqueda constante de automatización de los procesos productivos, el uso de componentes electrónicos resulta indispensable en la actualidad. Este hecho, lleva a que los efectos de los huecos de tensión sean más evidentes para el usuario final, provocando que su nivel de exigencia de la calidad de energía suministrada sea cada vez mayor. De forma general, el estudio de los huecos de tensión suele ser abordado bajo dos enfoques: en la carga o en la red. Desde el punto de vista de la carga, se requiere conocer las características de sensibilidad de los equipos para modelar su respuesta ante variaciones súbitas de la tensión del suministro eléctrico. Desde la perspectiva de la red, se busca estimar u obtener información adecuada que permita caracterizar su comportamiento en términos de huecos de tensión. En esta tesis, el trabajo presentado se encuadra en el segundo aspecto, es decir, en el modelado y estimación de la respuesta de un sistema eléctrico de potencia ante los huecos de tensión. 1.2. Planteamiento del problema A pesar de que los huecos de tensión son el problema de calidad de suministro más frecuente en las redes, hasta la actualidad resulta complejo poder analizar de forma adecuada este tipo de perturbación para muchas compañías del sector eléctrico. Entre las razones más comunes se tienen: - El tiempo de monitorización puede llegar a ser de varios años para conseguir una muestra de registros de huecos estadísticamente válida. - La limitación de recursos económicos para la adquisición e instalación de equipos de monitorización de huecos. - El elevado coste operativo que implica el análisis de los datos de los medidores de huecos de tensión instalados. - La restricción que tienen los datos de calidad de energía de las compañías eléctricas. Es decir, ante la carencia de datos que permitan analizar con mayor detalle los huecos de tensión, es de interés de las compañías eléctricas y la academia poder crear métodos fiables que permitan profundizar en el estudio, estimación y supervisión de este fenómeno electromagnético. Los huecos de tensión, al ser principalmente originados por eventos fortuitos como los cortocircuitos, son el resultado de diversas variables exógenas como: (i) la ubicación de la falta, (ii) la impedancia del material de contacto, (iii) el tipo de fallo, (iv) la localización del fallo en la red, (v) la duración del evento, etc. Es decir, para plantear de forma adecuada cualquier modelo teórico sobre los huecos de tensión, se requeriría representar esta incertidumbre combinada de las variables para proveer métodos realistas y, por ende, fiables para los usuarios. 1.3. Objetivo La presente tesis ha tenido como objetivo el desarrollo diversos métodos estocásticos para el estudio, estimación y supervisión de los huecos de tensión en los sistemas eléctricos de potencia. De forma específica, se ha profundizado en los siguientes ámbitos: - En el modelado realista de las variables que influyen en la caracterización de los huecos. Esto es, en esta Tesis se ha propuesto un método que permite representar de forma verosímil su cuantificación y aleatoriedad en el tiempo empleando distribuciones de probabilidad paramétricas. A partir de ello, se ha creado una herramienta informática que permite estimar la severidad de los huecos de tensión en un sistema eléctrico genérico. - Se ha analizado la influencia la influencia de las variables de entrada en la estimación de los huecos de tensión. En este caso, el estudio se ha enfocado en las variables de mayor divergencia en su caracterización de las propuestas existentes. - Se ha desarrollado un método que permite estima el número de huecos de tensión de una zona sin monitorización a través de la información de un conjunto limitado de medidas de un sistema eléctrico. Para ello, se aplican los principios de la estadística Bayesiana, estimando el número de huecos de tensión más probable de un emplazamiento basándose en los registros de huecos de otros nudos de la red. - Plantear una estrategia para optimizar la monitorización de los huecos de tensión en un sistema eléctrico. Es decir, garantizar una supervisión del sistema a través de un número de medidores menor que el número de nudos de la red. II. ESTRUCTURA DE LA TESIS Para plantear las propuestas anteriormente indicadas, la presente Tesis se ha estructurado en seis capítulos. A continuación, se describen brevemente los mismos. A manera de capítulo introductorio, en el capítulo 1, se realiza una descripción del planteamiento y estructura de la presente tesis. Esto es, se da una visión amplia de la problemática a tratar, además de describir el alcance de cada capítulo de la misma. En el capítulo 2, se presenta una breve descripción de los fundamentos y conceptos generales de los huecos de tensión. Los mismos, buscan brindar al lector de una mejor comprensión de los términos e indicadores más empleados en el análisis de severidad de los huecos de tensión en las redes eléctricas. Asimismo, a manera de antecedente, se presenta un resumen de las principales características de las técnicas o métodos existentes aplicados en la predicción y monitorización óptima de los huecos de tensión. En el capítulo 3, se busca fundamentalmente conocer la importancia de las variables que determinen la frecuencia o severidad de los huecos de tensión. Para ello, se ha implementado una herramienta de estimación de huecos de tensión que, a través de un conjunto predeterminado de experimentos mediante la técnica denominada Diseño de experimentos, analiza la importancia de la parametrización de las variables de entrada del modelo. Su análisis, es realizado mediante la técnica de análisis de la varianza (ANOVA), la cual permite establecer con rigor matemático si la caracterización de una determinada variable afecta o no la respuesta del sistema en términos de los huecos de tensión. En el capítulo 4, se propone una metodología que permite predecir la severidad de los huecos de tensión de todo el sistema a partir de los registros de huecos de un conjunto reducido de nudos de dicha red. Para ello, se emplea el teorema de probabilidad condicional de Bayes, el cual calcula las medidas más probables de todo el sistema a partir de la información proporcionada por los medidores de huecos instalados. Asimismo, en este capítulo se revela una importante propiedad de los huecos de tensión, como es la correlación del número de eventos de huecos de tensión en diversas zonas de las redes eléctricas. En el capítulo 5, se desarrollan dos métodos de localización óptima de medidores de huecos de tensión. El primero, que es una evolución metodológica del criterio de observabilidad; aportando en el realismo de la pseudo-monitorización de los huecos de tensión con la que se calcula el conjunto óptimo de medidores y, por ende, en la fiabilidad del método. Como una propuesta alternativa, se emplea la propiedad de correlación de los eventos de huecos de tensión de una red para plantear un método que permita establecer la severidad de los huecos de todo el sistema a partir de una monitorización parcial de dicha red. Finalmente, en el capítulo 6, se realiza una breve descripción de las principales aportaciones de los estudios realizados en esta tesis. Adicionalmente, se describen diversos temas a desarrollar en futuros trabajos. III. RESULTADOS En base a las pruebas realizadas en las tres redes planteadas; dos redes de prueba IEEE de 24 y 118 nudos (IEEE-24 e IEEE-118), además del sistema eléctrico de la República del Ecuador de 357 nudos (EC-357), se describen los siguientes puntos como las observaciones más relevantes: A. Estimación de huecos de tensión en ausencia de medidas: Se implementa un método estocástico de estimación de huecos de tensión denominado PEHT, el cual representa con mayor realismo la simulación de los eventos de huecos de un sistema a largo plazo. Esta primera propuesta de la tesis, es considerada como un paso clave para el desarrollo de futuros métodos del presente trabajo, ya que permite emular de forma fiable los registros de huecos de tensión a largo plazo en una red genérica. Entre las novedades más relevantes del mencionado Programa de Estimación de Huecos de Tensión (PEHT) se tienen: - Considerar el efecto combinado de cinco variables aleatorias de entrada para simular los eventos de huecos de tensión en una pseudo-monitorización a largo plazo. Las variables de entrada modeladas en la caracterización de los huecos de tensión en el PEHT son: (i) coeficiente de fallo, (ii) impedancia de fallo, (iii) tipo de fallo, (iv) localización del fallo y (v) duración. - El modelado estocástico de las variables de entrada impedancia de fallo y duración en la caracterización de los eventos de huecos de tensión. Para la parametrización de las variables mencionadas, se realizó un estudio detallado del comportamiento real de las mismas en los sistemas eléctricos. Asimismo, se define la función estadística que mejor representa la naturaleza aleatoria de cada variable. - Considerar como variables de salida del PEHT a indicadores de severidad de huecos de uso común en las normativas, como es el caso de los índices: SARFI-X, SARFI-Curve, etc. B. Análisis de sensibilidad de los huecos de tensión: Se presenta un estudio causa-efecto (análisis de sensibilidad) de las variables de entrada de mayor divergencia en su parametrización entre las referencias relacionadas a la estimación de los huecos de tensión en redes eléctricas. De forma específica, se profundiza en el estudio de la influencia de la parametrización de las variables coeficiente de fallo e impedancia de fallo en la predicción de los huecos de tensión. A continuación un resumen de las conclusiones más destacables: - La precisión de la variable de entrada coeficiente de fallo se muestra como un parámetro no influyente en la estimación del número de huecos de tensión (SARFI-90 y SARFI-70) a largo plazo. Es decir, no se requiere de una alta precisión del dato tasa de fallo de los elementos del sistema para obtener una adecuada estimación de los huecos de tensión. - La parametrización de la variable impedancia de fallo se muestra como un factor muy sensible en la estimación de la severidad de los huecos de tensión. Por ejemplo, al aumentar el valor medio de esta variable aleatoria, se disminuye considerablemente la severidad reportada de los huecos en la red. Por otra parte, al evaluar el parámetro desviación típica de la impedancia de fallo, se observa una relación directamente proporcional de este parámetro con la severidad de los huecos de tensión de la red. Esto es, al aumentar la desviación típica de la impedancia de fallo, se evidencia un aumento de la media y de la variación interanual de los eventos SARFI-90 y SARFI-70. - En base al análisis de sensibilidad desarrollado en la variable impedancia de fallo, se considera muy cuestionable la fiabilidad de los métodos de estimación de huecos de tensión que omiten su efecto en el modelo planteado. C. Estimación de huecos de tensión en base a la información de una monitorización parcial de la red: Se desarrolla un método que emplea los registros de una red parcialmente monitorizada para determinar la severidad de los huecos de todo el sistema eléctrico. A partir de los casos de estudio realizados, se observa que el método implementado (PEHT+MP) posee las siguientes características: - La metodología propuesta en el PEHT+MP combina la teoría clásica de cortocircuitos con diversas técnicas estadísticas para estimar, a partir de los datos de los medidores de huecos instalados, las medidas de huecos de los nudos sin monitorización de una red genérica. - El proceso de estimación de los huecos de tensión de la zona no monitorizada de la red se fundamenta en la aplicación del teorema de probabilidad condicional de Bayes. Es decir, en base a los datos observados (los registros de los nudos monitorizados), el PEHT+MP calcula de forma probabilística la severidad de los huecos de los nudos sin monitorización del sistema. Entre las partes claves del procedimiento propuesto se tienen los siguientes puntos: (i) la creación de una base de datos realista de huecos de tensión a través del Programa de Estimación de Huecos de Tensión (PEHT) propuesto en el capítulo anterior; y, (ii) el criterio de máxima verosimilitud empleado para estimar las medidas de huecos de los nudos sin monitorización de la red evaluada. - Las predicciones de medidas de huecos de tensión del PEHT+MP se ven potenciadas por la propiedad de correlación de los huecos de tensión en diversas zonas de un sistema eléctrico. Esta característica intrínseca de las redes eléctricas limita de forma significativa la respuesta de las zonas fuertemente correlacionadas del sistema ante un eventual hueco de tensión. Como el PEHT+MP está basado en principios probabilísticos, la reducción del rango de las posibles medidas de huecos se ve reflejado en una mejor predicción de las medidas de huecos de la zona no monitorizada. - Con los datos de un conjunto de medidores relativamente pequeño del sistema, es posible obtener estimaciones precisas (error nulo) de la severidad de los huecos de la zona sin monitorizar en las tres redes estudiadas. - El PEHT+MP se puede aplicar a diversos tipos de indicadores de severidad de los huecos de tensión, como es el caso de los índices: SARFI-X, SARFI-Curve, SEI, etc. D. Localización óptima de medidores de huecos de tensión: Se plantean dos métodos para ubicar de forma estratégica al sistema de monitorización de huecos en una red genérica. La primera propuesta, que es una evolución metodológica de la localización óptima de medidores de huecos basada en el criterio de observabilidad (LOM+OBS); y, como segunda propuesta, un método que determina la localización de los medidores de huecos según el criterio del área de correlación (LOM+COR). Cada método de localización óptima de medidores propuesto tiene un objetivo concreto. En el caso del LOM+OBS, la finalidad del método es determinar el conjunto óptimo de medidores que permita registrar todos los fallos que originen huecos de tensión en la red. Por otro lado, en el método LOM+COR se persigue definir un sistema óptimo de medidores que, mediante la aplicación del PEHT+MP (implementado en el capítulo anterior), sea posible estimar de forma precisa las medidas de huecos de tensión de todo el sistema evaluado. A partir del desarrollo de los casos de estudio de los citados métodos de localización óptima de medidores en las tres redes planteadas, se describen a continuación las observaciones más relevantes: - Como la generación de pseudo-medidas de huecos de tensión de los métodos de localización óptima de medidores (LOM+OBS y LOM+COR) se obtienen mediante la aplicación del algoritmo PEHT, la formulación del criterio de optimización se realiza en base a una pseudo-monitorización realista, la cual considera la naturaleza aleatoria de los huecos de tensión a través de las cinco variables estocásticas modeladas en el PEHT. Esta característica de la base de datos de pseudo-medidas de huecos de los métodos LOM+OBS y LOM+COR brinda una mayor fiabilidad del conjunto óptimo de medidores calculado respecto a otros métodos similares en la bibliografía. - El conjunto óptimo de medidores se determina según la necesidad del operador de la red. Esto es, si el objetivo es registrar todos los fallos que originen huecos de tensión en el sistema, se emplea el criterio de observabilidad en la localización óptima de medidores de huecos. Por otra parte, si se plantea definir un sistema de monitorización que permita establecer la severidad de los huecos de tensión de todo el sistema en base a los datos de un conjunto reducido de medidores de huecos, el criterio de correlación resultaría el adecuado. De forma específica, en el caso del método LOM+OBS, basado en el criterio de observabilidad, se evidenciaron las siguientes propiedades en los casos de estudio realizados: - Al aumentar el tamaño de la red, se observa la tendencia de disminuir el porcentaje de nudos monitorizados de dicho sistema. Por ejemplo, para monitorizar los fallos que originan huecos en la red IEEE-24, se requiere monitorizar el 100\% de los nudos del sistema. En el caso de las redes IEEE-118 y EC-357, el método LOM+OBS determina que con la monitorización de un 89.5% y 65.3% del sistema, respectivamente, se cumpliría con el criterio de observabilidad del método. - El método LOM+OBS permite calcular la probabilidad de utilización del conjunto óptimo de medidores a largo plazo, estableciendo así un criterio de la relevancia que tiene cada medidor considerado como óptimo en la red. Con ello, se puede determinar el nivel de precisión u observabilidad (100%, 95%, etc.) con el cual se detectarían los fallos que generan huecos en la red estudiada. Esto es, al aumentar el nivel de precisión de detección de los fallos que originan huecos, se espera que aumente el número de medidores requeridos en el conjunto óptimo de medidores calculado. - El método LOM+OBS se evidencia como una técnica aplicable a todo tipo de sistema eléctrico (radial o mallado), el cual garantiza la detección de los fallos que originan huecos de tensión en un sistema según el nivel de observabilidad planteado. En el caso del método de localización óptima de medidores basado en el criterio del área de correlación (LOM+COR), las diversas pruebas realizadas evidenciaron las siguientes conclusiones: - El procedimiento del método LOM+COR combina los métodos de estimación de huecos de tensión de capítulos anteriores (PEHT y PEHT+MP) con técnicas de optimización lineal para definir la localización óptima de los medidores de huecos de tensión de una red. Esto es, se emplea el PEHT para generar los pseudo-registros de huecos de tensión, y, en base al criterio planteado de optimización (área de correlación), el LOM+COR formula y calcula analíticamente el conjunto óptimo de medidores de la red a largo plazo. A partir de la información registrada por este conjunto óptimo de medidores de huecos, se garantizaría una predicción precisa de la severidad de los huecos de tensión de todos los nudos del sistema con el PEHT+MP. - El método LOM+COR requiere un porcentaje relativamente reducido de nudos del sistema para cumplir con las condiciones de optimización establecidas en el criterio del área de correlación. Por ejemplo, en el caso del número total de huecos (SARFI-90) de las redes IEEE-24, IEEE-118 y EC-357, se calculó un conjunto óptimo de 9, 12 y 17 medidores de huecos, respectivamente. Es decir, solamente se requeriría monitorizar el 38\%, 10\% y 5\% de los sistemas indicados para supervisar los eventos SARFI-90 en toda la red. - El método LOM+COR se muestra como un procedimiento de optimización versátil, el cual permite reducir la dimensión del sistema de monitorización de huecos de redes eléctricas tanto radiales como malladas. Por sus características, este método de localización óptima permite emular una monitorización integral del sistema a través de los registros de un conjunto pequeño de monitores. Por ello, este nuevo método de optimización de medidores sería aplicable a operadores de redes que busquen disminuir los costes de instalación y operación del sistema de monitorización de los huecos de tensión. ABSTRACT I. GENERALITIES 1.1. Introduction Among the various types of electrical disturbances, voltage sags are considered the most common quality problem in power systems. This phenomenon is caused by an extreme increase of the current in the network, primarily caused by short-circuits or inadequate maneuvers in the system. This type of electrical disturbance is basically characterized by two parameters: residual voltage and duration. Typically, voltage sags occur when the residual voltage, in some phases, reaches a value between 0.01 to 0.9 pu and lasts up to 60 seconds. To an end user, the most important effect of a voltage sags is the interruption or alteration of their equipment operation, with electronic devices the most affected (e.g. computer, drive controller, PLC, relay, etc.). Due to the technology boom of recent decades and the constant search for automating production processes, the use of electronic components is essential today. This fact makes the effects of voltage sags more noticeable to the end user, causing the level of demand for a quality energy supply to be increased. In general, the study of voltage sags is usually approached from one of two aspects: the load or the network. From the point of view of the load, it is necessary to know the sensitivity characteristics of the equipment to model their response to sudden changes in power supply voltage. From the perspective of the network, the goal is to estimate or obtain adequate information to characterize the network behavior in terms of voltage sags. In this thesis, the work presented fits into the second aspect; that is, in the modeling and estimation of the response of a power system to voltage sag events. 1.2. Problem Statement Although voltage sags are the most frequent quality supply problem in electrical networks, thistype of disturbance remains complex and challenging to analyze properly. Among the most common reasons for this difficulty are: - The sag monitoring time, because it can take up to several years to get a statistically valid sample. - The limitation of funds for the acquisition and installation of sag monitoring equipment. - The high operating costs involved in the analysis of the voltage sag data from the installed monitors. - The restrictions that electrical companies have with the registered power quality data. That is, given the lack of data to further voltage sag analysis, it is of interest to electrical utilities and researchers to create reliable methods to deepen the study, estimation and monitoring of this electromagnetic phenomenon. Voltage sags, being mainly caused by random events such as short-circuits, are the result of various exogenous variables such as: (i) the number of faults of a system element, (ii) the impedance of the contact material, (iii) the fault type, (iv) the fault location, (v) the duration of the event, etc. That is, to properly raise any theoretical model of voltage sags, it is necessary to represent the combined uncertainty of variables to provide realistic methods that are reliable for users. 1.3. Objective This Thesis has been aimed at developing various stochastic methods for the study, estimation and monitoring of voltage sags in electrical power systems. Specifically, it has deepened the research in the following areas: - This research furthers knowledge in the realistic modeling of the variables that influence sag characterization. This thesis proposes a method to credibly represent the quantification and randomness of the sags in time by using parametric probability distributions. From this, a software tool was created to estimate the severity of voltage sags in a generic power system. - This research also analyzes the influence of the input variables in the estimation of voltage sags. In this case, the study has focused on the variables of greatest divergence in their characterization of the existing proposals. - A method was developed to estimate the number of voltage sags of an area without monitoring through the information of a limited set of sag monitors in an electrical system. To this end, the principles of Bayesian statistics are applied, estimating the number of sags most likely to happen in a system busbar based in records of other sag network busbars. - A strategy was developed to optimize the monitorization of voltage sags on a power system. Its purpose is to ensure the monitoring of the system through a number of monitors lower than the number of busbars of the network assessed. II. THESIS STRUCTURE To describe in detail the aforementioned proposals, this Thesis has been structured into six chapters. Below is are brief descriptions of them: As an introductory chapter, Chapter 1, provides a description of the approach and structure of this thesis. It presents a wide view of the problem to be treated, in addition to the description of the scope of each chapter. In Chapter 2, a brief description of the fundamental and general concepts of voltage sags is presented to provide to the reader a better understanding of the terms and indicators used in the severity analysis of voltage sags in power networks. Also, by way of background, a summary of the main features of existing techniques or methods used in the prediction and optimal monitoring of voltage sags is also presented. Chapter 3 essentially seeks to know the importance of the variables that determine the frequency or severity of voltage sags. To do this, a tool to estimate voltage sags is implemented that, through a predetermined set of experiments using the technique called Design of Experiments, discusses the importance of the parameters of the input variables of the model. Its analysis is interpreted by using the technique of analysis of variance (ANOVA), which provides mathematical rigor to establish whether the characterization of a particular variable affects the system response in terms of voltage sags or not. In Chapter 4, a methodology to predict the severity of voltage sags of an entire system through the sag logs of a reduced set of monitored busbars is proposed. For this, the Bayes conditional probability theorem is used, which calculates the most likely sag severity of the entire system from the information provided by the installed monitors. Also, in this chapter an important property of voltage sags is revealed, as is the correlation of the voltage sags events in several zones of a power system. In Chapter 5, two methods of optimal location of voltage sag monitors are developed. The first one is a methodological development of the observability criteria; it contributes to the realism of the sag pseudo-monitoring with which the optimal set of sag monitors is calculated and, therefore, to the reliability of the proposed method. As an alternative proposal, the correlation property of the sag events of a network is used to raise a method that establishes the sag severity of the entire system from a partial monitoring of the network. Finally, in Chapter 6, a brief description of the main contributions of the studies in this Thesis is detailed. Additionally, various themes to be developed in future works are described. III. RESULTS. Based on tests on the three networks presented, two IEEE test networks of 24 and 118 busbars (IEEE-24 and IEEE-118) and the electrical system of the Republic of Ecuador (EC-357), the following points present the most important observations: A. Estimation of voltage sags in the absence of measures: A stochastic estimation method of voltage sags, called PEHT, is implemented to represent with greater realism the long-term simulation of voltage sags events in a system. This first proposal of this thesis is considered a key step for the development of future methods of this work, as it emulates in a reliable manner the voltage sag long-term records in a generic network. Among the main innovations of this voltage sag estimation method are the following: - Consideration of the combined effect of five random input variables to simulate the events of voltage sags in long-term monitoring is included. The input variables modeled in the characterization of voltage sags on the PEHT are as follows: (i) fault coefficient, (ii) fault impedance, (iii) type of fault, (iv) location of the fault, and (v) fault duration. - Also included is the stochastic modeling of the input variables of fault impedance and duration in the characterization of the events of voltage sags. For the parameterization of these variables, a detailed study of the real behavior in power systems is developed. Also, the statistical function best suited to the random nature of each variable is defined. - Consideration of sag severity indicators used in standards as PEHT output variables, including such as indices as SARFI-X, SARFI-Curve, etc. B. Sensitivity analysis of voltage sags: A cause-effect study (sensitivity analysis) of the input variables of greatest divergence between reference parameterization related to the estimation of voltage sags in electrical networks is presented. Specifically, it delves into the study of the influence of the parameterization of the variables fault coefficient and fault impedance in the voltage sag estimation. Below is a summary of the most notable observations: - The accuracy of the input variable fault coefficient is shown as a non-influential parameter in the long-term estimation of the number of voltage sags (SARFI-90 and SARFI-70). That is, it does not require a high accuracy of the fault rate data of system elements for a proper voltage sag estimation. - The parameterization of the variable fault impedance is shown to be a very sensitive factor in the estimation of the voltage sag severity. For example, by increasing the average value of this random variable, the reported sag severity in the network significantly decreases. Moreover, in assessing the standard deviation of the fault impedance parameter, a direct relationship of this parameter with the voltage sag severity of the network is observed. That is, by increasing the fault impedance standard deviation, an increase of the average and the interannual variation of the SARFI-90 and SARFI-70 events is evidenced. - Based on the sensitivity analysis developed in the variable fault impedance, the omission of this variable in the voltage sag estimation would significantly call into question the reliability of the responses obtained. C. Voltage sag estimation from the information of a network partially monitored: A method that uses the voltage sag records of a partially monitored network for the sag estimation of all the power system is developed. From the case studies performed, it is observed that the method implemented (PEHT+MP) has the following characteristics: - The methodology proposed in the PEHT+MP combines the classical short-circuit theory with several statistical techniques to estimate, from data the of the installed sag meters, the sag measurements of unmonitored busbars of a generic power network. - The estimation process of voltage sags of the unmonitored zone of the network is based on the application of the conditional probability theorem of Bayes. That is, based on the observed data (monitored busbars records), the PEHT+MP calculates probabilistically the sag severity at unmonitored system busbars. Among the key parts of the proposed procedure are the following: (i) the creation of a realistic data base of voltage sags through of the sag estimation program (PEHT); and, (ii) the maximum likelihood criterion used to estimate the sag indices of system busbars without monitoring. - The voltage sag measurement estimations of PEHT+MP are potentiated by the correlation property of the sag events in power systems. This inherent characteristic of networks significantly limits the response of strongly correlated system zones to a possible voltage sag. As the PEHT+MP is based on probabilistic principles, a reduction of the range of possible sag measurements is reflected in a better sag estimation of the unmonitored area of the power system. - From the data of a set of monitors representing a relatively small portion of the system, to obtain accurate estimations (null error) of the sag severity zones without monitoring is feasible in the three networks studied. - The PEHT+MP can be applied to several types of sag indices, such as: SARFI-X, SARFI-Curve, SEI, etc. D. Optimal location of voltage sag monitors in power systems: Two methods for strategically locating the sag monitoring system are implemented for a generic network. The first proposal is a methodological development of the optimal location of sag monitors based on the observability criterion (LOM + OBS); the second proposal is a method that determines the sag monitor location according to the correlation area criterion (LOM+COR). Each proposed method of optimal location of sag monitors has a specific goal. In the case of LOM+OBS, the purpose of the method is to determine the optimal set of sag monitors to record all faults that originate voltage sags in the network. On the other hand, the LOM+COR method attempts to define the optimal location of sag monitors to estimate the sag indices in all the assessed network with the PEHT+MP application. From the development of the case studies of these methods of optimal location of sag monitors in the three networks raised, the most relevant observations are described below: - As the generation of voltage sag pseudo-measurements of the optimal location methods (LOM+OBS and LOM+COR) are obtained by applying the algorithm PEHT, the formulation of the optimization criterion is performed based on a realistic sag pseudo-monitoring, which considers the random nature of voltage sags through the five stochastic variables modeled in PEHT. This feature of the database of sag pseudo-measurements of the LOM+OBS and LOM+COR methods provides a greater reliability of the optimal set of monitors calculated when compared to similar methods in the bibliography. - The optimal set of sag monitors is determined by the network operator need. That is, if the goal is to record all faults that originate from voltage sags in the system, the observability criterion is used to determine the optimal location of sag monitors (LOM+OBS). Moreover, if the objective is to define a monitoring system that allows establishing the sag severity of the system from taken from information based on a limited set of sag monitors, the correlation area criterion would be appropriate (LOM+COR). Specifically, in the case of the LOM+OBS method (based on the observability criterion), the following properties were observed in the case studies: - By increasing the size of the network, there was observed a reduction in the percentage of monitored system busbars required. For example, to monitor all the faults which cause sags in the IEEE-24 network, then 100% of the system busbars are required for monitoring. In the case of the IEEE-118 and EC-357 networks, the method LOM+OBS determines that with monitoring 89.5 % and 65.3 % of the system, respectively, the observability criterion of the method would be fulfilled. - The LOM+OBS method calculates the probability of using the optimal set of sag monitors in the long term, establishing a relevance criterion of each sag monitor considered as optimal in the network. With this, the level of accuracy or observability (100%, 95%, etc.) can be determined, with which the faults that caused sags in the studied network are detected. That is, when the accuracy level for detecting faults that cause sags in the system is increased, a larger number of sag monitors is expected when calculating the optimal set of monitors. - The LOM + OBS method is demonstrated to be a technique applicable to any type of electrical system (radial or mesh), ensuring the detection of faults that cause voltage sags in a system according to the observability level raised. In the case of the optimal localization of sag monitors based on the criterion of correlation area (LOM+COR), several tests showed the following conclusions: - The procedure of LOM+COR method combines the implemented algorithms of voltage sag estimation (PEHT and PEHT+MP) with linear optimization techniques to define the optimal location of the sag monitors in a network. That is, the PEHT is used to generate the voltage sag pseudo-records, and, from the proposed optimization criterion (correlation area), the LOM+COR formulates and analytically calculates the optimal set of sag monitors of the network in the long term. From the information recorded by the optimal set of sag monitors, an accurate prediction of the voltage sag severity at all the busbars of the system is guaranteed with the PEHT+MP. - The LOM + COR method is shown to be a versatile optimization procedure, which reduces the size of the sag monitoring system both at radial as meshed grids. Due to its characteristics, this optimal location method allows emulation of complete system sag monitoring through the records of a small optimal set of sag monitors. Therefore, this new optimization method would be applicable to network operators that looks to reduce the installation and operation costs of the voltage sag monitoring system.
Resumo:
Hoy en día, existen numerosos sistemas (financieros, fabricación industrial, infraestructura de servicios básicos, etc.) que son dependientes del software. Según la definición de Ingeniería del Software realizada por I. Sommerville, “la Ingeniería del Software es una disciplina de la ingeniería que comprende todos los aspectos de la producción de software desde las etapas iniciales de la especificación del sistema, hasta el mantenimiento de éste después de que se utiliza.” “La ingeniería del software no sólo comprende los procesos técnicos del desarrollo de software, sino también actividades tales como la gestión de proyectos de software y el desarrollo de herramientas, métodos y teorías de apoyo a la producción de software.” Los modelos de proceso de desarrollo software determinan una serie de pautas para poder desarrollar con éxito un proyecto de desarrollo software. Desde que surgieran estos modelos de proceso, se investigado en nuevas maneras de poder gestionar un proyecto y producir software de calidad. En primer lugar surgieron las metodologías pesadas o tradicionales, pero con el avance del tiempo y la tecnología, surgieron unas nuevas llamadas metodologías ágiles. En el marco de las metodologías ágiles cabe destacar una determinada práctica, la integración continua. Esta práctica surgió de la mano de Martin Fowler, con el objetivo de facilitar el trabajo en grupo y automatizar las tareas de integración. La integración continua se basa en la construcción automática de proyectos con una frecuencia alta, promoviendo la detección de errores en un momento temprano para poder dar prioridad a corregir dichos errores. Sin embargo, una de las claves del éxito en el desarrollo de cualquier proyecto software consiste en utilizar un entorno de trabajo que facilite, sistematice y ayude a aplicar un proceso de desarrollo de una forma eficiente. Este Proyecto Fin de Grado (PFG) tiene por objetivo el análisis de distintas herramientas para configurar un entorno de trabajo que permita desarrollar proyectos aplicando metodologías ágiles e integración continua de una forma fácil y eficiente. Una vez analizadas dichas herramientas, se ha propuesto y configurado un entorno de trabajo para su puesta en marcha y uso. Una característica a destacar de este PFG es que las herramientas analizadas comparten una cualidad común y de alto valor, son herramientas open-source. El entorno de trabajo propuesto en este PFG presenta una arquitectura cliente-servidor, dado que la mayoría de proyectos software se desarrollan en equipo, de tal forma que el servidor proporciona a los distintos clientes/desarrolladores acceso al conjunto de herramientas que constituyen el entorno de trabajo. La parte servidora del entorno propuesto proporciona soporte a la integración continua mediante herramientas de control de versiones, de gestión de historias de usuario, de análisis de métricas de software, y de automatización de la construcción de software. La configuración del cliente únicamente requiere de un entorno de desarrollo integrado (IDE) que soporte el lenguaje de programación Java y conexión con el servidor. ABSTRACT Nowadays, numerous systems (financial, industrial production, basic services infrastructure, etc.) depend on software. According to the Software Engineering definition made by I.Sommerville, “Software engineering is an engineering discipline that is concerned with all aspects of software production from the early stages of system specification through to maintaining the system after it has gone into use.” “Software engineering is not just concerned with the technical processes of software development. It also includes activities such as software project management and the development of tools, methods, and theories to support software production.” Software development process models determine a set of guidelines to successfully develop a software development project. Since these process models emerged, new ways of managing a project and producing software with quality have been investigated. First, the so-called heavy or traditional methodologies appeared, but with the time and the technological improvements, new methodologies emerged: the so-called agile methodologies. Agile methodologies promote, among other practices, continuous integration. This practice was coined by Martin Fowler and aims to make teamwork easier as well as automate integration tasks. Nevertheless, one of the keys to success in software projects is to use a framework that facilitates, systematize, and help to deploy a development process in an efficient way. This Final Degree Project (FDP) aims to analyze different tools to configure a framework that enables to develop projects by applying agile methodologies and continuous integration in an easy and efficient way. Once tools are analyzed, a framework has been proposed and configured. One of the main features of this FDP is that the tools under analysis share a common and high-valued characteristic: they are open-source. The proposed framework presents a client-server architecture, as most of the projects are developed by a team. In this way, the server provides access the clients/developers to the tools that comprise the framework. The server provides continuous integration through a set of tools for control management, user stories management, software quality management, and software construction automatization. The client configuration only requires a Java integrated development environment and network connection to the server.
Resumo:
Una Red de Procesadores Evolutivos o NEP (por sus siglas en ingles), es un modelo computacional inspirado por el modelo evolutivo de las celulas, específicamente por las reglas de multiplicación de las mismas. Esta inspiración hace que el modelo sea una abstracción sintactica de la manipulation de information de las celulas. En particu¬lar, una NEP define una maquina de cómputo teorica capaz de resolver problemas NP completos de manera eficiente en tóerminos de tiempo. En la praóctica, se espera que las NEP simuladas en móaquinas computacionales convencionales puedan resolver prob¬lemas reales complejos (que requieran ser altamente escalables) a cambio de una alta complejidad espacial. En el modelo NEP, las cóelulas estóan representadas por palabras que codifican sus secuencias de ADN. Informalmente, en cualquier momento de cómputo del sistema, su estado evolutivo se describe como un coleccion de palabras, donde cada una de ellas representa una celula. Estos momentos fijos de evolucion se denominan configuraciones. De manera similar al modelo biologico, las palabras (celulas) mutan y se dividen en base a bio-operaciones sencillas, pero solo aquellas palabras aptas (como ocurre de forma parecida en proceso de selection natural) seran conservadas para la siguiente configuracióon. Una NEP como herramienta de computation, define una arquitectura paralela y distribuida de procesamiento simbolico, en otras palabras, una red de procesadores de lenguajes. Desde el momento en que el modelo fue propuesto a la comunidad científica en el año 2001, múltiples variantes se han desarrollado y sus propiedades respecto a la completitud computacional, eficiencia y universalidad han sido ampliamente estudiadas y demostradas. En la actualidad, por tanto, podemos considerar que el modelo teórico NEP se encuentra en el estadio de la madurez. La motivación principal de este Proyecto de Fin de Grado, es proponer una aproxi-mación práctica que permita dar un salto del modelo teórico NEP a una implantación real que permita su ejecucion en plataformas computacionales de alto rendimiento, con el fin de solucionar problemas complejos que demanda la sociedad actual. Hasta el momento, las herramientas desarrolladas para la simulation del modelo NEP, si bien correctas y con resultados satisfactorios, normalmente estón atadas a su entorno de ejecucion, ya sea el uso de hardware específico o implementaciones particulares de un problema. En este contexto, el propósito fundamental de este trabajo es el desarrollo de Nepfix, una herramienta generica y extensible para la ejecucion de cualquier algo¬ritmo de un modelo NEP (o alguna de sus variantes), ya sea de forma local, como una aplicación tradicional, o distribuida utilizando los servicios de la nube. Nepfix es una aplicacion software desarrollada durante 7 meses y que actualmente se encuentra en su segunda iteration, una vez abandonada la fase de prototipo. Nepfix ha sido disenada como una aplicacion modular escrita en Java 8 y autocontenida, es decir, no requiere de un entorno de ejecucion específico (cualquier maquina virtual de Java es un contenedor vólido). Nepfix contiene dos componentes o móodulos. El primer móodulo corresponde a la ejecución de una NEP y es por lo tanto, el simulador. Para su desarrollo, se ha tenido en cuenta el estado actual del modelo, es decir, las definiciones de los procesadores y filtros mas comunes que conforman la familia del modelo NEP. Adicionalmente, este componente ofrece flexibilidad en la ejecucion, pudiendo ampliar las capacidades del simulador sin modificar Nepfix, usando para ello un lenguaje de scripting. Dentro del desarrollo de este componente, tambióen se ha definido un estóandar de representacióon del modelo NEP basado en el formato JSON y se propone una forma de representation y codificación de las palabras, necesaria para la comunicación entre servidores. Adicional-mente, una característica importante de este componente, es que se puede considerar una aplicacion aislada y por tanto, la estrategia de distribution y ejecución son total-mente independientes. El segundo moódulo, corresponde a la distribucióon de Nepfix en la nube. Este de-sarrollo es el resultado de un proceso de i+D, que tiene una componente científica considerable. Vale la pena resaltar el desarrollo de este modulo no solo por los resul-tados prócticos esperados, sino por el proceso de investigation que se se debe abordar con esta nueva perspectiva para la ejecución de sistemas de computación natural. La principal característica de las aplicaciones que se ejecutan en la nube es que son gestionadas por la plataforma y normalmente se encapsulan en un contenedor. En el caso de Nepfix, este contenedor es una aplicacion Spring que utiliza el protocolo HTTP o AMQP para comunicarse con el resto de instancias. Como valor añadido, Nepfix aborda dos perspectivas de implementation distintas (que han sido desarrolladas en dos iteraciones diferentes) del modelo de distribution y ejecucion, que tienen un impacto muy significativo en las capacidades y restricciones del simulador. En concreto, la primera iteration utiliza un modelo de ejecucion asincrono. En esta perspectiva asincrona, los componentes de la red NEP (procesadores y filtros) son considerados como elementos reactivos a la necesidad de procesar una palabra. Esta implementation es una optimization de una topologia comun en el modelo NEP que permite utilizar herramientas de la nube para lograr un escalado transparente (en lo ref¬erente al balance de carga entre procesadores) pero produce efectos no deseados como indeterminacion en el orden de los resultados o imposibilidad de distribuir eficiente-mente redes fuertemente interconectadas. Por otro lado, la segunda iteration corresponde al modelo de ejecucion sincrono. Los elementos de una red NEP siguen un ciclo inicio-computo-sincronizacion hasta que el problema se ha resuelto. Esta perspectiva sincrona representa fielmente al modelo teórico NEP pero el proceso de sincronizacion es costoso y requiere de infraestructura adicional. En concreto, se requiere un servidor de colas de mensajes RabbitMQ. Sin embargo, en esta perspectiva los beneficios para problemas suficientemente grandes superan a los inconvenientes, ya que la distribuciín es inmediata (no hay restricciones), aunque el proceso de escalado no es trivial. En definitiva, el concepto de Nepfix como marco computacional se puede considerar satisfactorio: la tecnología es viable y los primeros resultados confirman que las carac-terísticas que se buscaban originalmente se han conseguido. Muchos frentes quedan abiertos para futuras investigaciones. En este documento se proponen algunas aproxi-maciones a la solucion de los problemas identificados como la recuperacion de errores y la division dinamica de una NEP en diferentes subdominios. Por otra parte, otros prob-lemas, lejos del alcance de este proyecto, quedan abiertos a un futuro desarrollo como por ejemplo, la estandarización de la representación de las palabras y optimizaciones en la ejecucion del modelo síncrono. Finalmente, algunos resultados preliminares de este Proyecto de Fin de Grado han sido presentados recientemente en formato de artículo científico en la "International Work-Conference on Artificial Neural Networks (IWANN)-2015" y publicados en "Ad-vances in Computational Intelligence" volumen 9094 de "Lecture Notes in Computer Science" de Springer International Publishing. Lo anterior, es una confirmation de que este trabajo mas que un Proyecto de Fin de Grado, es solo el inicio de un trabajo que puede tener mayor repercusion en la comunidad científica. Abstract Network of Evolutionary Processors -NEP is a computational model inspired by the evolution of cell populations, which might model some properties of evolving cell communities at the syntactical level. NEP defines theoretical computing devices able to solve NP complete problems in an efficient manner. In this model, cells are represented by words which encode their DNA sequences. Informally, at any moment of time, the evolutionary system is described by a collection of words, where each word represents one cell. Cells belong to species and their community evolves according to mutations and division which are defined by operations on words. Only those cells are accepted as surviving (correct) ones which are represented by a word in a given set of words, called the genotype space of the species. This feature is analogous with the natural process of evolution. Formally, NEP is based on an architecture for parallel and distributed processing, in other words, a network of language processors. Since the date when NEP was pro¬posed, several extensions and variants have appeared engendering a new set of models named Networks of Bio-inspired Processors (NBP). During this time, several works have proved the computational power of NBP. Specifically, their efficiency, universality, and computational completeness have been thoroughly investigated. Therefore, we can say that the NEP model has reached its maturity. The main motivation for this End of Grade project (EOG project in short) is to propose a practical approximation that allows to close the gap between theoretical NEP model and a practical implementation in high performing computational platforms in order to solve some of high the high complexity problems society requires today. Up until now tools developed to simulate NEPs, while correct and successful, are usu¬ally tightly coupled to the execution environment, using specific software frameworks (Hadoop) or direct hardware usage (GPUs). Within this context the main purpose of this work is the development of Nepfix, a generic and extensible tool that aims to execute algorithms based on NEP model and compatible variants in a local way, similar to a traditional application or in a distributed cloud environment. Nepfix as an application was developed during a 7 month cycle and is undergoing its second iteration once the prototype period was abandoned. Nepfix is designed as a modular self-contained application written in Java 8, that is, no additional external dependencies are required and it does not rely on an specific execution environment, any JVM is a valid container. Nepfix is made of two components or modules. The first module corresponds to the NEP execution and therefore simulation. During the development the current state of the theoretical model was used as a reference including most common filters and processors. Additionally extensibility is provided by the use of Python as a scripting language to run custom logic. Along with the simulation a definition language for NEP has been defined based on JSON as well as a mechanisms to represent words and their possible manipulations. NEP simulator is isolated from distribution and as mentioned before different applications that include it as a dependency are possible, the distribution of NEPs is an example of this. The second module corresponds to executing Nepfix in the cloud. The development carried a heavy R&D process since this front was not explored by other research groups until now. It's important to point out that the development of this module is not focused on results at this point in time, instead we focus on feasibility and discovery of this new perspective to execute natural computing systems and NEPs specifically. The main properties of cloud applications is that they are managed by the platform and are encapsulated in a container. For Nepfix a Spring application becomes the container and the HTTP or AMQP protocols are used for communication with the rest of the instances. Different execution perspectives were studied, namely asynchronous and synchronous models were developed for solving different kind of problems using NEPs. Different limitations and restrictions manifest in both models and are explored in detail in the respective chapters. In conclusion we can consider that Nepfix as a computational framework is suc-cessful: Cloud technology is ready for the challenge and the first results reassure that the properties Nepfix project pursued were met. Many investigation branches are left open for future investigations. In this EOG implementation guidelines are proposed for some of them like error recovery or dynamic NEP splitting. On the other hand other interesting problems that were not in the scope of this project were identified during development like word representation standardization or NEP model optimizations. As a confirmation that the results of this work can be useful to the scientific com-munity a preliminary version of this project was published in The International Work- Conference on Artificial Neural Networks (IWANN) in May 2015. Development has not stopped since that point and while Nepfix in it's current state can not be consid¬ered a final product the most relevant ideas, possible problems and solutions that were produced during the seven months development cycle are worthy to be gathered and presented giving a meaning to this EOG work.
Resumo:
La evolución de las redes eléctricas se dirige hacia lo que se conoce como “Smart Grids” o “Redes Eléctricas Inteligentes”. Estas “Smart Grids” se componen de subestaciones eléctricas, que a su vez se componen de unos dispositivos llamados IEDs (Dispositivos Electrónicos Inteligentes – Intelligent Electronic Devices). El diseño de IEDs se encuentra definido en la norma IEC 61850, que especifica además un Lenguaje de Configuración de Subestaciones (Substation Configuration Language SCL) para la definición de la configuración de subestaciones y sus IEDs. Hoy en día, este estándar internacional no sólo se utiliza para diseñar correctamente IEDs y asegurar su interoperabilidad, sino que también se utiliza para el diseño de otros dispositivos de la red eléctrica, como por ejemplo, medidores inteligentes. Sin embargo, aunque existe una tendencia cada vez mayor del uso de este estándar, la comprensión y el manejo del mismo resulta difícil debido al gran volumen de información que lo compone y del nivel de detalle que utiliza, por lo que su uso para el diseño de IEDs se hace tedioso sin la ayuda de un soporte software. Es por ello que, para facilitar la aplicación del estándar IEC 61850 en el diseño de IEDs se han desarrollado herramientas como “Visual SCL”, “SCL Explorer” o “61850 SCLVisual Design Tool”. En concreto, “61850 SCLVisual Design Tool” es una herramienta gráfica para el modelado de subestaciones electricas, generada mediante el uso de los frameworks Eclipse Modeling Framework (EMF) y Epsilon Generative Modeling Technologies (GMT) y desarrollada por el grupo de investigación SYST de la UPM. El objetivo de este proyecto es añadir una nueva funcionalidad a la herramienta “61850 Visual SCL DesignTool”. Esta nueva funcionalidad consiste en la generación automática de un fichero de configuración de subestaciones eléctricas según el estándar IEC 61850 a partir de de una herramienta de diseño gráfico. Este fichero, se denomina SCD (Substation Configuration Description), y se trata de un fichero XML conforme a un esquema XSD (XML Schema Definition) mediante el que se define el lenguaje de configuración de subestaciones SCL del IEC 61850. Para el desarrollo de este proyecto, es necesario el estudio del lenguaje para la configuración de subestaciones SCL, así como del lenguaje gráfico específico de dominio definido por la herramienta “61850 SCLVisual Design Tool”, la estructura de los ficheros SCD, y finalmente, del lenguaje EGL (Epsilon Generation Language) para la transformación y generación automática de código a partir de modelos EMF. ABSTRACT Electrical networks are evolving to “Smart Grids”. Smart Grids are composed of electrical substations that in turn are composed of devices called IEDs (Intelligent Electronic Devices). The design of IEDs is defined by the IEC 61850 standard, which also specifies a Substation Configuration Languaje (SCL) used to define the configuration of substations and their IEDs. Nowadays, this international standard is not only used to design properly IEDs and guarantee their interoperability, but it is also used to design different electrical network devices, such as, smart meters. However, although the use of this standard is growing, its compression as well as its management, is still difficult due to its large volume of information and its level of detail. As a result, designing IEDs becomes a tedious task without a software support. As a consequence of this, in order to make easier the application of the IEC 61850 standard while designing IEDs, some software tools have been developed, such as: “Visual SCL”, “SCL Explorer” or “61850 SCLVisual Design Tool”. In particular, “61850 SCLVisual Design Tool” is a graphical tool used to make electrical substations models, and developed with the Eclipse Modeling Framework (EMF) and Epsilon Generative Modeling Technologies (GMT) by the research group SYST of the UPM. The aim of this project is to add a new functionality to “61850 Visual SCL DesignTool”. This new functionality consists of the automatic code generation of a substation configuration file according to the IEC 61850 standard. This file is called SCD (Substation Configuration Description), and it is a XML file that follows a XSD (XML Schema Definition) that defines the Substation Configuration Language (SCL) of the IEC 61850. In order to develop this project, it is necessary to study the Substation Configuration Language (SCL), the domain-specific graphical languaje defined by the tool “61850 SCLVisual Design Tool”, the structure of a SCD file, and the Epsilon Generation Language (EGL) used for the automatic code generation from EMF models
Resumo:
Until a few years ago, most of the network communications were based in the wire as the physical media, but due to the advances and the maturity of the wireless communications, this is changing. Nowadays wireless communications offers fast, secure, efficient and reliable connections. Mobile communications are in expansion, clearly driven by the use of smart phones and other mobile devices, the use of laptops, etc… Besides that point, the inversion in the installation and maintenance of the physical medium is much lower than in wired communications, not only because the air has no cost, but because the installation and maintenance of the wire require a high economic cost. Besides the economic cost we find that wire is a more vulnerable medium to external threats such as noise, sabotages, etc… There are two different types of wireless networks: those which the structure is part of the network itself and those which have a lack of structure or any centralization, in a way that the devices that form part of the network can connect themselves in a dynamic and random way, handling also the routing of every control and information messages, this kind of networks is known as Ad-hoc. In the present work we will proceed to study one of the multiple wireless protocols that allows mobile communications, it is Optimized Link State Routing, from now on, OLSR, it is an pro-active routing, standard mechanism that works in a distributed in order to stablish the connections among the different nodes that belong to a wireless network. Thanks to this protocol it is possible to get all the routing tables in all the devices correctly updated every moment through the periodical transmission of control messages and on this way allow a complete connectivity among the devices that are part of the network and also, allow access to other external networks such as virtual private networks o Internet. This protocol could be perfectly used in environments such as airports, malls, etc… The update of the routing tables in all the devices is got thanks to the periodical transmission of control messages and finally it will offer connectivity among all the devices and the corresponding external networks. For the study of OLSR protocol we will have the help of the network simulator “Network Simulator 2”, a freeware network simulator programmed in C++ based in discrete events. This simulator is used mainly in educational and research environments and allows a very extensive range of protocols, both, wired networks protocols and wireless network protocols, what is going to be really useful to proceed to the simulation of different configurations of networks and protocols. In the present work we will also study different simulations with Network Simulator 2, in different scenarios with different configurations, wired networks, and Ad-hoc networks, where we will study OLSR Protocol. RESUMEN. Hasta hace pocos años, la mayoría de las comunicaciones de red estaban basadas en el cable como medio físico pero debido al avance y madurez alcanzados en el campo de las comunicaciones inalámbricas esto está cambiando. Hoy día las comunicaciones inalámbricas nos ofrecen conexiones veloces, seguras, eficientes y fiables. Las comunicaciones móviles se encuentran en su momento de máxima expansión, claramente impulsadas por el uso de teléfonos y demás dispositivos móviles, el uso de portátiles, etc… Además la inversión a realizar en la instalación y el mantenimiento del medio físico en las comunicaciones móviles es muchísimo menor que en comunicaciones por cable, ya no sólo porque el aire no tenga coste alguno, sino porque la instalación y mantenimiento del cable precisan de un elevado coste económico por norma. Además del coste económico nos encontramos con que es un medio más vulnerable a amenazas externas tales como el ruido, escuchas no autorizadas, sabotajes, etc… Existen dos tipos de redes inalámbricas: las constituidas por una infraestructura que forma parte más o menos de la misma y las que carecen de estructura o centralización alguna, de modo que los dispositivos que forman parte de ella pueden conectarse de manera dinámica y arbitraria entre ellos, encargándose además del encaminamiento de todos los mensajes de control e información, a este tipo de redes se las conoce como redes Ad-hoc. En el presente Proyecto de Fin de Carrera se procederá al estudio de uno de los múltiples protocolos inalámbricos que permiten comunicaciones móviles, se trata del protocolo inalámbrico Optimized Link State Routing, de ahora en adelante OLSR, un mecanismo estándar de enrutamiento pro-activo, que trabaja de manera distribuida para establecer las conexiones entre los nodos que formen parte de las redes inalámbricas Ad-hoc, las cuales carecen de un nodo central y de una infraestructura pre-existente. Gracias a este protocolo es posible conseguir que todos los equipos mantengan en todo momento las tablas de ruta actualizadas correctamente mediante la transmisión periódica de mensajes de control y así permitir una completa conectividad entre todos los equipos que formen parte de la red y, a su vez, también permitir el acceso a otras redes externas tales como redes privadas virtuales o Internet. Este protocolo sería usado en entornos tales como aeropuertos La actualización de las tablas de enrutamiento de todos los equipos se conseguirá mediante la transmisión periódica de mensajes de control y así finalmente se podrá permitir conectividad entre todos los equipos y con las correspondientes redes externas. Para el estudio del protocolo OLSR contaremos con el simulador de redes Network Simulator 2, un simulador de redes freeware programado en C++ basado en eventos discretos. Este simulador es usado principalmente en ambientes educativos y de investigación y permite la simulación tanto de protocolos unicast como multicast. El campo donde más se utiliza es precisamente en el de la investigación de redes móviles Ad-hoc. El simulador Network Simulator 2 no sólo implementa el protocolo OLSR, sino que éste implementa una amplia gama de protocolos, tanto de redes cableadas como de redes inalámbricas, lo cual va a sernos de gran utilidad para proceder a la simulación de distintas configuraciones de redes y protocolos. En el presente Proyecto de Fin de Carrera se estudiarán también diversas simulaciones con el simulador NS2 en diferentes escenarios con diversas configuraciones; redes cableadas, redes inalámbricas Ad-hoc, donde se estudiará el protocolo antes mencionado: OLSR. Este Proyecto de Fin de Carrera consta de cuatro apartados distintos: Primeramente se realizará el estudio completo del protocolo OLSR, se verán los beneficios y contrapartidas que ofrece este protocolo inalámbrico. También se verán los distintos tipos de mensajes existentes en este protocolo y unos pequeños ejemplos del funcionamiento del protocolo OLSR. Seguidamente se hará una pequeña introducción al simulador de redes Network Simulator 2, veremos la historia de este simulador, y también se hará referencia a la herramienta extra NAM, la cual nos permitirá visualizar el intercambio de paquetes que se produce entre los diferentes dispositivos de nuestras simulaciones de forma intuitiva y amigable. Se hará mención a la plataforma MASIMUM, encargada de facilitar en un entorno académico software y documentación a sus alumnos con el fin de facilitarles la investigación y la simulación de redes y sensores Ad-hoc. Finalmente se verán dos ejemplos, uno en el que se realizará una simulación entre dos PCs en un entorno Ethernet y otro ejemplo en el que se realizará una simulación inalámbrica entre cinco dispositivos móviles mediante el protocolo a estudiar, OLSR.