1. Topic
  2. Conceptos
    1. describe el intercambio de mensajes de líneas de vida ordenados en el tiempo
    2. ilustran la realización de casos de uso (CU)
    3. normalmente se hace uno por flujo general y otro por flujo alternativo
    4. aclaran los roles de los objetos
    5. NO incluye relaciones entre los objetos
  3. Elementos de un DS
    1. Frames (límites)
    2. Líneas de Vida (objetos)
      1. da idea del tiempo de los objetos de la clase en el CU
    3. Barras de Tiempo (focos de control)
      1. representa el conjunto de mensajes que mantienen relación consecutiva
    4. Scripts
      1. usados en escenarios muy complejos pueden ser escritos en pseudo código o lenguaje natural
    5. Fragmentos Combinados
      1. Alternative (alt) if...then...else
      2. Option (opt) switch
      3. Break (break)
      4. Parallel (par)
      5. Week Sequencing (seq) no hay que seguir un orden específico de ejecución
      6. Strict Sequencing (strict)
      7. Critical Region (region) se debe ejecutar sin interrupciones
      8. Ignore (ignore) mensajes que no interesan si aparecen (normalmente durante pruebas)
      9. Consider (consider) lo opuesto a "ignore"
      10. Assertion (assert) únicas secuencias válidas
      11. Negative (neg) normalmente para respuesta ante un error/caída del sistema
      12. Loop (loop)
    6. Mensajes (estímulos): Comunicación entre objetos que conlleva información y la expectativa de obtener un resultado
      1. Contienen:
        1. Parámetros message(parameter1,parameter2)
        2. Condición [condicion] : mensaje()
        3. Iteración *[condicion iteracion] : mensaje()
      2. Tipos de mensajes
        1. Debido a su nivel de término:
          1. Completados
          2. Perdidos
          3. Encontrados
          4. van o vienen de un elemento de fin
        2. Por su naturaleza:
          1. Síncronos
          2. Asíncronos
          3. De retorno
          4. objeto que espera una respuesta antes de continuar return:=message(parameter) --------------|>
          5. objeto no espera respuesta para seguir message(parameter) ----------->
          6. para mostrar el retorno de un asíncrono o para mensajes de error message(return) <- - - - - - -
  4. Control
    1. Centralizado: pocos objetos gobiernan el flujo enviando y recibiendo mensajes
    2. Descentralizado: la mayoría de objetos se comunican unos con otros sin intervención de un controlador