ip mtrt sdl1314 new
TRANSCRIPT
-
IP: Objetivos y planificacin
Contenido
Ingeniera de Protocolos
Especificacin de protocolos con SDL
Pedro Merino Gmez Depto. Lenguajes y Ciencias de la Computacin Universidad de Mlaga
-
IP: Especificacin de protocolos con SDL
Contenido Visin general en herramienta -ejemplos Mquinas de estados finitos comunicantes (CFSM) Construcciones de SDL Bsico Uso bsico de la herramienta IBM Rational SDL Protocolo T.125 en SDL SDL extendido Protocolo V.76 en SDL Bibliografa
2
-
IP: Especificacin de protocolos con SDL
Mquinas de Estados Finitos Comunicantes (CFSM)
ABP, Bartlet et. al
3
Las mquinas de estado comunicantes simples presentan muchas limitaciones para protocolos realistas. No tienen variables, guardas, creacin dinmica, ..
-
IP: Especificacin de protocolos con SDL
X.21, Colin West, 1977
4
Aunque en algunos casos es suficiente para detectar errores. Los errores del protocolo X.21 se detectaron validando una especificacin como sta
-
IP: Especificacin de protocolos con SDL
Mquinas de Estados Finitos Comunicantes (CFSM)
CFSM en descripcin de protocolos
Entidad de protocolo = CFSM Mensajes constantes Canales unidireccionales y no acotados Posibilidad de no-determinismo Posible entrelazado de grano muy fino
Se emplea con xito en prototipos, y para localizar errores Sin embargo, presenta limitaciones
Mensajes con datos variables Variables para guardas Creacin dinmica de entidades Otros comportamientos de los canales Temporizadores Detalles para implementacin (codificacin, prioridades, ..)
5
-
IP: Especificacin de protocolos con SDL
Introduccin a SDL
Introduccin a SDL Origen
o CCITT (International Telegraph and Telephone Consultative Committee): SDL-72, SDL-76, .. SDL-88,
o SDl-92, SDl-96, SDL-2010 o ITU-T (International Telecommunications Union): SG17
reas de aplicacin o Protocolos de comunicaciones o Sistemas distribuidos, sistemas de tiempo real,
interactivos Caractersticas
o Cubre las limitaciones de CFSM o Especificacin del comportamiento y la estructura o Muy ligado a otros lenguajes como MSC, ASN.1 o TTCN o Notacin grfica GR y textual PR (intercambio CIF)
6
-
IP: Especificacin de protocolos con SDL
Sistema / Entorno
Proceso = ECFSM Signal = mensaje
7
SDL describe un sistema compuesto por procesos que se comunican entre s y con un entorno
-
IP: Especificacin de protocolos con SDL
Estructura de una Especificacin
Sistema, bloque, proceso
8
El modelo SDL del protocolo ABP est disponible con la instalacin de IBM Rational SDL
-
IP: Especificacin de protocolos con SDL
Estructura de una Especificacin
Visin Jerrquica
9
En las primeras versiones de SDL no se permite reutilizar cdigo. El cdigo de un proceso slo estaba disponible en su bloque, y era necesario copiar y pegar ..
-
IP: Especificacin de protocolos con SDL
Estructura de una Especificacin
Visin Jerrquica
10
EL cdigo SDL en IBM Rational SDL
-
IP: Especificacin de protocolos con SDL
SDL 88
SDL Bsico Descripcin del sistema Descripcin de los bloques Descripcin de los procesos Tipos de datos
11
-
IP: Especificacin de protocolos con SDL
Sistema
Estructura del sistema
12
Los canales pueden tener un comportamiento realista (prdida, retraso, ..)
-
IP: Especificacin de protocolos con SDL
Sistema
Definicin de seales (mensajes)
Bloque
Canales y seales permitidas
13
Este es el ejemplo tpico de los tutoriales oficiales de SDL. El comentario describe su funcionamiento
-
IP: Especificacin de protocolos con SDL
Bloques
Estructura del bloque
14
Las rutas de seal son vas de comunicacin ideales (sin retraso, sin perdidas). Los canales que conectan un bloque tienen que conectarse con rutas de seal.
-
IP: Especificacin de protocolos con SDL
Bloques
Nuevas seales
Procesos
Rutas de seal ideales
Conexiones Ruta- canal
15
El ejemplo de los tutoriales a nivel de bloque
-
IP: Especificacin de protocolos con SDL
Procesos
Modelo bsico: CFSM
16
Un proceso SDL representa una mquina de estados. cmo representamos esta mquina de estados ?
-
IP: Especificacin de protocolos con SDL
Procesos
Smbolos bsicos para descripcin grfica
17
Estos son los elementos bsicos. Significado (por orden): inicio del proceso, estado (donde espera), consumo de mensaje, envo de mensaje, salto a otro estado
-
IP: Especificacin de protocolos con SDL
Procesos
Ejemplo
Start
Estado
Transicin
Consumo de seal
18
Esta es UNA representacin SDL de la mquina de estados anterior. Se puede organizar grficamente de varias formas.
-
IP: Especificacin de protocolos con SDL
Procesos
19
Esta sera otra opcin vlida, con el mismo significado. La ubicacin de los estados S1 y S2 no es importante. Lo que importa son las transiciones que llegan y salen de los estados.
-
IP: Especificacin de protocolos con SDL
Procesos
Procesamiento de las seales
20
Cada proceso tiene una cola de seales de entrada. Por ejemplo, PhysicalLayer tiene una nica cola para lo que recibe de DataLayer1, DataLayer2 y por C5 del entorno.
-
IP: Especificacin de protocolos con SDL
Procesos
Estado asociado a un proceso: Variables, Cola seales, Etiqueta estado, PIDs:
o SELF (el proceso) o PARENT (el creador) o OFFSPRING (el ltimo hijo) o SENDER (el origen de la seal consumida)
21
Cada proceso activo tiene toda esta informacin asociada en el momento de crearse. Los PIDs son muy tiles para enviar mensajes (seales) a destinos especficos
-
IP: Especificacin de protocolos con SDL
Procesos
Variables y tareas (task)
Tipos usuales: Integer, Char, Charstring, Bit, Boolean, Real, ..
Task
22
Las variables son siempre locales a los procesos. No hay comparticin de variables.
Esto es un ejemplo de declaracin y uso de una variable.
-
IP: Especificacin de protocolos con SDL
Procesos
Decisin Determinista Sin suspensin
23
Las decisiones equivalen a los if o switch de los lenguajes de programacin. Admiten cualquier nmero de opciones. Son deterministas porque siempre est clara la rama por la que puede evolucionar. No suspenden debido a que siempre debe haber una rama evaluada con xito.
-
IP: Especificacin de protocolos con SDL
Procesos
Decisin
24
Estos son ejemplos de decisiones vlidas, en las que se suelen usar rangos de valores en las ramas.
-
IP: Especificacin de protocolos con SDL
Procesos
Seales con datos
Actualizacin de variables V1 y V2
25
Ejemplo: P1 enva el mensaje A(5, true), y P2 lo recibe y actualiza las variables V1 y V2 con los valores 5 y true. El mensaje ha pasado por la cola de mensajes de P2.
-
IP: Especificacin de protocolos con SDL
Procesos
Ejemplos de seales con datos en envo y recepcin
legal
ilegal
26
-
IP: Especificacin de protocolos con SDL
Procesos
Direcciones explcitas de procesos
27
Al enviar un mensaje se indica el destinatario mediante su PID. El PID puede obtenerse de una variable predefinida (SENDER, SELF, OFFSPRING) o de otra declarada como de tipo PID (Dest)
-
IP: Especificacin de protocolos con SDL
Procesos
Direcciones implcitas de procesos
28
Cuando no conocemos los PIDs del destino, podemos confiar en la ruta que sigue el mensaje. Por ejemplo, las seales B y C no necesitan destinatario (solo hay uno posible). La seal A puede ir por dos rutas, y hay que indicarlo con VIA
-
IP: Especificacin de protocolos con SDL
Procesos
Seales y temporizadores
29
Los temporizadores llegan a los procesos como las seales normales. Hay instrucciones especficas para programarlos.
-
IP: Especificacin de protocolos con SDL
Procesos
Temporizadores
Como seales Instrucciones:
SET(T) RESET(T) ACTIVE(T)
30
Ejemplo: se activa T para que expire en 13 milisegundos a partir de la hora actual. Si llega una seal con su nombre en el estado Wait, sabemos que ha expirado.
-
IP: Especificacin de protocolos con SDL
Procesos
Creacin
Crea un proceso
31
La creacin de procesos es similar a la de hebras. No suspende la transicin del proceso padre. Los parmetros son opcionales.
-
IP: Especificacin de protocolos con SDL
Procesos
Terminacin
32
Los procesos siempre terminan por si mismos. No hay mecanismos externos para eliminarlos.
-
IP: Especificacin de protocolos con SDL
Procesos
Abreviaturas para Estados * para otros estados - para el estado de partida
33
Se emplean para evitar la repeticin de cdigo en transiciones idnticas.
-
IP: Especificacin de protocolos con SDL
Procesos
34
Este ejemplo contiene bucles, creacin de procesos, uso de conjuntos, decisiones y abreviaturas (las tres transiciones del ejemplo acaban en para representar Idle)
-
IP: Especificacin de protocolos con SDL
Procesos
35
El uso del parmetro player permite conocer el proceso con el que se dialoga. El smbolo * sustituya a los estados Even y Odd.
-
IP: Especificacin de protocolos con SDL
Comunicacin entre Procesos
La cola nica de seales obliga a definir mecanismos adicionales para activar las transiciones
Reactivacin/Suspensin de un proceso
Consumo de seal Descarte de seal Seal salvada Consumo con guarda Seal continua Consumo con prioridad
36
-
IP: Especificacin de protocolos con SDL
Comunicacin entre Procesos
Visin general
37
-
IP: Especificacin de protocolos con SDL
Comunicacin entre Procesos
Consumo y descarte
38
-
IP: Especificacin de protocolos con SDL
Comunicacin entre Procesos
Seal salvada
39
La seales C que lleguen en el estado S se almacenan temporalmente en una cola diferente. Se vuelven a colocar en la cola de proceso al terminar la transicin.
-
IP: Especificacin de protocolos con SDL
Comunicacin entre Procesos
Seal con guarda y continua
< x = 1 >
D
< x > 1 >
40
Las guardas X=1 y X >1 condicionan la ejecucin de la transicin.
-
IP: Especificacin de protocolos con SDL
Comunicacin entre Procesos
Consumo con prioridad
D
41
La seal D sera la primera en extraerse de la cola, aunque no est en la primera posicin.
-
IP: Especificacin de protocolos con SDL
Procedimientos
Se ejecutan dentro de una transicin Sintaxis idntica a los procesos, salvo:
P1(..)
p1 declaracin
llamada
inicio
terminacin
42
-
IP: Especificacin de protocolos con SDL
Procedimientos
SDL Illustrated by L. Doldi. Contents of checkCRC and checkCRC2
procedure checkCRC FPAR p1 Integer; RETURNS Boolean
'CRC OK ?'
Yes
True
No
False
process p checkCRC
checkCRC
D
43
-
IP: Especificacin de protocolos con SDL
Tipos de Datos en SDL
Tipos de Datos en SDL
Tipos Abstractos de Datos, como ACT ONE Cada definicin de un tipo (Sort) es parcial
NEWTYPE sortname literales, operadores, axiomas . . . ENDNEWTYPE;
Otras posible formas de definicin ASN.1 (Z.105)
44
-
IP: Especificacin de protocolos con SDL
Tipos de Datos en SDL
Sorts predefinidos Bit, Bit_String, Boolean, Character, CharString,
Ver Using SDL Data Types.pdf
Siempre disponibles: := (asignacin) = (test de igualdad) /= (test de no igualdad)
45
-
IP: Especificacin de protocolos con SDL
Ejemplos de Tipos de Datos
NEWTYPE bool LITERALS true, false; OPERATORS not: bool -> bool; AXIOMS not (true) = false; not (false) = true; ENDNEWTYPE bool; NEWTYPE nat LITERALS 0,1; OPERATORS plus : nat, nat -> nat; isZero : nat -> bool AXIOMS FOR ALL x, y IN nat (plus (x, y) == plus (y, x); plus (x, 0) == x; plus (x, plus (y, 1) == plus (plus (x, y), 1 ); isZero (0) == true; isZero (plus (x, 1)) == false;); ENDNEWTYPE nat;
46
-
IP: Especificacin de protocolos con SDL
Redefinicin de Tipos
Sub tipos SYNTYPE counter = Integer; ENDSYNTYPE; SYNTYPE window = Integer CONSTANTS 0:4;
ENDSYNTYPE;
Constantes SYNONYM max_length Integer = 4096;
47
-
IP: Especificacin de protocolos con SDL
Redefinicin de Tipos
Herencia de operadores NEWTYPE sor1 LITERALS li1, li2; OPERATORS op1:... op2:... op3:... AXIOMS ... ENDNEWTYPE; NEWTYPE sor2 INHERITS sor1 OPERATORS (op1, opA = op2); ADDING LITERALS liA; OPERATORS opB:... AXIOMS ... ENDNEWTYPE; INHERITS ...
OPERATOR ALL
48
-
IP: Especificacin de protocolos con SDL
Arrays y Conjuntos
Arrays NEWTYPE array_enteros ARRAY(window, Integer) ENDNEWTYPE; DCL a array_enteros; a(3):= 5;
Conjuntos NEWTYPE conjunto_enteros POWERSET(Integer) ENDNEWTYPE; DCL c conjunto_enteros; c1 := incl( 5, c); c2 := del(5, c);
49
-
IP: Especificacin de protocolos con SDL
Registros
NEWTYPE address_type STRUCT name, first_name, street: Charstring; number: Integer; city: Charstring; ENDNEWTYPE: DCL address adress_type; address := (.Hogrefe, Dieter, Rothenbaumchaussee, 67, Hamburg.) town := address!city
50
-
IP: Especificacin de protocolos con SDL
Especificacin del Protocolo T.125
Ejemplo: multiconferencia con T.125
51
-
IP: Especificacin de protocolos con SDL
Funciones de MCS
Parte del stack T.120
52
-
IP: Especificacin de protocolos con SDL
Funciones de MCS
Estructura jerrquica
cliente
dominio 1
cliente
Proveedor MCS
controlador
cliente
Proveedor MCS
cliente
cliente
dominio 1
cliente
Proveedor MCS
MCU
controlador
Proveedor MCS
cliente
Proveedor MCS
dominio 1 dominio 2
dominio 1 dominio 2
cliente controlador
controlador controlador
dominio 1
53
-
IP: Especificacin de protocolos con SDL
Funciones de MCS
Modelo de capas de MCS
54
-
IP: Especificacin de protocolos con SDL
Servicio en T.122 55
-
IP: Especificacin de protocolos con SDL
Servicio en T.122 56
-
IP: Especificacin de protocolos con SDL
Servicio en T.122 57
-
IP: Especificacin de protocolos con SDL
Servicio en T.122 58
-
IP: Especificacin de protocolos con SDL
Servicio en T.122 59
-
IP: Especificacin de protocolos con SDL
Servicio en T.122 60
-
IP: Especificacin de protocolos con SDL
Servicio en T.122 61
-
IP: Especificacin de protocolos con SDL
Servicio en T.122 62
-
IP: Especificacin de protocolos con SDL
Servicio en T.122 63
-
IP: Especificacin de protocolos con SDL
Servicio en T.122 64
-
IP: Especificacin de protocolos con SDL
Funciones del protocolo MCS, T.125
Gestin de dominios Creacin y eliminacin de conexiones MCS Asociacin y eliminacin de usuarios
Gestin de canales Creacin mediante identificadores
Transferencia de datos Difusin en el rbol para los usuarios asociados a un canal
Otras: gestin de testigos, notificacin de capacidades, etc.
65
-
IP: Especificacin de protocolos con SDL
Funciones del protocolo MCS, T.125 66
-
IP: Especificacin de protocolos con SDL
Funciones del protocolo MCS, T.125 67
-
IP: Especificacin de protocolos con SDL
Funciones del protocolo MCS, T.125 68
-
IP: Especificacin de protocolos con SDL
Funciones del protocolo MCS, T.125 69
-
IP: Especificacin de protocolos con SDL
Funciones del protocolo MCS, T.125 70
-
IP: Especificacin de protocolos con SDL
Funciones del protocolo MCS, T.125 71
-
IP: Especificacin de protocolos con SDL
Funciones del protocolo MCS, T.125 72
-
IP: Especificacin de protocolos con SDL
Funciones del protocolo MCS, T.125
Parmetros de un dominio Nmero mximo de canales MCS simultneos Nmero mximo de identificadores de usuario Nmero mximo de los identificadores de testigo Nmero de prioridades de transferencia de datos en una Caudal cumplimentado Altura mxima Tamao mximo de las MCSPDU de dominio. Versin del protocolo.
73
-
IP: Especificacin de protocolos con SDL
Funcionamiento de T.125 74
-
IP: Especificacin de protocolos con SDL
Especificacin SDL de T.125
Estudiar cdigo en herramienta Descargar de campus virtual Fichero mcs.tgz y mcs.sdt para editar y simular con SDL
Suite Fichero mcs.zip para navegador Fichero startmcs para ayudar a simulacin
75
-
IP: Especificacin de protocolos con SDL
SDL extendido Incorpora orientacin a objetos Cambios:
Estructura de la especificacin Representacin del comportamiento Definicin de datos
76 SDL extendido
-
IP: Especificacin de protocolos con SDL
Estructura de la especificacin Paquetes Tipos de procesos, bloques y sistemas para reutilizar cdigo
o Instancias o Especializacin (subtipos)
Tipos genricos Otros:
o procedimientos globales, o canales sin retrasos o conexin mltiple rutas-canales, ...
77 SDL extendido
-
IP: Especificacin de protocolos con SDL
Paquetes
SDL Illustrated by L. Doldi. The system SS7_test without package
system SS7_test
NEWTYPE PDUSTRUCT
CRC Integer; isLast Boolean; reason Natural;
DEFAULT voidPDU;ENDNEWTYPE;
SYNONYM voidPDU PDU = (. 0, False, 0 .);
SYNONYM D201 Duration = 15.0;
SIGNAL IAM, ACM(PDU);
SIGNALLIST ss7 = IAM, ACM;
ss7ch
(ss7)(ss7)LE_1 LE_2
78
-
IP: Especificacin de protocolos con SDL
Paquetes
SDL Illustrated by L. Doldi. The package SS7pack
package SS7packNEWTYPE PDU
STRUCT CRC Integer; isLast Boolean; reason Natural;
DEFAULT voidPDU;ENDNEWTYPE;
SYNONYM voidPDU PDU = (. 0, False, 0 .);
SYNONYM D201 Duration = 15.0;
SIGNAL IAM, ACM(PDU);
SIGNALLIST ss7 = IAM, ACM;
79
-
IP: Especificacin de protocolos con SDL
Paquetes
SDL Illustrated by L. Doldi. The system SS7_test using package SS7pack
system SS7_test
USE SS7pack;
ss7ch
(ss7)(ss7)LE_1 LE_2
80
La instruccin USE SS7pack facilita el uso de los tipos que contiene en cualquier parte.
-
IP: Especificacin de protocolos con SDL
Tipos de Sistemas
SDL Illustrated by L. Doldi. A system type in a package
package SS7packNEWTYPE PDU
STRUCT CRC Integer; isLast Boolean; reason Natural;
DEFAULT voidPDU;ENDNEWTYPE;
SYNONYM voidPDU PDU = (. 0, False, 0 .);
SYNONYM D201 Duration = 15.0;
SIGNAL IAM, ACM(PDU);
SIGNALLIST ss7 = IAM, ACM;
SS7type This is asystem type
81
SS7type se podra emplear para obtener un sistema real. En este caso no hay ahorro de cdigo.
-
IP: Especificacin de protocolos con SDL
Tipos de Sistemas
SDL Illustrated by L. Doldi. The contents of the system type SS7type
system type SS7type
ss7ch
(ss7)(ss7)LE_1 LE_2
system SS7_test
USE SS7pack;
ss7ch
(ss7)(ss7)LE_1 LE_2System SS7test: SS7type
82
-
IP: Especificacin de protocolos con SDL
Tipos de Bloques
SDL Illustrated by L. Doldi. A block type in a package
package SS7packNEWTYPE PDU
STRUCT CRC Integer; isLast Boolean; reason Natural;
DEFAULT voidPDU;ENDNEWTYPE;
SYNONYM voidPDU PDU = (. 0, False, 0 .);
SYNONYM D201 Duration = 15.0;
SIGNAL IAM, ACM(PDU);
SIGNALLIST ss7 = IAM, ACM;
LE This is ablock type
83
LE, como tipo de bloque, s puede ahorrar cdigo.
-
IP: Especificacin de protocolos con SDL
Tipos de Bloques
SDL Illustrated by L. Doldi. The blocks LE_1 and LE_2 based on block type LE
system SS7_test
USE SS7pack;
ss7ch (ss7)(ss7)
LE_1 : LEpeer
LE_2 : LEpeer
block type LE
peer (ss7)
(ss7)
sr1
(ss7)
(ss7)
LE
Puertas (gates) Como puntos de conexin
84
LE_1 y LE_2 son instancias del tipo LE definido en el paquete SS7pack. Se ahorra cdigo. Hay que aadir las puertas.
-
IP: Especificacin de protocolos con SDL
Tipos de Bloques
SDL Illustrated by L. Doldi. Block instances
system SS7_test
ss7ch(ss7)
(ss7)
London_LEs(4) : LEpeer
block type LE
peer (ss7)
(ss7)
sr1
(ss7)
(ss7)
LE
85
El uso de tipos de bloque permite definir configuraciones complejas. Hay que chequear si la herramienta las soporta.
-
IP: Especificacin de protocolos con SDL
Tipos de Procesos
SDL Illustrated by L. Doldi. The process type LEp
block type LE
peer (ss7)
(ss7)
sr1
(ss7)
(ss7)
LEp
This is aprocess type
LE : LEpg1
process type LEp
DCL inPDU PDU;
g1(ss7)
(ss7)
IAM
w ait4ACM
w ait4ACM
IAM
ACM(voidPDU)
ready
ACM(inPDU)
ready
ready
ACM(inPDU)
-
86
El uso de tipos de procesos permite heredar, extender y modificar el comportamiento. En el ejemplo aparece la puerta g1 como elemento nuevo.
-
IP: Especificacin de protocolos con SDL
Tipos de procesos 87
-
IP: Especificacin de protocolos con SDL
Tipos de procesos - Especializacin 88
El nuevo tipo advanced_keyboard extiende en anterior con una nueva transicin y un procedimiento
-
IP: Especificacin de protocolos con SDL
Tipos de procesos - Especializacin 89
-
IP: Especificacin de protocolos con SDL
Tipos de procesos - Virtual 90
El uso de Virtual permite redefinir el comportamiento en el nuevo tipo
-
IP: Especificacin de protocolos con SDL
Tipos de Bloques/Procesos - Especializacin
SDL Illustrated by L. Doldi. System test2
system test2
SIGNAL init, IAM, ACM(PDU);
SIGNALLIST sigs = init, IAM, ACM;
NEWTYPE PDUSTRUCT
CRC Integer; isLast Boolean; reason Natural;
DEFAULT voidPDU;ENDNEWTYPE;
SYNONYM voidPDU PDU = (. 0, False, 0 .);
med_ch (sigs)(sigs)
protocol This is ablock type
SS7This block typeinherits fromprotocol
side_1 : SS7peer
side_2 : SS7peer
91
-
IP: Especificacin de protocolos con SDL
Tipos de procesos - Especializacin
SDL Illustrated by L. Doldi. Virtual process type, start and input
block type protocol
peer (sigs)
(sigs)
sr1
(sigs)
(sigs)
VIRTUALmanager entity : manager
g1
VIRTUALprocess type manager
g1 (sigs)
(sigs)
VIRTUAL
init
ready
ready
VIRTUALinit
-
92
-
IP: Especificacin de protocolos con SDL
Tipos de procesos - Especializacin
SDL Illustrated by L. Doldi. Adding process routingControl
block type SS7 INHERITS protocol
SIGNAL SCCP;
sr2
SCCPREDEFINED
manager entity : managerRC
routingControl
process routingControl
idle
idle
SCCP
-
93
-
IP: Especificacin de protocolos con SDL
Tipos de procesos - Especializacin
SDL Illustrated by L. Doldi. Modifying and adding transitions and a gate to process manager
REDEFINEDprocess type manager
DCL inPDU PDU;
RC
SCCPREDEFINED
init
IAM
wait4ACM
wait4ACM
IAM
ACM(voidPDU)
SCCP
ready
ACM(inPDU)
ready
ready
ACM(inPDU)
-
FINALIZEDinit
IAM
wait4ACM
94
Este tipo de proceso ha redefinido la transicin inicial y la que se inicia con el consumo de init en el estado ready.
-
IP: Especificacin de protocolos con SDL
Tipos de procesos - Especializacin
SDL Illustrated by L. Doldi. The resulting block type SS7
block type SS7_full
SIGNAL SCCP;
peer(sigs)
(sigs)
sr2
SCCP
sr1(sigs)
(sigs)
manager entity : managerRC
g1routingControl
95
-
IP: Especificacin de protocolos con SDL
Otras Especializaciones
SDL Illustrated by L. Doldi. Two procedures checkCRC and checkCRC2
process type manager
g1 (sigs)
(sigs)
checkCRC2This procedureinherits fromcheckCRC2
checkCRC
init
ready
ready
init
-
96
-
IP: Especificacin de protocolos con SDL
Otras Especializaciones
SDL Illustrated by L. Doldi. Contents of checkCRC and checkCRC2
procedure checkCRCFPAR
p1 Integer;RETURNS Boolean
VIRTUAL
'CRC OK ?'
Yes
True
No
False
procedure checkCRC2 INHERITS checkCRCFPAR
p2 Natural /* added parameter */
REDEFINED
(p1 * p2) > 23
97
El procedimiento inicial no estaba totalmente definido (la decisin no tiene comportamiento real). El nuevo si tiene un comportamiento concreto.
-
IP: Especificacin de protocolos con SDL
Otras Especializaciones
SDL Illustrated by L. Doldi. Signal cnxConf inherits from signal cnxRequ
system test1
SIGNAL cnxRequ(Integer, Boolean), cnxConf INHERITS cnxRequ (Natural);
process proc1 DCL x Integer, y Boolean, z Natural;
ready
ready
cnxConf(x, y, z)
-
98
-
IP: Especificacin de protocolos con SDL
Tipos de procesos - Genricos 99
No implementado en IBM Rational SDL
-
IP: Especificacin de protocolos con SDL
Tipos de procesos - Genricos 100
-
IP: Especificacin de protocolos con SDL
Conexiones mltiples
101
-
IP: Especificacin de protocolos con SDL
SDL-92
Representacin del comportamiento Devolucin de valores en procedimientos Llamada a procedimiento remoto Transiciones espontneas Nuevas formas de direccionamiento en envos Difusin en envo de seales No-determinismo en mltiples seales continuas.
102
-
IP: Especificacin de protocolos con SDL
Devolucin de valores en procedimientos 103
-
IP: Especificacin de protocolos con SDL
Llamada a procedimiento remoto 104
-
IP: Especificacin de protocolos con SDL
Transiciones espontneas 105
-
IP: Especificacin de protocolos con SDL
Transiciones espontneas 106
-
IP: Especificacin de protocolos con SDL
SDL-92
Representacin de los datos Nuevas formas de definicin de operadores:
o algortmica, similar a un procedimiento o alternativa, haciendo uso de otros lenguajes
existentes Valores arbitrarios en variables
107
-
IP: Especificacin de protocolos con SDL
Definicin algortmica de operadores 108
-
IP: Especificacin de protocolos con SDL
Definicin alternativa de operadores 109
-
IP: Especificacin de protocolos con SDL
Restricciones de SDL en Tau 110
-
IP: Especificacin de protocolos con SDL
Restricciones de SDL en Tau 111
-
IP: Especificacin de protocolos con SDL
Especificacin del Protocolo V.76
Ejemplo: control de modem con V.76
BLOCK TYPE V76_DLC
SIGNAL DLCstopped(DLCident);
/* Due to a limitation in Tau 4.0, two routes dlcDL1 and dlcDL2 havebeen created instead of one. Otherwise you get the error:ERROR 891 Not implemented: Output via in a type, with signal insignal set of both directions of path unit*/
dispatch(1, 1)
DLC(0, maxDLC+1)
Initially 0 instances,maximum maxDLC+1instances in parallel,created by dispatch
SU(dlc2su)
(su2dlc)
dlcSU
(su2dlc)
(dlc2su)
user
L_DataInd,L_EstabConf
peer
V76frame
DLV76frame
V76frame
dlcDL1
V76frame
DLCs L_DataReq,L_ReleaseReq,V76frameDLCstopped
dlcDL2
V76frame
Descripcin general y ref. a norma ITU Versin SDL de L. Doldi (parcial)
112
-
IP: Especificacin de protocolos con SDL
Funciones de V.76
Establecimiento de conexiones entre dos modems para transferencia de datos
113
-
IP: Especificacin de protocolos con SDL
Funciones de V.76 114
-
IP: Especificacin de protocolos con SDL
Versin SDL de L. Doldi 115
-
IP: Especificacin de protocolos con SDL
Versin SDL de L. Doldi 116
-
IP: Especificacin de protocolos con SDL
Versin SDL de L. Doldi 117
-
IP: Especificacin de protocolos con SDL
Versin SDL de L. Doldi
BLOCK TYPE V76_DLC
SIGNAL DLCstopped(DLCident);
/* Due to a limitation in Tau 4.0, two routes dlcDL1 and dlcDL2 havebeen created instead of one. Otherwise you get the error:ERROR 891 Not implemented: Output via in a type, with signal insignal set of both directions of path unit*/
dispatch(1, 1)
DLC(0, maxDLC+1)
Initially 0 instances,maximum maxDLC+1instances in parallel,created by dispatch
SU(dlc2su)
(su2dlc)
dlcSU
(su2dlc)
(dlc2su)
user
L_DataInd,L_EstabConf
peer
V76frame
DLV76frame
V76frame
dlcDL1
V76frame
DLCs L_DataReq,L_ReleaseReq,V76frameDLCstopped
dlcDL2
V76frame
118
-
IP: Especificacin de protocolos con SDL
Versin SDL de L. Doldi
; FPAR me DLCident, originator Boolean;
PROCESS DLC (0, maxDLC + 1)
TIMER T320 := 12.0; /* Max. numer of retransmissions: */ SYNONYM N320 Integer = 3; DCL /* T320 retransmission counter: */ N320cnt Integer;
/* Temporary variables: */ DCL uData Idata, len Integer, Iparam Iframe, V76para V76paramTyp;
originator
N320cnt:= 0
V76frame(SABME: (. me .))VIA peer
SET (T320)
waitUA
V76frame(UA: (. me .))VIA peer
connected
waitUA
V76frame (V76para)
V76para ! present
RESET (T320)
L_EstabConf(me)
connected
DLCstopped(me)
-
T320
N320cnt
N320cnt:= N320cnt + 1
retry
DLCstopped(me)retry
True
False
UADM ELSE
< N320ELSE
119
-
IP: Especificacin de protocolos con SDL
Versin SDL de L. Doldi
; FPAR me DLCident, originator Boolean;
PROCESS DLC (0, maxDLC + 1)
connected
L_DataReq( , uData, len)
We do notget the firstparameter
Iparam :=fill_Iframe(me, uData, len, 15)
V76frame(I : Iparam)VIA peer
-
L_ReleaseReq
V76frame(DISC : (. me .))VIA peer
waitUAdisc
V76frame (V76para)
V76para ! present
DLCstopped(me)
-
V76frame (V76para)
V76para ! present
V76frame(UA : (. me .))VIA peer
DLCstopped(me)
CALL CRCok(V76para ! I !CRC)
L_DataInd(me, V76para! I ! data,V76para! I ! length)
-
-
UA, DMELSE
DISCI
TrueFalse
ELSE
120
-
IP: Especificacin de protocolos con SDL
Versin SDL de L. Doldi
PROCESS dispatch(1, 1)
/* Temporary variables: */ DCL DLCnum, DLCpeer DLCident, uData Idata, V76para V76paramTyp, len Integer;
NEWTYPE DLCsArray ARRAY(DLCident, PID) ENDNEWTYPE; DCL /* to store the PIDs of the instances of process DLC, necessary in outputs to route signals : */ DLCs DLCsArray;
ready
V76frame (V76para)
V76para ! present
DLCpeer:=V76para ! SABME ! DLCi
DLCs(DLCpeer)
L_EstabInd(DLCpeer)
waitEstabResp
L_EstabResp
DLC(DLCpeer, False)
Createsinstance ofprocess DLC
DLCs(DLCpeer):= OFFSPRING
Stores into thetable the PID of theinstance just created.
ready
V76frame SavesV76frame
L_ReleaseInd(DLCpeer)
V76frame(DM :(. DLCpeer .))VIA dlcDL2
-
V76frame(V76para)TO DLCs(V76para !UA ! DLCi)
-
V76frame(V76para)TO DLCs(V76para !DM ! DLCi)
-
L_SetparmInd
waitParmResp
L_SetparmResp
V76frame(XIDresp : 0)VIA dlcDL2
ready
-
V76frame(V76para)TO DLCs(V76para !I ! DLCi)
We pass the frameto the correspondinginstance of process DLC
-
V76frame(V76para)TO DLCs(V76para !DISC ! DLCi)
-
L_SetparmConf
-
SABME
NULL
ELSE
UA DM XIDcmd ELSEI DISC
XIDresp
121
-
IP: Especificacin de protocolos con SDL
Versin SDL de L. Doldi
PROCESS dispatch(1, 1)
ready
L_DataReq(DLCnum, uData, len)
DLCs(DLCnum)
L_DataReq(DLCnum, uData,len) TO DLCs(DLCnum)
We pass the frameto the correspondinginstance of process DLC
-
L_ReleaseReq(DLCnum)
This is a priority input
DLCs(DLCnum)
L_ReleaseReq(DLCnum) TODLCs(DLCnum)
-
L_EstabReq(DLCnum)
DLCs(DLCnum)
DLC(DLCnum, True)
DLCnum notused, we createan instance ofprocess DLC
DLCs(DLCnum):= OFFSPRING
We store into thetable the PID ofthe new instance
waitUA
V76frame(V76para)
V76para ! present
V76frame(V76para)TO DLCs(V76para !UA ! DLCi)
ready
-
L_ReleaseInd(DLCnum)
ready
DLCstopped(DLCnum)
L_ReleaseInd(DLCnum)
DLCs(DLCnum):= NULL
-
L_SetparmReq
V76frame(XIDcmd : 0)VIA dlcDL2
-
ELSENULL
ELSENULLNULL
UAELSE
ELSE
122
-
IP: Especificacin de protocolos con SDL
Especificacin SDL de V.76
Estudiar cdigo en herramienta Descargar de campus virtual Fichero v76.tgz y v76.sdt para editar y simular con SDL
Suite Fichero v76.zip para navegador
123
-
IP: Especificacin de protocolos con SDL 124 Bibliografa
Bibliografa DOLDI L. SDL Illustrated - Visually design executable models
DOLDI L. Validation of Communications Systems with SDL
OLSEN y OTROS. System Engineering Using SDL-92. North-Holland.
R. Saracco: Telecommunications system engineering using SDL (North-
Holland, Amsterdam, 1989)
F. Belina: SDL with applications from protocol specification. Prentice Hall.
CCITT Recommendation Z.100: Specification and Description Language SDL,
Tutoriales en www.sdl-forum.org
Ingeniera de ProtocolosNmero de diapositiva 2Mquinas de Estados Finitos Comunicantes (CFSM)Nmero de diapositiva 4Mquinas de Estados Finitos Comunicantes (CFSM)Introduccin a SDLSistema / EntornoEstructura de una EspecificacinEstructura de una EspecificacinEstructura de una EspecificacinSDL 88SistemaSistemaBloquesBloquesProcesosProcesosProcesosProcesosProcesosProcesosProcesosProcesosProcesosProcesosProcesosProcesosProcesosProcesosProcesosProcesosProcesosProcesosProcesosProcesosComunicacin entre ProcesosComunicacin entre ProcesosComunicacin entre ProcesosComunicacin entre ProcesosComunicacin entre ProcesosComunicacin entre ProcesosProcedimientosProcedimientosTipos de Datos en SDLTipos de Datos en SDLEjemplos de Tipos de DatosRedefinicin de TiposRedefinicin de TiposArrays y ConjuntosRegistrosEspecificacin del Protocolo T.125Funciones de MCSFunciones de MCSFunciones de MCSServicio en T.122Servicio en T.122Servicio en T.122Servicio en T.122Servicio en T.122Servicio en T.122Servicio en T.122Servicio en T.122Servicio en T.122Servicio en T.122Funciones del protocolo MCS, T.125Funciones del protocolo MCS, T.125Funciones del protocolo MCS, T.125Funciones del protocolo MCS, T.125Funciones del protocolo MCS, T.125Funciones del protocolo MCS, T.125Funciones del protocolo MCS, T.125Funciones del protocolo MCS, T.125Funciones del protocolo MCS, T.125Funcionamiento de T.125Especificacin SDL de T.125SDL extendidoSDL extendidoPaquetesPaquetesPaquetesTipos de SistemasTipos de SistemasTipos de BloquesTipos de BloquesTipos de BloquesTipos de ProcesosTipos de procesosTipos de procesos - EspecializacinTipos de procesos - EspecializacinTipos de procesos - VirtualTipos de Bloques/Procesos - EspecializacinTipos de procesos - EspecializacinTipos de procesos - EspecializacinTipos de procesos - EspecializacinTipos de procesos - EspecializacinOtras EspecializacionesOtras EspecializacionesOtras EspecializacionesTipos de procesos - GenricosTipos de procesos - GenricosConexiones mltiplesSDL-92Devolucin de valores en procedimientosLlamada a procedimiento remotoTransiciones espontneasTransiciones espontneasSDL-92Definicin algortmica de operadoresDefinicin alternativa de operadoresRestricciones de SDL en TauRestricciones de SDL en TauEspecificacin del Protocolo V.76Funciones de V.76Funciones de V.76Versin SDL de L. DoldiVersin SDL de L. DoldiVersin SDL de L. DoldiVersin SDL de L. DoldiVersin SDL de L. DoldiVersin SDL de L. DoldiVersin SDL de L. DoldiVersin SDL de L. DoldiEspecificacin SDL de V.76Bibliografa