En los lenguajes de consulta , las expresiones de ruta identifican un objeto describiendo cómo acceder a él en un grafo (posiblemente implícito ) de objetos. Por ejemplo, la expresión de ruta p.Manager.Home.Citypodría referirse a la ciudad de residencia del jefe de alguien. Las expresiones de ruta se han ampliado para ofrecer una flexibilidad similar a la de las expresiones regulares . XPath es un ejemplo de lenguaje de expresiones de ruta.
En el control de concurrencia , las expresiones de ruta son un mecanismo para expresar secuencias de ejecución permitidas. Por ejemplo, una expresión de ruta como " {read}, write" podría especificar que se permiten múltiples ejecuciones simultáneas de reado una sola ejecución de writepero no ambas en cualquier momento.
Es importante saber que las expresiones de ruta constituyen un mecanismo para la sincronización de procesos a nivel de monitor en el software. Esto proporciona un enfoque claro y estructurado para la descripción de datos compartidos y la coordinación y comunicación entre procesos concurrentes. Este método es flexible en su capacidad para expresar la temporización y puede utilizarse de diversas maneras.
Además, las expresiones de ruta son útiles para la sincronización de procesos por dos razones: primero, la estrecha relación entre las expresiones de flujo y las expresiones regulares, que simplifica la tarea de escribir y analizar programas que utilizan este mecanismo de sincronización. Segundo, la sincronización en muchos programas concurrentes se encuentra en un estado finito y, por lo tanto, puede describirse adecuadamente mediante expresiones regulares. Por las mismas razones, las expresiones de ruta son útiles para controlar el comportamiento de circuitos asíncronos complejos. De hecho, la suposición de estado finito puede ser incluso más razonable a nivel de hardware que a nivel de monitor.
Las expresiones de ruta proporcionan un alto nivel de sincronización descriptiva que ayuda a prevenir y detectar errores de diseño en sistemas complejos y supera algunos de los peligros, como ciertas formas de errores de codificación.
Véase también
Referencias
- M. Kifer; W. Kim y Y. Sagiv (1992). "Consultas en bases de datos orientadas a objetos". Actas del ACM SIGMOD . págs. 393–402 .
- Elisa Bertino , Mauro Negri, Giuseppe Pelagatti y Licia Sbattella (junio de 1992). "Lenguajes de consulta orientados a objetos: la noción y los problemas". IEEE Transactions on Knowledge and Data Engineering . 4 (3): 223– 236. doi : 10.1109/69.142014 .
{{cite journal}}: CS1 maint: varios nombres: lista de autores ( enlace ) - R. Campbell y R. Kolstad (1979). "Expresiones de ruta en Pascal". Actas de la 4.ª Conferencia Internacional sobre Ingeniería de Software . Vol. 4. págs. 212–219 .
- Tony Bloom (1979). "Evaluación de mecanismos de sincronización". Actas del séptimo simposio de la ACM sobre principios de sistemas operativos . págs. 24–32 .
- Control de concurrencia
- Estructuras de programación
- esbozos de informática