Para esta tarea se nos encargo elaborar una expresión w-regular y crear un NBA Mi expresión regular es la siguiente:
ABC(A+CB*)
Simbolos utilizados:
Asterisco * : El asterisco sirve para encontrar algo que se encuentra repetido 0 o más veces.
Suma + : Se utiliza para encontrar una cadena que se encuentre repetida una o más veces. También es posible utilizar este metacarácter en conjunto con el signo de pregunta para limitar hasta donde se efectúa la repetición.
La lógica: ciencia que estudia la validez de la inferencia. El desarrollo de la lógica esta ligado a la matemática. Proposición: es una secuencia finita de signos.
La lógica proposicional es aquella que permite el razonamiento a través de un mecanismo que evalúa sentencias simples y luego sentencias complejas, que están formadas mediante conectivos proposicionales. La lógica proposicional permite también asignar un valor verdadero o falso para una sentencia completa.
Conectivos proposicionales
A continuación mostrare una tabla con algunos de los conectivos lógicos que utiliza la lógica proposicional,
Logica proposicional y la computacion
Debido a que las computadoras trabajan con información binaria, la herramienta adecuada para el análisis y diseño de su funcionamiento es el álgebra de Boole.
Algebra de boole es una estructura que esquematiza operaciones lógicas. El álgebra de Boole ha tenido dos aplicaciones al campo de la lógica: el tratamiento de conjuntos mediante las operaciones de unión e intersección que ha servido de base a la teoría de la probabilidad y el diseño de circuitos digitales combinacionales.
Validación: controla que el producto/progrma satisface los requerimentos que el usuario solicito.
Verificación: Controla que el producto conforme la especificacion inicial.
Los objetivos de la verificación y validación son valorar y mejorar la calidad de los productos generados durante el desarrollo y la modificación de software. Hay 2 tipos de verificación:
La verificacion Formal de programas consiste en utilizar tecnicas de comprobacion formales que permiten demostrar si un programa funciona correctamente y puede ser utilizado sin causar perdidas.
La verificacion del ciclo de vida: que es el proceso de determinar el grado de los productos de trabajo de una fase dada del ciclo de desarrollo cumpla con las especificaciones establecidas previamente.
Algunos ejemplos de malas validaciones, que a su vez han generado grandes perdidas: Apagón del 2003 en Norteamérica Pánico y grandes perdidas económicas, fue lo que dejo un gran apagón generado por un error de software de control, que si se colgaba, enviaba una señal al resto de las centrales para que pudieran reaccionar. El problema era que esta señal hacia que las maquinas que la recibían se colgaran y reiniciaran, enviando a su vez el fatídico mensaje a cada vez mas centrales de distribución dejando mas de 100 plantas eléctricas bloqueadas y mas de 50 millones de hogares sin electricidad hasta que se detecto el error. La unica solución fue instalar la versión anterior del programa.
Generador de claves Kerberos
Los responsables del programa generador de claves de seguridad Kerberos seguramente tuvieron mucho que explicar cuando, después de haberse convertido en la base de muchos sistemas de seguridad informática, se descubrió que la "semilla aleatoria" que utilizaba no era tan aleatoria. Lo que puede parecer algo trivial oculta una realidad terrorífica: cualquiera con mínimos conocimientos de criptografía podía entrar en un sistema protegido con Kerberos.Se desconoce el alcance real de este fallo, ya que cualquier compañía que estuviera protegida con este sistema se cuidaría mucho de decirlo.