Fundamentos de la programación en lógica temporal métrica - Cobo, María Laura. (2001)
Capítulo 1: Introducción: En Ciencias de la Computación el estudio y tratamiento computacional de nociones temporales es un área que ha despertado un interés creciente en las últimas décadas. Siempre que se trate de modelar un sistema dinámico, donde exista la noción de cambio o evolución de una parte del sistema, este involucrará la consideración de nociones temporales para representar cómo el sistema se va modificando a través del tiempo. El tiempo es un objeto de estudio muy interesante. Las personas en su vida diaria se ven afectadas por el tiempo continuamente, y para sobrevivir y manejarse con fluidez constantemente deben tomar decisiones temporales. La filosofía, desde los días de Aristóteles, ha puesto un gran interés en el área tratando de analizar la forma en la cual los seres humanos toman estas decisiones. Con el surgimiento de las Ciencias de la Computación, hay una nueva necesidad urgente para obtener un análisis lógico preciso de la actividad temporal humana. Ya que el tiempo está involucrado en todo aspecto de la actividad humana, y como las Ciencias de la Computación se están relacionando con áreas cada vez más amplias que buscan el facilitar al humano sus tareas, se ha hecho esencial desarrollar sitemas lógicos que puedan describir fenómenos dependientes del tiempo. Hay varias áreas de las Ciencias de la Computación donde el tiempo está involucrado en una forma directa y casi ineludible y donde las lógicas temporales son usadas. A continuación se indican brevemente las áreas más relacionadas al estudio del tiempo: * En bases de datos existe una doble motivación para la consideración de nociones temporales. Existe principalmente la necesidad de almacenar información temporal en las mismas y de permitir un seguimiento de su evolución en el tiempo. Su administración, actualización, utilización, etc. El tiempo está involucrado entonces en varias formas: - Una teoría temporal es necesaria para describir el proceso de actualización y mantenimiento de bases de datos. - Poder almacenar información que es dependiente del tiempo en las bases de datos requiere la elección de un buen lenguaje temporal. Este debe permitir representar información dependiente del tiempo, accederla y razonar con ella en forma eficiente. - En la información almacenada en una base de datos se pueden considerar dos tipos de dependencias, la primera es la dependencia del momento de tiempo en el que ocurren los hechos y la segunda es el momento en que se dan a conocer, para una base de datos este es el momento en que la información es ingresada. Para poder manejar ambas dependencias se requiere desarrollar una lógica de transacciones en el tiempo. * La planificación (planning) es un área importante de Inteligencia Artificial que involucra entre otros, aspectos de razonamiento temporal. Abstractamente se tiene un estado inicial, y ciertas acciones que pueden ser realizadas en un estado dado si satisface determinadas condiciones. Realizar una acción con respecto a un estado lleva a un estado posiblemente diferente y nuevo. El objetivo es alcanzar un estado final que reúna ciertas condiciones requeridas, y la tarea es encontrar una secuencia de acciones que alcancen dicho fin. Se puede tratar la planificación como una forma de razonar acerca de acciones y planes en los cuales el tiempo y la modalidad juegan roles esenciales. La dimensión temporal trata del orden de las acciones y la duración de los estados resultantes. La dimensión modal trata de las acciones que son posibles en un estado y cómo pueden ser ordenadas para alcanzar el estado meta. * En otras áreas de Inteligencia Artificial las aplicaciones temporales son imprescindibles siempre que se desee representar un agente inteligente actuando en un entorno dinámico. La posibilidad de tener en cuenta referencias temporales es necesaria para representar cuándo suceden los hechos en el mundo conocido por el agente modelado. Así mismo se debe permitir el razonamiento adecuado sobre hechos que no pueden ocurrir simultáneamente, o cuya ejecución en el tiempo es total o parcialmente dependiente de otros. También es necesario poder especificar la duración temporal de ciertas actividades para poder determinar la veracidad de un hecho relacionado. * En la especificación, desarrollo y verificación de sistemas reactivos, por ejemplo: procesos y programas concurrentes, es deseable contar con una forma de representar los diversos estadíos por los que atraviesan los elementos independientes del sistema. Se puede usar la lógica temporal para controlar la ejecución de programas. En programas concurrentes, el conocimiento de las relaciones entrada/salida de cada participante no da un conocimiento completo de la ejecución paralela. Se requiere una lógica que pueda utilizarse para probar el comportamiento correcto del programa desde la descripción inicial. * Especificación y verificación de programas: se puede utilizar la lógica temporal para controlar la ejecución de programas; o bien se puede desarrollar una lógica temporal que describa las propiedades de un programa y la manera en que cambia de estado con la ejecución, se necesitará capaciad de reazonamiento temporal automatizado para probar las propiedades de estos programas.//CALIFICACION DEPARTAMENTO DE GRADUADOS Calificación de la defensa oral: Sobresaliente - 10(diez) Fecha: 11/09/01