Juan de Lara

Home
Docencia/Teaching
Investigación/Research
Publicaciones/Publications
Enlaces/Links
ETS Informática UAM

[print page (PDF)]

    Curso de Doctorado. Diseño de Software basado en Modelado y Simulación: Un Enfoque Multi-Paradigma

    Comienzo del curso: Lunes, 21 de Octubre, a las 18:30 en el aula B-428
Trabajos y Artículos propuestos y asignados
NOTAS

Profesores:

Objetivos:

El objetivo del curso es complementar los conocimientos de modelado y simulación del alumno en formalismos aplicables al diseño y verificación rigurosos de sistemas software, y en menor medida de sistemas físicos. Algunos diagramas del estándar de diseño software UML se pueden transformar en modelos descritos en formalismos con semántica rigurosa que permiten la simulación y la demostración de propiedades del sistema software que estamos modelando. Un ejemplo típico es la transformación de Statecharts a Redes de Petri para su posterior análisis y simulación con el fin de encontrar posibles errores de diseño. Por otra parte también se pretende proporcionar al alumno los conocimientos necesarios para modelar sistemas complejos, es decir, sistemas compuestos de componentes que deben describirse mediante formalismos diferentes. Para ello se introducirán conceptos de meta-modelado, modelado multi-formalismo y modelado en múltiples niveles de abstracción.

Temario (tentativo):
 

  • Introducción al modelado de sistemas físicos y de software.
    • Conceptos de Modelado y Simulación discreta. [Transparencias (En PDF comprimido)]
      • Visión basada en eventos. Ejemplos con grafos de Eventos.
      • Visión basada en procesos. Ejemplos con GPSS.
    • Conceptos de Modelado de Software en UML [Transparencias (En PDF comprimido)(NUEVAS, 26/Nov/2002)
      • Diagramas Estructurales.
        • Diagramas de Clases y Objetos.
          • Ejemplos: Meta-Modelos de varios formalismos.
      • Diagramas de Comportamiento. 
        • Diagramas de Colaboración.
        • Diagramas de Secuencia.
          • Ejemplo: Evaluación del Rendimiento Software.
        • Statecharts (los estudiaremos por separado).
        • Diagramas de Actividades.


      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.
      • 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.
      • Andreas Hennig, Rainer Wasgint. “Performance Modelling of Software Systems in UML-Tools for the Software Developer”.  ESM’2002 Proceedings, pp.: 94-99.
  • Redes de Petri. [Transparencias (en PDF comprimido)(NUEVAS, 26/Nov/2002)]
  • Se introducen las Redes de Petri, las técnicas para su análisis y se presentan brevemente sus distintas variantes. Las redes de Petri son el formalismo adecuado para definir y comprobar rigurosamente el funcionamiento de gran variedad de sistemas físicos y software, como protocolos de red, interfaces de usuario, etc.
      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.
      • Gianfranco Balbo. “An Introduction to Generalized Stochastic Petri Nets
      • Petri Nets World: http://daimi.au.dk/PetriNets/
      • Curso Modelling&Simulation de Hans Vangheluwe de la Escuela de Informática de la Universidad de McGill, Montreal, Canadá: http://moncs.cs.mcgill.ca
  • Statecharts. [Transparencias (en PDF comprimido)]
  • Los Statecharts son una extensión de los autómatas finitos con las ideas de los HiGraphs, que incorporan ortogonalidad (i.e. paralelismo), jerarquía, broadcasting (e hiperenlaces). Fueron propuestos por David Harel y forman parte del estándar UML. Son útiles para describir el comportamiento de toda clase de sistema reactivos, como por ejemplo interfaces de usuario, agentes, etc. Veremos también formas de verificar diseños de software mediante la transformación de los Statecharts asociados a las clases UML a un modelo expresado mediante redes de Petri para su posterior análisis.
      BIBLIOGRAFÍA:
      • David Harel. On visual formalisms. Communications of the ACM, 31(5):514-530, May 1988.
      • Harel D., Naamad A. “The STATEMATE Semantics of Statecharts”. ACM Transactions on Software Engineering and Methodology, Vol. 5, No. 4, Oct. 1996, pp.: 293-233.
      • David Harel and Eran Gery. Executable object modeling with statecharts. IEEE Computer, pages 31-42, 1997.
      • Booch G., Rumbaugh J., Jacobson I. “The Unified Modeling Language User Guide”. Addison Wesley 1999.
      • Curso Modelling&Simulation de Hans Vangheluwe de la Escuela de Informática de la Universidad de McGill, Montreal, Canadá: http://moncs.cs.mcgill.ca
  • DEVS. [Transparencias en PDF comprimido]
  • Este formalismo fue introducido por Bernard Zeigler, su semántica está rigurosamente definida, y tiene una visión del mundo basada en eventos. Los DEVS son un formalismo atractivo porque los modelos se pueden construir de forma jerárquica,  interconectando módulos más simples, ya que DEVS cumple la propiedad de clausura bajo acoplamiento. También se describirán variantes como Parallel-DEVS, que es la base del estándar de simulación distribuida HLA (High Level Architecture).
    BIBLIOGRAFÍA:
    • 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.
  • Modelado Multi-Paradigma. [Transparencias en PDF comprimido] 
  • (Meta-Modelado, Multi-Formalismo, Múltiples niveles de abstracción). Los sistemas complejos (lógicos o físicos) necesitan modelarse combinando diversos formalismos. En esta sección introducimos un marco general (modelado multi-paradigma) para el modelado, simulación y análisis de dichos sistemas. 
    BIBLIOGRAFÍA:
    • Vangheluwe, H. 2000.  DEVS as a common denominator for multi-formalism hybrid systems modelling. IEEE Symposium on Computer-Aided Control System Design, pp.:129--134. IEEE Computer Society Press.
    • Sesión en el IEEE International Symposium on Computer-Aided Control Systems Design 2000: http://www-er.df.op.dlr.de/kondisk/campam.html
    • "AToM3: A Tool for Multi-Formalism Modelling and Meta-Modelling". Juan de Lara, Hans Vangheluwe. Fundamental Approaches to Software Engineering - FASE'02 , in European Joint Conferences on Theory And Practice of Software - ETAPS'02 . Grenoble. France, April 2002. Lecture Notes in Computer Science, Springer Verlag.
    • "Where do operations come from? A Multiparadigm Specification Technique". Zave, P., Jackson, M. IEEE Transactions on Software Engineering, Vol.22, no 7, July 1996.
    • MetaEdit+ Home Page.
    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):
    Se propondrán artículos que el alumno deberá leer, criticar y finalmente exponer. Además se propondrán trabajos prácticos de modelado para complementar la visión teórica adquirida durante el curso. En principio, los trabajos prácticos se desarrollarán utilizando el lenguaje de programación Python, y opcionalmente utilizando/extendiendo la herramienta de (meta-)modelado AToM3.