stringtranslate.com

Lenguaje de especificación y descripción

El lenguaje de especificación y descripción ( SDL ) es un lenguaje de especificación destinado a la especificación y descripción inequívoca del comportamiento de sistemas reactivos y distribuidos .

Descripción general

La UIT-T ha definido el SDL en las Recomendaciones Z.100 a Z.106. El SDL se centraba originalmente en los sistemas de telecomunicaciones; a partir de 2016 sus áreas de aplicación actuales incluyen el control de procesos y las aplicaciones de tiempo real en general. Por su naturaleza puede utilizarse para representar sistemas de simulación [1] sin ambigüedad y con una notación gráfica.

El lenguaje de especificación y descripción proporciona una representación gráfica (SDL/GR) y una representación textual de frases (SDL/PR), que son representaciones equivalentes de la misma semántica subyacente. Los modelos se muestran normalmente en forma gráfica en SDL/GR, y SDL/PR se utiliza principalmente para intercambiar modelos entre herramientas. Un sistema se especifica como un conjunto de máquinas abstractas interconectadas que son extensiones de las máquinas de estados finitos (FSM).

El lenguaje está formalmente completo , [2] por lo que se puede utilizar para la generación de código tanto para simulación como para objetivos finales.

El lenguaje de especificación y descripción cubre cinco aspectos principales: estructura, comunicación, comportamiento, datos y herencia. El comportamiento de los componentes se explica dividiendo el sistema en una serie de jerarquías. La comunicación entre los componentes se lleva a cabo a través de puertas conectadas por canales. Los canales son de tipo retardado, por lo que la comunicación suele ser asincrónica, pero cuando el retardo se establece en cero (es decir, sin retardo) la comunicación se vuelve sincrónica.

La primera versión del lenguaje se publicó en 1976 utilizando sintaxis gráfica (SDL-76). Esta versión se revisó en 1980 con una semántica rudimentaria (SDL-80). La semántica se refinó en 1984 (SDL-84), se introdujo la forma textual para el procesamiento de máquinas y se introdujeron los datos. En 1988 se publicó SDL-88 con una base formal para el lenguaje: una gramática abstracta, así como una gramática concreta y una definición formal completa. La versión publicada en 1992 (SDL-92) introdujo conceptos orientados a objetos como la herencia, los tipos genéricos abstractos, etc., con las características orientadas a objetos descritas por transformaciones en características no orientadas a objetos. SDL-2010 es la última versión, una versión actualizada de SDL-2000 que se basaba completamente en la orientación a objetos, en lugar de la descripción por transformaciones. Esta versión viene acompañada de un perfil UML : Recomendación ITU-T Z.109 (04/12), SDL-2010 combinado con UML. SDL-2010 también introdujo el soporte de tipos de datos C, tal como lo introdujo inicialmente SDL-RT.

Organización

Nivel de jerarquía

El nivel de jerarquía de SDL está estructurado de la siguiente manera.

Arquitectura

Un sistema SDL está formado por bloques funcionales y cada bloque puede descomponerse en subbloques. El bloque de nivel más bajo está compuesto por uno o varios procesos descritos como máquinas de estados finitos.

Comunicación

Los bloques están conectados a través de canales que transportan los mensajes (o señales) intercambiados entre los bloques. Un agente de bloque consta de agentes de proceso.

Comportamiento

Cada agente de proceso es una máquina de estados que contribuye a la acción que lleva a cabo el sistema. Un estímulo de mensaje que viene del entorno o de otro agente a un agente se denomina señal. Las señales que recibe un agente de proceso se colocan primero en una cola (el puerto de entrada). Cuando la máquina de estados está esperando en un estado, si la primera señal en el puerto de entrada está habilitada para ese estado, inicia una transición que conduce a otro estado. Las transiciones pueden enviar señales a otros agentes o al entorno. Se permite que un agente de proceso contenga tipos de procedimientos para que se puedan invocar las mismas acciones desde diferentes lugares. También se permite llamar a un tipo de procedimiento remoto para invocar un procedimiento en otro agente (o incluso en otro sistema) y esperar una respuesta.

En este ejemplo, MyVariable es de tipo INTEGER y es la única variable del proceso. La primera transición es la transición de inicio que inicializa la variable local. Se envía un mensaje de solicitud de conexión conReq , se inicia un temporizador de 5 segundos conReqTimer y la máquina de estados pasa al estado de conexión . En el estado de conexión , si el temporizador se apaga (lo que equivale a recibir un mensaje), la solicitud de conexión se vuelve a enviar hasta 10 veces. Si se recibe una confirmación de conexión, la máquina de estados pasa al estado de conexión . Este es un escenario típico de protocolo de telecomunicaciones.

Los símbolos disponibles son:

Datos

Los tipos de datos abstractos (ADT) de SDL admiten tipos de datos básicos como INTEGER, REAL, CHARSTRING, así como tipos de datos estructurados como estructuras (STRUCT), enumerados (LITERALS) y constantes (SYNONYMS). La sintaxis es similar a la de Pascal; por ejemplo, una asignación se escribe ':='.

Variantes

Tecnologías relacionadas

Véase también

Referencias

  1. ^ Fonseca i Casas, Pau y Pi, Xavier y Casanovas, Josep y Jové, Jordi (2013). "Definición de modelos de simulación de realidad virtual mediante diagramas de lenguaje de especificación y descripción". SDL 2013: Model-Driven Dependability Engineering . Apuntes de clase en informática. Vol. 7916. Springer Berlin Heidelberg . págs. 258–274. doi :10.1007/978-3-642-38911-5_15. hdl :2117/22156. ISBN 978-3-642-38910-8.{{cite book}}: CS1 maint: varios nombres: lista de autores ( enlace )
  2. ^ R. Grammes; R. Gotzhein (2007). Enfoques fundamentales de la ingeniería de software . Apuntes de clase en informática. Vol. 4422. Springer . Págs. 200-214. doi :10.1007/978-3-540-71289-3_17. ISBN . 978-3-540-71288-6.S2CID22556123  .​
  3. ^ "Lenguaje de especificación y descripción en tiempo real" . Consultado el 29 de marzo de 2014. El uso principal de SDL-RT es desarrollar software integrado y en tiempo real. SDL-RT se basa en tareas que se ejecutan simultáneamente e intercambian información a través de mensajes y se sincronizan entre sí mediante semáforos.

Enlaces externos