Verifying Real-Time Periodic Properties on the Alma Common Software Time System
Total Page:16
File Type:pdf, Size:1020Kb
Universidad Tecnica´ Federico Santa Mar´ıa Departamento de Informatica´ Valpara´ıso { Chile VERIFYING REAL-TIME PERIODIC PROPERTIES ON THE ALMA COMMON SOFTWARE TIME SYSTEM Tesis presentada como requerimiento parcial para optar al grado acad´emico de MAGISTER EN CIENCIAS DE LA INGENIER´IA INFORMATICA´ y al t´ıtuloprofesional de INGENIERO CIVIL EN INFORMATICA´ por Mauricio Alejandro Araya L´opez Comisi´onEvaluadora: Horst H. von Brand (Gu´ıa,UTFSM) Ra´ulMonge (UTFSM) Tzu-Chiang Shen (ALMA) MAY 2008 ii Universidad Tecnica´ Federico Santa Mar´ıa Departamento de Informatica´ Valpara´ıso { Chile TITULO DE LA TESIS: VERIFYING REAL-TIME PERIODIC PROPERTIES ON THE ALMA COMMON SOFTWARE TIME SYSTEM AUTOR: MAURICIO ALEJANDRO ARAYA LOPEZ´ Tesis presentada como requerimiento parcial para optar al grado acad´emico de Magister en Ciencias de la Ingenier´ıaInform´atica y al t´ıtuloprofesional de Ingeniero Civil en Inform´atica de la Universidad T´ecnicaFederico Santa Mar´ıa. Horst H. von Brand Profesor Gu´ıa Ra´ulMonge Profesor Correferente Tzu-Chiang Shen Profesor Externo May 2008. Valpara´ıso,Chile. ii I love deadlines. I like the whooshing sound they make as they fly by. | Douglas Adams iii Acknowledgments La presente t´esisno es s´olom´ıa, sino de todos los que recorrieron a mi lado esta etapa universitaria. Muchos me apoyaron en estos a~nos, y en esta breve rese~nam´asde alguno se me escapar´a. Ergo, quiero agradecerle primero a todos los que, sin quererlo, olvidar´e mencionar. Mis Padres financiaron mi carrera, soportaron mis malos ´animos y me apoyaron cuando fue necesario. Sin embargo, mi agradecimiento va m´asall´a. Mi formaci´onprofesional est´a profundamente marcada por el ejemplo de dos sobresalientes profesionales, que sin dejar la familia de lado, han llegado a ser autoridad en sus disciplinas sin la necesidad de hacerle da~noa nadie. Pero probablemente lo que m´asagradezco son los valores y virtudes que me inculcaron para enfrentar este mundo con alegr´ıa,bondad y entusiasmo. Gr´acias Pap´ay Mam´a. A mis hermanos Carolina y Daniel, les quiero agradecer su preocupaci´on,apoyo y amistad durante todos estos a~nos. Ustedes pavimentaron mi carrera universitaria, no s´olocon el ejemplo, sino mediante sus consejos y experiencia. Pueden quedarse tranquilos que La Fabula de los Tres Hermanos no se hizo realidad con nosotros. Para mi polola Carolina creo que los gracias no bastan, ya que fue la que lidi´ocon lo m´as complicado de mi tesis: mi mal humor. Gracias por aguantar todos mis malos momentos, mi ´estresy mis negativas. Gracias por presionarme justo cuando lo necesitaba, ya que sin ti a´unno terminar´ıaesta t´esis.Gracias por leer, revisar y escuchar mi t´esis,d´andomeconsejos con sinceridad, bondad y afecto. Gracias por apoyarme para durante todo este proceso, pero por sobretodo, gracias por todo el amor que me entregaste durante este a~no. Muchas gracias al Dr. Horst von Brand, por ser mi maestro, tutor y amigo; un verdadero mentor acad´emicoque me ense~n´oque la rigurosidad de la universidad no es incompatible con la alegr´ıade hacer lo que a uno le apasiona. Adem´as,quiero agradecerle por permitirme ser parte de todas aquellas instancias que fueron mi verdadera formaci´onuniversitaria: Lab- Comp, uSCI, ayudant´ıas,Encuentro Linux, CSRG y la confianza para que dictara clases en esta ´ultimaetapa. iv Se extiende adem´asel agradecimiento al resto de la comisi´onde t´esis,Mag. Tzu Chiang- Shen y Dr. Ra´ulMonge, por darse el tiempo de leer adecuadamente mi trabajo y aportar con las correcciones pertinentes. Este trabajo no hubiera sido posible sin el apoyo del Departamento de Inform´atica UTFSM y el Proyecto ALMA mediante sus instituciones ESO y NRAO. En particular, se extiende el agradecimiento al proyecto ALMA-CONICYT #3106008 y al Programa de Iniciaci´onCient´ıficade la Escuela de Graduados. La investigaci´onde esta tesis fue desarrollada ´ıntegramente entre el equipo de Computer System Research Group y el ALMA-UTFSM Group, por lo que m´asque agradecer a las siguientes personas, deseo hacerlas parte oficial de los resultados obtenidos. Los co-autores de la presente investigaci´onson Jorge Avarias, Claudio Salazar, Rodrigo Tobar, Yonathan Dossow y Horst von Brand. Adem´as,valoro a sobremanera el tiempo que dedicaron los ingenieros de ALMA para entrenarme, donde destacan Bogdan Jeram, Thomas Juerges, Gianluca Chiozzi, Jorge Ibsen, Nicol´asTroncoso, Nicol´asBarriga y Heiko Sommer. Un agradecimiento muy especial a Jorge Ibsen y Flavio Gutierrez, por siempre confiar en nosotros y dar pie a la maravillosa colaboraci´onen la cual se enmarca esta t´esis. Se extiende el agradecimiento a todo el Software Team de La Silla Observatory 2004, incluyendo obviamente a Tzu, Bernhard, Ruben y Percy. Deseo agradecer a mis compa~nerosde CSRG, Matias, Toby, Javarias, Joao, Alejandro, Norman, Tom´as,Yonathan, Carlos, Ntroncos, Nbarriga y Raraya. Agradezco el tiempo y paciencia del Dr. Salinas, Dr. Hoffmann, Profesora Reyes, Profesor Ca~nas,Pabla, Lidia, Don Ignacio, Carolina y Yanina. Tambien, agradezco a mis compa~nerosde curso Carlitos, Bonva, Paola, LuchoX, Willy, Secho, Coke, Jorjazo, Fidel, Joel, Oso e Igor. Como no agradecer a todos los grandes amigos de la Universidad, como Diego, Andrea, Nicol, Cors, Cuico, Cumsille, Juanito, Verito, Yigo, Tulio, Marito, Sapo, Penny, Mave, Gnecco, Jota, Juan, Basterrica, Mito, Charlie, entre otros. Por ´ultimoun saludo muy especial al Negro, Guidi, Pablo, Ton, Berni, Ivo, mis t´ıos, primos y cu~nados. Valpara´ıso,Chile Mauricio Araya 1 de Julio, 2008 v Resumen ALMA Common Software (ACS) es el framework distribuido en el cual las aplicaciones de control de ALMA est´ansiendo desarrolladas. Lamentablemente, para aplicaciones de tiempo real, varios subsistemas no est´anusando el framework, debido a que ACS no provee soporte expl´ıcitopara operaciones con temporalidad cr´ıtica.Sin embargo, ACS est´aconstruido sobre un middleware con soporte de tiempo real, por lo que no se descarta la posibilidad de que el framework cumpla con ciertas caracter´ısticasde tiempo real. Para poder utilizar estas caracter´ısticasdel middleware, es necesario que este ´ultimocorra sobre un sistema operativo de tiempo real. Debido a esto, la presente tesis explora algunos sistemas operativos de tiempo real alterativos donde ACS podr´ıacorrer, desarrollando el soporte cuando fuere necesario y explicando las dificultades en cada caso. El problema es que no existe un m´etodo de evaluaci´oncomparativa de alto nivel aplicable a ACS, por lo que no se puede dilucidar qu´eplataforma tiene un mejor comportamiento de tiempo real. En este contexto, la presente tesis propone un modelo de verificaci´on emp´ırica para sistemas complejos de tiempo real, el cual se enfoca en los resultados de las realizaciones del sistema, en vez de en la formalizaci´onde los elementos que lo componen. El objetivo es aplicar el modelo en sistemas complejos donde la verificaci´onformal se torna engorrosa y lenta. Si bien el modelo est´abasado en una especificaci´onformal de requerimientos, la verificaci´onse realiza emp´ıricamente mediante la ejecuci´onreiterada del sistema. Este modelo est´abasado en la s´ıntesis de requerimientos peri´odicosde tiempo real, e incluye patrones t´ıpicosde la evaluaci´oncomparativa como concurrencia y relojes distribuidos. El modelo se aplic´oal subsistema de tiempo de ACS, el cual es el servicio que controla los temporizadores y relojes del framework. Se seleccionaron los valores de los par´ametros bas´andoseen requerimientos reales de ALMA, para obtener resultados significativos. Los resultados muestran que el subsistema de tiempo de ACS no provee soporte para tiempo vi real, por lo que se presentan las directrices generales para la construcci´onde un servicio de tiempo real para ACS como conclusi´on. Palabras Claves: Tiempo Real, Verificaci´onEmp´ırica,L´ogicaTemporal, ACS, ALMA vii Abstract The ALMA Common Software is a distributed framework on which the ALMA software is being developed. But several ALMA subsystems are not using the framework for real- time software, because ACS does not provide explicit support for time critical operations. Regardless, ACS is built over a real-time middleware, so there is a chance that the system behaves with real-time performance. But this middleware must run over a real-time operating system to be able to provide real- time support. Therefore, this thesis explores some real-time operating system alternatives on which ACS may run, developing the support when needed and explaining the difficulties of each port. The problem is that there is no high-level real-time benchmark that can be applied to ACS, so there is no way of comparing ACS running over two different platforms in terms of the real-time behavior. Therefore, this thesis presents a model of empirical verification for complex real-time systems, which is focused on the results of the realizations of a system, rather than a formal verification of the system constitution. This model is applicable to complex systems where formal verification techniques are too hard to apply. Although the model is based on the formal specification of requirements, the verification is done empirically by executing the system several times. This model is based on synthesized periodic real- time requirements and includes common benchmarking patterns such as concurrency and distributed clocks. The model was applied to the ACS Time System, which is the ACS service that controls the timers and clocks of the distributed framework. To stress the system correctly, real world ALMA requirements where selected to set up the parameters of the model. The results show that ACS lacks a time system with real-time support, so general guidelines for building an ACS real-time service are presented in the conclusions of this work. viii Keywords: Real-Time, Empirical Verification, Temporal Logic, ALMA, ACS ix Index of Contents Acknowledgments iv Resumen vi Abstract viii Index of Contents x Index of Tables xiii Index of Figures xiv 1 Introduction 1 1.1 Real-Time and Astronomical Instrumentation .