Está en la página 1de 32

Especificación de Protocolos

Conceptos
• Especificación
• Máquinas de estado y lenguajes de modelado
• Diagramas de estado UML y diagramas de
secuencia
Especificaciones con maquinas de
estado
Un protocolo interactúa con el medio ambiente
• desencadenado por eventos
• responde realizando acciones
• el comportamiento depende de la historia de
eventos pasados,
• las máquinas de estado no modelan el flujo de
datos, pero el flujo de control
Máquinas de estado finito
• Aceptadores (detectores de secuencia)
– producen una salida binaria (sí / no) en una secuencia
de entrada
– aceptar lenguajes regulares
• Transductores
– Máquinas de Mealy (salida determinada en el estado
actual y entrada)
– Máquinas de Moore (salida determinada en el estado
actual)
– ambos modelos son equivalentes
Máquinas de Mealy
Definiciones de una maquina Mealy
Una máquina de estado Mealy es una tupla (Q, q0,
I, O, T, G), donde
• Q es un conjunto de estados finito, no vacío,
• q0 ∈ Q es el estado inicial,
• I es un conjunto finito llamado alfabeto de
entrada,
• O es un conjunto finito llamado alfabeto de
salida,
• T es una función de transición, T: S × I → S, y
• G es una función de salida, G: S × I → O.
Limitaciones de las MEF
Sin variables de datos
• Los valores y cambios de las variables deben
codificarse en el espacio de Estados
Limitaciones de las MEF
Problema con la memoria finita:
• rango variable finito
• problema al modelar canales de
comunicación:
- tamaño del canal desconocido
- determinación del tamaño del búfer =
sobreespecificación
Limitaciones de las MEF
• Problema con MEF concurrentes:
– sin canales de comunicación
– sin sincronización
– la composición de los MEF que interactúan
conduce a nuevos estados y una explosión del
espacio estatal
• Los protocolos de comunicación pueden verse
como estado concurrente máquinas
Limitaciones de las MEF
• Falta abstracción, falta composición
Máquinas de estado para especificación

• Los MEF originales no son adecuados para


modelar y especificar procesos en sistemas
distribuidos
• Modelos de máquina de estado extendido:
– Comunicación de máquinas de estados finitos
– Gráficos de estado de Harel (superestados, estados
concurrentes)
– Máquinas de estado finito extendidas (variables,
operaciones, condiciones)
– Base para muchos modelos y especificaciones
prácticos en lenguajes como SDL, UML.
Lenguajes de descripción:
Estructura vs comportamiento
• Lenguajes estructurales:
– describen el concepto estructurado estático
(arquitectura)
– p.ej. diagramas de clases, diagramas de
componentes
• Lenguajes de comportamiento:
– describir el comportamiento, es decir, actividades,
interacción
– p.ej. máquinas de estado y diagramas de
secuencia
Lenguaje descriptivos
Constructivo vs. Reflectivo
• Lenguajes constructivos:
– Describen la información para ejecutar el modelo
o para (ejecutable) generar el código
– p.ej. máquinas de estado
• Lenguajes reflexivos o asertivos:
– describen vistas del modelo, estáticamente o
durante su ejecución
– p.ej. diagramas de secuencia
TCP diagrama de transición de estados
TCP diagrama de estado de conección
TCP Diagrama de secuencia
UML
• Lenguaje de modelado unificado
– lenguaje de propósito general para modelar
especificaciones en ingeniería de software
– en este contexto de especial interés: Máquinas de
estados, diagramas de secuencia
• El estándar: Especificación de superestructura
UML 2.0 http://www.omg.org/spec/UML/2.0/
Maquina de estado UML
Estados y Transiciones
Pseudo estados de unión
Pseudo estados de elección
Bifurcación y Unión
Acciones
Ejemplo
Estados compuestos
Sub estados de entrada
Ejemplo de modelado
• Modelando un teléfono:
1. reproducir un tono de marcación después de que la
persona que llama levanta el auricular
2. luego permita que el usuario marque dígitos
• terminar después de un tiempo de espera
• terminar después de un dígito no válido
3. establecer conexión
• reproducir tono de ocupado si está ocupado
• reproducir tono de llamada de lo contrario
4. habilite hablar hasta que la persona que llama cuelgue
Diagramas de secuencia UML
• Interacción del proceso del modelo (variante
de los diagramas de interacción)
• Se centra en el intercambio de mensajes
Elementos de diagramas de secuencia
Diagrama de secuencia con limitantes
Ejemplo TCP

También podría gustarte