Fundamentación:
El curso introduce metodologías y técnicas avanzadas para la construcción de software confiable y seguro. Los temas tratados a lo largo del curso brindan el conocimiento fundamental y las herramientas para asegurar que el software que será parte de sistemas de alta complejidad, del cual pueden depender vidas humanas o respondan a misiones críticas, brinde un servicio correcto y efectivo.
Objetivos:
Al finalizar la materia los estudiantes estarán en condiciones de:
• comprender la problemática de los sistemas críticos (incluyendo sistemas concurrentes y de tiempo real) y los requerimientos fundamentales que estos deben satisfacer;
• elaborar modelos operacionales de estos tipos de modelos en lenguajes formales;
• expresar formalmente los requerimientos de estos sistemas complejos;
• seleccionar y manipular las herramientas y técnicas adecuadas para hacer los distintos tipos de análisis y verificación de modelos y especificaciones;
• comprender los fundamentos matemáticos y algorítmicos detrás de las distintas herramientas de análisis y verificación.