Código: 300MAA003
Créditos: 3
Lista de Correo del Curso:
Prerequisitos:
Horario:
Este curso hace un recorrido por temas fundamentales relacionados con el modelamiento computacional de sistemas; después de revisar bases matemáticas, se centra en el estudio del modelamiento deductivo, a través de cálculos computacionales. Teniendo en cuenta que todos los sistemas son susceptibles de ser modelados en algunos de sus aspectos característicos, este conocimiento puede ser aplicado posteriormente a temas tan diversos como el desarrollo formal de software o el estudio de sistemas biológicos. En las demás asignaturas del énfasis en Teoría y Práctica de Modelos Computacionales los conocimientos obtenidos en este curso serán vitales para la comprensión de técnicas avanzadas de modelamiento y tambi\'{e}n para el estudio riguroso de sistemas más complejos.
Recordar conceptos b\'{a}sicos de matematicas y computaci\'{o}n que son necesarios para abordar con solidez el estudio del modelamiento computacional.
Aprender estrategias deductivas e inductivas de modelamiento computacional, identificar sus \'{a}mbitos de aplicaci\'{o}n y utilizar dichas estrategias en el modelamiento de sistemas.
El curso se evalua con tres parciales y tareas.
Semana | Tema |
1 | Organización del curso, Introducción |
2 | Estructuras algebraicas y Cálculo de predicados |
3 | Estructuras algebraicas y Cálculo de predicados |
4 | Lógicas temporales |
5 | Teoría de autómatas / Autómatas etiquetados |
6 | Teoría de autómatas / Autómatas etiquetados |
7 | Verificación de programas |
8 | Verificación de programas |
9 | Cálculos de procesos |
10 | Cálculos de procesos |
11 | Relaciones de similaridad |
12 | Relaciones de similaridad |
13 | Movilidad, concurrencia y restricciones |
14 | Movilidad, concurrencia y restricciones |
15 | Movilidad, concurrencia y restricciones |
Rodrigo Cardoso. Verificaci\'{o}n de programas. Editorial Uniandes. 1991.
Stuart Russell y Peter Norvig. Artificial Intelligence: A modern approach. 2003.
Robin Milner. Communicating and mobile systems: the $\pi$-calculus. Cambridge University Press. 1999.
Michael Sipser. Introduction to the Theory of Computation. 2a. edición. Ed Thompson Course Technology. 2006.
Huth, Michael R.A. and Ryan, Mark. Logic in computer science : modelling and reasoning about systems. - 1ed. Cambridge University Press, 2000.
Carsten Lutz. Temporal Logic. Dresden University of Technology. Course Notes. 2006.
Abrial, Jean-Raymond. Guidelines to Formal Systems. MATISSE project. November, 2000.
Abrial, Jean-Raymond. The B-Book : assigning programs to meanings. - 1ed. Cambridge University Press, 1996.
Gary T. Leavens, Erik Poll, Curtis Clifton, Yoonsik Cheon, Clyde Ruby, David Cok, Peter M\”{u}ller, Joseph Kiniry, Patrice Chalin, and Daniel M. Zimmerman. JML Reference Manual (DRAFT), May 2008.
Luca Aceto, Kim G. Larsen and Anna Ing\'{o}lfsd\'{o}ttir. An Introduction to Milner's CCS. BRICS, Department of Computer Science, Aalborg University. March, 2005.
Catuscia Palamidessi and Frank D. Valencia. Languages for Concurrency. Bulletin of the EATCS. 2006.
Hopcroft, John. Motwani, Rajeev. Ullman, Jeffrey D. Automata theory, Languages and Computation. 3a. ed. Addison Weley. 2006.