|
Curso de Postgrado: Desarrollo formal de Software Dirigido por Modelos
Información de cursos anteriores:
Profesores:
NOTICIAS:
- Podéis descargar la versión "UAM" del
herramienta aquí.
Funciona sobre Python. Existen tutoriales sobre el uso de una
versión anterior de la herramienta, y artículos
sobre su uso. ¡Atención!
Respecto al tutorial, el único cambio es que para la
generación de código se ha de utilizar el botón de
la interfaz, en lugar de la opción de menú.
Objetivos: Presentación
del curso(PDF)
Los objetivos del curso son:
- El estudio de técnicas para el desarrollo
(generación) de software a partir de modelos de alto nivel,
posiblemente descritos utilizando Lenguajes (Visuales) de Dominio
Específico (LDE).
- El estudio de técnicas para la
verificación y simulación de los modelos a partir de los
cuales se genera el software.
Para ello, el curso se ha estructurado en dos partes:
- Desarrollo
Basado en Modelos. Aquí se estudiarán
técnicas (meta-modelado) para la descripción de LDEs,
generación automática de entornos de modelado y para la
transformación de modelos (gramáticas de grafos, y
otras). Como caso particular, se estudiará la propuesta de la
OMG para el desarrollo basado en modelos: MDA (Model-Driven
Arquitecture).
- Análisis
de Modelos. Se estudiarán técnicas y formalismos
de simulación (simulación discreta y Redes de Petri),
así como de verificación formal (Model Checking) de
modelos.
Además, el curso presenta una parte práctica, en la que
los estudiantes deberán diseñar un LDE, generar un
entorno de modelado para él (usando una herramienta de
meta-modelado), e implementar un generador de código o bien una
transformación para el análisis de los modelos.
Temario (tentativo):
Parte
I: Desarrollo de Software Basado en Modelos
Bibliografía básica:
- Stahl, T., Völter, M. "Model-Driven Software
Development". Wiley, 2006.
Lecturas recomendadas:
- Modelado de Software con
UML 2.0. Transparencias
parte 1: notación (PDF),
parte 2: aspectos avanzados (PDF)
Bibliografía:
- Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified
Modeling
Language
User Guide. Addison-Wesley, 1999.
- Perdita Stevens, Rob Pooley. “Utilización de UML
en
Ingeniería
del Software con Objetos y Componentes”. Addison Wesley, 2002.
- Craig Larman. “Applying UML and Patterns”. Prentice Hall.
2002.
Lecturas recomendadas:
- Meta-modelado y Lenguajes
(Visuales) Específicos de Dominio. Transparencias [PDF]
Bibliografía:
- Transformación de Modelos. Transparencias [PDF]
Bibliografía:
- Ehrig, H., Ehrig, K., Prange, U., Taentzer, G. 2006.
"Fundamentals of Algebraic Graph Transformation". Springer.
- Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G. 1999.
"Handbook of Graph Grammars and Computing by Graph Transformation". Vol
1. Foundations. World Scientific.
- QVT: http://www.omg.org/docs/ptc/05-11-01.pdf
- Model-Driven Architecture.
Transparencias [PDF]
Bibliografía:
- Página web de la
OMG sobre MDA.
- Stahl, T., Völter, M. "Model-Driven Software
Development". Wiley, 2006.
- Raistrick, Chris. Model driven architecture with
executable UML. Cambridge University Press. 2004.
Parte
II: Análisis de Modelos
- Técnicas de
simulación discreta. Transparencias
[PDF]
Bibliografía:
- Fishman, G. S. Discrete Event Simulation. Modeling,
Programming and Analysis.
Springer Series in Operations Research. 2001.
- Bernard P. Zeigler, Herbert Praehofer, and Tag Gon Kim.
Theory of Modelling
and Simulation: Integrating Discrete Event and Continuous Complex
Dynamic
Systems. Academic Press, second edition, 2000.
- Redes de Petri. Transparencias
[PDF]
Bibliografía:
- Tadao Murata. Petri nets: Properties, analysis and
applications.
Proceedings
of the IEEE, 77(4):541-580, April 1989.
- Peterson, J.L. Petri Net Theory and the Modeling of
Systems.
Prentice-Hall,
INC., Englewood Cliffs, N.J. 1981.
- Petri Nets World: http://daimi.au.dk/PetriNets/
Bibliografía:
- E. M. Clarke, O. Grumberg, D. Peled. "Model Checking".
MIT
Press.
1999.
- Emerson, E. A. “Temporal and Modal Logic”.
Handbook of
Theoretical
Computer Science, Vol B. Elsevier. 1990.
- Model Checking @ CMU: http://www-2.cs.cmu.edu/~modelcheck/
- Página web de la herramienta Spin: http://spinroot.com/
LINKS RELACIONADOS:
Curso de
Modelado y
Simulación de Hans
Vangheluwe en la Escuela de Informática de la Universidad de
McGill en Canadá.
Curso
de doctorado "Precise Modelling" de Duminda
Wijesekera en la Universidad George Mason, Virginia, USA.
http://www.metamodel.com/
Forma de Evaluación (tentativa):
La evaluación tendrá en cuenta los
siguientes tres factores:
- Proyecto
de meta-modelado. En principio, los trabajos prácticos
se desarrollarán utilizando la herramienta de (meta-)modelado AToM3,
aunque se podrían usar otras herramientas de meta-modelado. Este
trabajo ha de ser expuesto al final del curso.
- Asistencia al menos al 50% de las clases.
- Ejercicios.
|