A verification of the protocol between the various communicating elements of a concurrent system may be performed directly using the actual code that implements the element when it is actually operating. This is achieved by combining stateless search techniques with partial order methods, namely, persistent set and sleep set methods. In particular, the code of each element of a system is exercised by a scheduler in such a way that global states of the system are visited according to a stateless search, which is a search that does not use an explicit representation of the global states. A global state is a state in which the next operation to be executed by every element of the system is a visible operation. The set of visible operations includes at least those operations related to communication between the elements. The global states are visited using an intelligent state space exploration technique so that only a selected subset of all the global states are visited while ensuring that those global states that are not visited need not be visited to verify the existence or absence of selected problems that might exist in the protocol. Such selected properties can include the existence of 1) deadlocks, 2) assertion violations, 3) divergences, and 4) livelocks. Advantageously, complex protocols in systems having many elements may be efficiently verified, while using prior art comprehensive search techniques could not verify even a simplistic toy protocol within a reasonable amount of time.

Una verificación del protocolo entre los varios elementos que se comunican de un sistema concurrente se puede realizar directamente usando el código real que pone el elemento en ejecucio'n cuando está funcionando realmente. Esto es alcanzada combinando técnicas apátridas de la búsqueda con métodos parciales de la orden, los métodos determinados persistentes a saber, del sistema y del sueño. En detalle, el código de cada elemento de un sistema es ejercitado por un planificador de una manera tal que los estados globales del sistema se visiten según una búsqueda apátrida, que es una búsqueda que no utiliza una representación explícita de los estados globales. Un estado global es un estado en el cual la operación siguiente que se ejecutará por cada elemento del sistema es una operación visible. El sistema de operaciones visibles incluye por lo menos esas operaciones relacionadas con la comunicación entre los elementos. Se visitan los estados globales usando una técnica inteligente de la exploración del espacio del estado para solamente visitar un subconjunto seleccionado de todos los estados globales mientras que se asegure de que esos estados globales que no se visitan no necesitan ser visitados para verificar la existencia o la ausencia de los problemas seleccionados que pudieron existir en el protocolo. Tales características seleccionadas pueden incluir la existencia 1) de callejones sin salida, 2) las violaciones de la aserción, 3) las divergencias, y 4) los livelocks. Ventajoso, los protocolos complejos en los sistemas que tienen muchos elementos pueden ser verificados eficientemente, mientras que usan arte anterior que las técnicas comprensivas de la búsqueda no podrían verificar incluso un protocolo simplista del juguete dentro de una cantidad de tiempo razonable.

 
Web www.patentalert.com

< (none)

< Method and system for design verification

> Technique for secure network transactions

> (none)

~ 00004