Autorizaci贸n de difusi贸nEl abajo firmante, matriculado en el M谩ster en Investigaci贸n en Inform谩tica de la Facultad de Inform谩tica, autoriza a la Universidad Complutense de Madrid (UCM) a difundir y utilizar con fines acad茅micos, no comerciales y mencionando expresamente a su autor el presente Trabajo de Fin de M谩ster: "Model Checking TLR* Guarantee Formulas on Infinite Systems", realizado durante el curso acad茅mico 2012-2013 bajo la direcci贸n de Alberto Verdejo y Narciso Mart铆 en el Departamento de Sistemas Inform谩ticos y Computaci贸n, y a la Biblioteca de la UCM a depositarlo en el Archivo Institucional EPrints Complutense con el objeto de incrementar la difusi贸n, uso e impacto del trabajo en Internet y garantizar su preservaci贸n y acceso a largo plazo.
脫scar Mart铆n Julio de 2013 i ii
ResumenPresentamos la implementaci贸n de un model checker para sistemas con una cantidad de estados potencialmente infinita. Se ha desarrollado sobre el lenguaje y el sistema Maude, basado en l贸gica de reescritura. Los sistemas que se quieran analizar tambi茅n han de estar especificados como m贸dulos Maude. El model checker funciona con estados expl铆citos. As铆, en sistemas infinitos, no podemos esperar que la comprobaci贸n acabe en todos los casos. De hecho, solo proporciona un semi-algoritmo para validar f贸rmulas de garant铆a (o, equivalentemente, para invalidar f贸rmulas de seguridad). Para evitar entrar en caminos infinitos, las b煤squedas siempre se llevan a cabo con profundidad acotada.La l贸gica temporal que usamos es TLR* (Temporal Logic of Rewriting). Esta l贸gica es una generalizaci贸n de CTL* que usa proposiciones at贸micas no solo sobre estados, sino tambi茅n sobre transiciones, proporcionando as铆 una mayor potencia expresiva. Como paso intermedio, presentamos un lenguaje de estrategias para Maude. Las f贸rmulas de garant铆a se traducen primero a expresiones de estrategia y, entonces, se hace evolucionar en paralelo al sistema y a la estrategia para buscar c贸mputos que satisfagan la estrategia y, por tanto, la f贸rmula.Se incluyen varios ejemplos para mostrar la utilidad de nuestra herramienta. En particular, se presenta un ejemplo m谩s largo, relativo a protocolos de coherencia de cach茅.Las tres ideas en las que se basa este trabajo -el model checker, TLR* y el lenguaje de estrategias-son propuestas tomadas de [21].
Palabras claveSistema de infinitos estados, l贸gica de reescritura, Maude, model checking, estrategia, l贸gica temporal, TLR*, f贸rmula de garant铆a, protocolo de coherencia de cach茅.iii iv
AbstractWe present the implementation of a model checker for systems with a potentially infinite number of states. It has been developed in the rewriting-logic language and system Maude. The systems to be analysed need also be specified as Maude modules. The model checker is explicit-state, that is, not symbolic. Thus, in infinite systems, we cannot expect it to finish in every case. Indeed, it only provides a semi-decision algorithm to validate guarantee formulas (or, equivalently, to falsify safety ones). To avoid getting lost in infinite ...