Registro completo de metadatos
Campo DC Valor Lengua/Idioma
dc.provenanceFacultad de Ciencias Exactas y Naturales de la UBA-
dc.contributorBraberman, Víctor-
dc.contributorOlivero, Alfredo-
dc.contributorSchapachnik, Fernando-
dc.creatorSchapachnik, Fernando-
dc.date.accessioned2018-05-04T22:07:44Z-
dc.date.accessioned2018-05-28T16:40:49Z-
dc.date.available2018-05-04T22:07:44Z-
dc.date.available2018-05-28T16:40:49Z-
dc.date.issued2007-
dc.identifier.urihttp://10.0.0.11:8080/jspui/handle/bnmm/74190-
dc.descriptionLos sistemas de tiempo real están presentes en dispositivos embebidos, teléfonos celulares, controladores de vuelo, etc. Su complejidad es cada vez mayor, y cada vez cumplen funciones más críticas, donde las consecuencias de sus fallas son cada vez más graves. Por estos motivos tiene sentido realizar un análisis riguroso sobre ellos, que permita asegurar que sus diseños cumplen ciertas propiedades deseables. A este tipo de análisis se le suele llamar verificación automática o model checking. Un formalismo muy difundido para realizar esta tarea es el de los autómatas temporizados, una extensión de la teoría clásica de autómatas que permite trabajar con tiempo denso. Si bien las técnicas basadas en este tipo de autómatas se conocen desde hace un par de décadas, sufren aún de problemas de escalabilidad, lo que dificulta una utilización mayor en casos reales. Esta tesis analiza diversos mecanismos para acelerar la verificación de autómatas temporizados, tanto en el (clásico) ambiente monoprocesador, como así también en arquitecturas distribuidas. Durante el transcurso de la misma se construyó el model checker Zeus, que se utiliza para la experimentación. Luego de presentar la motivación e introducción al tema, se presentan los conceptos básicos del formalismo y las estructuras de datos más utilizadas en este tipo de herramientas. Se destacan los dos algoritmos tradicionales de verificación, forward y backwards. A continuación, se explora la paralelización del algoritmo backwards: se presenta una prueba de corrección de una versión distribuida y asincrónica del mismo, se la implementa, y se experimenta también con una versión sincrónica y con otra que reparte la carga de trabajo sobre los procesadores de manera dinámica. Se analizan los resultados obtenidos y se argumenta que son cercanos a óptimos utilizando la unidad de distribución de trabajo actual: la asignación de nodos del autómata a procesadores. Luego se aborda la paralización del algoritmo forward junto con una estrategia para la redistribución dinámica de trabajo entre los procesadores. Después de demostrar su corrección, se analizan varios casos de estudio sobre distintas configuraciones, obteniéndose resultados positivos pero no óptimos, y comprobándose que aún queda mucho por investigar con respecto a la distribución de este algoritmo, y planteándose varias posibles líneas de investigación. En el capítulo siguiente se compara el presente trabajo con otros del área, y se argumenta que ciertos resultados positivos obtenidos por otros investigadores tienen como causa no la paralización en sí sino ciertos efectos colaterales de la misma, que tal vez podrían reproducirse en un monoprocesador. A continuación se presenta trabajo realizado en pos de obtener una nueva estructura de datos. En ese marco, se introducen los rCDDs (restricted Clock Difference Diagrams) junto con casos de estudio en los que estos mejoran los tiempos de ejecución hasta en un treinta por ciento. El siguiente capitulo explora dos optimizaciones también validas para el caso monoprocesador. La primera consiste en computar rangos posibles para los valores de las estructuras de datos y de esa manera reacomodarlas para detectar antes ciertas condiciones de corte de operaciones utilizadas con mucha frecuencia. Los resultados muestran mejoras de hasta un diecisiete por ciento en los tiempos de ejecución. La segunda consiste en computar una aproximación al hipervolumen de los poliedros representados por las estructuras de datos, de manera tal de evitar O(n2) comparaciones al costo de O(1). Esta técnica logra una reducción de tiempo de hasta casi un veinte por ciento. El anteúltimo capítulo presenta VInTiMe, una herramienta gráfica que permite describir diseños de tiempo real, especificar sus propiedades de manera amigable, y verificarlas utilizando el model checker distribuido Zeus, de manera sencilla. Constituye un esfuerzo por acercar los métodos formales al usuario no tan experimentado. Finalmente, se exponen las conclusiones del trabajo, donde se argumenta la dificultad de decidir de antemano qué optimizaciones y/o parámetros serán más convenientes para un caso de estudio dado, y se proponen ideas alternativas para atacar el problema.-
dc.descriptionReal-time systems are present today in embedded devices, cellphones, flight controllers, etc. Their complexity is ever increasing, as well as the criticality of their functions. Consequences of failure are each day more dangerous. This is why performing a rigorous analysis over them makes sense, allowing to assert that their design complies with some desirable properties. This type of analysis is usually called automated verification or model checking. A well-known formalism for model checking is timed automata, an extension of the classical automata theory allowing to model dense time. Although timed automata-based techniques are known since a couple of decades ago, they still suffer from scalability issues, jeopardizing a broader adoption in real cases. This thesis analyzes diverse mechanisms to speedup timed automata verification, both in the (classical) monoprocessor environment, as well as in distributed architectures. While working on it, the model checker Zeus was built as a base for experimentation. After motivating and introducing the subject matter, foundational concepts of the formalism are presented, as well as the data structures more used by the tools. Special attention is payed to the two traditional verification algorithms, forward and backwards. Next, the parallelization of the backwards algorithm is explored: a correctness proof of a distributed and asynchronous version is presented. It is implemented, and experimentation is also done with a synchronous version and another one that dynamically balances workload among processors. Obtained results are analyzed and it is argued that they are close to optimal, as long as the same unit of distribution is used: assigning each automata node to only one processor. After that, a distributed version of the forward algorithm is analyzed, along with a dynamic workload migration strategy. Its correctness is proved, and various case studies over different configuration settings are tried. Positive results are achieved, yet not optimal, corroborating that there is still much research to perform regarding this algorithm. Also, various possible future continuation lines are presented. Next chapter compares against other work in the literature, and argues than certain positive results achieved by other researchers might be caused not by the distribution per se, but actually as a byproduct of it, and that the same effects might be reproducible in a monoprocessor setting. Work towards a new data structure is next, introducing rCDDs (short for restricted Clock Difference Diagrams). Along with their details and algorithms, case studies showing up to a thirty percent of improvement in running times are presented. After that, two optimizations also valid for the monoprocessor setting are introduced. The first one computes ranges of possible values for the data structures, trying to accommodate them in such a way that certain finishing conditions for the most used operation are met earlier. Results show improvements of up to a seventeen percent in running times. The second one is about computing an approximation to the hypervolume of the polyhedra represented by the data structures, thus avoiding O(n2) comparisons at the price of O(1). This technique allows to reduce running times by up to almost twenty percent. The penultimate chapter presents VInTiMe, a graphical tool that allows to describe real-time system designs, specify their properties in a friendly way, and verify them using the distributed model checker Zeus, in a simple manner. This is an efford to put formal methods closer to the practitioner. Lastly, conclusions are presented, arguing the difficulty of deciding beforehand which optimizations and parameters would be better for a particular case study, and proposing alternative ideas to palliate such an issue.-
dc.descriptionFil:Schapachnik, Fernando. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.-
dc.formatapplication/pdf-
dc.languagespa-
dc.publisherFacultad de Ciencias Exactas y Naturales. Universidad de Buenos Aires-
dc.rightsinfo:eu-repo/semantics/openAccess-
dc.rightshttp://creativecommons.org/licenses/by/2.5/ar-
dc.source.urihttp://digital.bl.fcen.uba.ar/gsdl-282/cgi-bin/library.cgi?a=d&c=tesis&d=Tesis_4125_Schapachnik-
dc.subjectTIMED AUTOMATA-
dc.subjectMODEL CHECKING-
dc.subjectAUTOMATED VERIFICATION-
dc.subjectREAL-TIME SYSTEMS-
dc.subjectDISTRIBUTED COMPUTING-
dc.subjectPARALLEL COMPUTING-
dc.subjectMULTIPROCESSOR-
dc.subjectZEUS-
dc.subjectAUTOMATAS TEMPORIZADOS-
dc.subjectVERIFICACION AUTOMATICA-
dc.subjectSISTEMAS DE TIEMPO REAL-
dc.subjectCOMPUTACION DISTRIBUIDA-
dc.subjectCOMPUTACION PARALELA-
dc.subjectMULTIPROCESADOR-
dc.subjectZEUS-
dc.titleVerificación de autómatas temporizados en arquitecturas monoprocesador y multiprocesador-
dc.titleTimed automata model checking in monoprocessor and multiprocessor architectures-
dc.typeinfo:eu-repo/semantics/doctoralThesis-
dc.typeinfo:ar-repo/semantics/tesis doctoral-
dc.typeinfo:eu-repo/semantics/publishedVersion-
Aparece en las colecciones: FCEN - Facultad de Ciencias Exactas y Naturales. UBA

Ficheros en este ítem:
No hay ficheros asociados a este ítem.