¿Qué es la teoría de la traza?

La teoría de la traza se relaciona con la forma en que el hardware y el software de la computadora procesan los comandos simultáneamente. A veces se denomina computación concurrente y se puede comparar con la idea de computación paralela. La idea principal detrás de la computación concurrente es que varios procesos usan el mismo recurso y dependen unos de otros. Para la teoría del rastreo es fundamental la idea de que existe un número infinito de patrones y relaciones posibles que pueden formar los procesos.

La mayoría de los lenguajes de programación y hardware informático están diseñados en torno a la teoría de trazas. La computación concurrente examina qué se está procesando y cómo ocurre la actividad de procesamiento. Si bien los procesos simultáneos que utilizan los mismos recursos suelen ser independientes entre sí, también pueden interactuar. La idea de procesos interdependientes constituye el núcleo de la computación concurrente y los gráficos de dependencia.

Aunque cada proceso de computación puede ocurrir por separado, los gráficos de dependencia muestran qué procesos podrían estar usando el mismo hardware o software. En estos gráficos y cálculos, el factor dependiente puede estar etiquetado con la letra «C» o «D». Los gráficos de dependencia ilustran que si dos procesos utilizan un factor determinado, otros procesos que contienen identificadores idénticos también dependerán del mismo factor.

Dado que la teoría de trazas intenta explicar cómo ocurren varios procesos y comandos de computación, los gráficos de dependencia no solo identifican qué recursos se están utilizando, sino también los caminos y rutas que están tomando los procesos. Es importante tener en cuenta que la teoría establece que solo hay un cierto número de dependencias o relaciones que pueden ocurrir con un factor. Si bien el número de patrones en el cálculo simultáneo es infinito, solo un número selecto de procesos formará la misma dependencia o utilizará el mismo recurso.

La teoría de la traza ilustra que los procesos paralelos son matemáticamente iguales entre sí. Es similar a la idea de tomar dos líneas paralelas, dibujar una línea de intersección a través de ellas y medir los ángulos en el lado opuesto de cada punto de intersección. Aunque las líneas paralelas en sí mismas no se cruzan, son idénticas entre sí y tienen el mismo valor. En el caso de cálculo concurrente, la línea de intersección sería equivalente a una dependencia.

El lenguaje utilizado para representar los diversos procesos que utilizan las mismas dependencias es binario. Por ejemplo, un proceso puede estar representado por las letras «AC», mientras que un segundo proceso está representado por las letras «AB». El valor binario de «0» podría asignarse al proceso «AC» y el valor binario de 1 se asignaría al proceso etiquetado como «AB».