Lenguaje de especificación

8
UNIVERSIDAD AUTONOMA DE CHIHUAHUA FACULTAD DE INGENIERIA Lenguajes de Especificación SCR y RSML Modelado y Análisis de Requerimientos de Software Equipo #4 225690 Carlos Antonio Ibarra García 225654 Irving Manuel Canales Tarango 225673 Daniel Giovanni Nájera Chavira 28/11/2011 Se desarrolla un documento en el cual se describen los lenguajes de especificación SCR y RSML.

Transcript of Lenguaje de especificación

Page 1: Lenguaje de especificación

UNIVERSIDAD AUTONOMA DE CHIHUAHUA FACULTAD DE INGENIERIA

Lenguajes de Especificación SCR y RSML

Modelado y Análisis de Requerimientos de Software

Equipo #4 225690 Carlos Antonio Ibarra García

225654 Irving Manuel Canales Tarango 225673 Daniel Giovanni Nájera Chavira

28/11/2011

Se desarrolla un documento en el cual se describen los lenguajes de especificación SCR y RSML.

Page 2: Lenguaje de especificación

2

Tabla de contenido

Lenguaje de especificación ...................................................................................................................... 3

Diferencia entre lenguaje de especificación y lenguaje de programación .................................... 3

SCR .............................................................................................................................................................. 3

RSML ........................................................................................................................................................... 4

Súper estados ......................................................................................................................................... 5

Descomposición AND ............................................................................................................................ 6

Definición de transiciones ..................................................................................................................... 6

Tablas AND/OR ...................................................................................................................................... 7

Conclusiones............................................................................................................................................... 7

Recomendaciones ..................................................................................................................................... 8

Bibliografía .................................................................................................................................................. 8

Page 3: Lenguaje de especificación

3

Lenguaje de especificación

Un lenguaje de especificación o lenguaje de descripción es un lenguaje formal o

semi-formal cuya función es construir modelos de los sistemas que se desea

elaborar.

Diferencia entre lenguaje de especificación y lenguaje de programación

A diferencia de los lenguajes de programación, que son lenguajes interpretables o traducibles por una computadora hacia una representación ejecutable, los lenguajes de especificación no son por lo general utilizados para implementar el sistema, sino para especificarlo, conceptualizarlo o incluso validarlo, aunque también suelen ser legibles para un programa de computadora, que puede asistir en el proceso de validación.

SCR

En el campo de la Ingeniería de Requisitos, se han propuesto algunos esquemas

próximos a esta idea de especificación de interfaces. Uno de los primeros en hacerlo,

C. A. R. Hoare definía una especificación como un predicado cuyas variables

representan los aspectos observables del comportamiento del producto. Esto implica,

como es lógico, que el producto software contiene, además aspectos que no son

observables desde el entorno y que no deben figurar en la especificación.

El método SCR (Reducción del Coste del Software ha sido desarrollado para definir

formalmente los requisitos de un sistema hardware-software. Se basa en una notación

tabular, un modelo de maquinas de estados finitos y una serie de construcciones que

permiten especificar condiciones, eventos, modos de entradas y salidas. Los requisitos

se expresan por medio de relaciones matemáticas entre cuatro conjuntos de variables,

definidas en lo que se ha denominado el modelo tetra - variable formado por:

Variables monitorizadas; representan valores del entorno con capacidad de influencia

den el comportamiento del sistema.

Variables controladas; representan valores del entorno que serán controlados por el

sistema

NAT; es una función de los valores monitorizados a los valores controlados. Describe

las relaciones naturales entre variables monitorizadas y controladas. Por ejemplo,

descripción de restricciones debidas a las leyes de la física un otras causas localizadas

en el entorno del sistema.

Page 4: Lenguaje de especificación

4

REQ; función de los valores monitorizados a los valores controlados. Describe las

relaciones que el sistema debe mantener entre las variables monitorizadas y las

variables controladas, relaciones que por tanto no son ciertas en ausencia del sistema.

El método SCR distingue claramente entre los elementos de datos de entrada y salida,

por un lado y las relaciones Entrada y Salida por otro. Los elementos de entrada y

salida son los valores que los dispositivos de entrada salida leen y escriben

directamente. La relación entrada establece una correspondencia desde los valores

monitorizados del entorno a los datos de entrada. La salida establece una

correspondencia desde los datos de salida los valores controlados del entorno. El

comportamiento deseado, o sea, los requisitos se define básicamente mediante los

conceptos de valor monitorizado y valor controlado y no por medio de los datos de

entrada y salida. La especificación de entrada y salida es básicamente una

especificación orientada a interfaz y fuera a concentrarse en las relaciones causa-

efecto entre los fenómenos del entorno y el sistema.

RSML

Requirements State Machine Language (RSML). El lenguaje ha sido desarrollado por la

FAA para especificar los requerimientos del sistema TCAS II (Traffic Alert and Collision

Avoidance System) y está siendo utilizado por ellos para este propósito. El lenguaje

tiene una base formal y es adecuado para el análisis automatizado, pero también es

leído por expertos en aplicaciones con poca capacitación y formación matemática

mínima.

RSML el cual incluye muchas características desarrolladas por Harel para gráficos de

estado, por ejemplo, súper estados, descomposición AND, difusión de comunicación y

conectivas condicional.

RSML tiene algunas características únicas sintácticas y semánticas que se

desarrollaron para mejorar la legibilidad, capacidad de revisión, analizabilidad, y la

capacidad de manejar los sistemas complejos.

Una maquia de estados finitos simple es compuesta de estados conectados por

transiciones. Los estados principales son significados por los estados donde una

conexión de la transición no tiene ninguna fuente. En la figura 3, el estado Within-Limits

es el primer estado. Las transiciones definen como llegar de un estado a otro.

Page 5: Lenguaje de especificación

5

Súper estados

En RSML (y gráficos de estados), estados pueden ser agrupados dentro de súper

estados. Tales agrupaciones reducen el numero de transiciones permitiendo las

transiciones hacia y desde el súper estado en vez de requerir transiciones explicitas

hacia y desde todos los estados agrupados (sub estados). Los súper estados se

pueden introducir en dos maneras. Primero, la transición del súper estado puede

terminar en la frontera del súper estado (transición T1 en la figura 4). En este caso, un

estado predeterminado debe especificarse dentro del súper estado. En el ejemplo, el

estado Climb se introduce después de asumir la transición T1. Por otra parte, la

transición puede ser hecha a un estado en particular dentro del súper estado (transición

T2 en la figura 4). El súper estado mismo puede tener transiciones que termina en la

frontera y en cualquier número de los estados internos. El súper estado puede salir de

dos maneras (transiciones T3 Y T4 en la figura 4). Análogas a las transiciones en el

súper estado, las transiciones del súper estado puede tener su origen desde la frontera

o de un estado interior.

Page 6: Lenguaje de especificación

6

Descomposición AND

Una de las más importantes innovaciones en los gráficos de estado es a lo que Harel

llamo Estado paralelo, que contiene dos o más maquinas de estados separadas por

fronteras punteadas (figura 5). Cuando el estado paralelo S esta dentro, cada máquina

de estados A, B, C y D se introducen en el. Todas las maquinas de estado están fuera

cuando ninguna transición es tomada fuera del estado paralelo. El uso de los estados

paralelos reduce considerablemente el tamaño de la especificación.

Definición de transiciones

La definición de transiciones en RSML contiene cinco partes:

1.- La identificación (la fuente y el destino de la transición).

2.- La ubicación.

3.- La activación de eventos.

4.- La vigilancia de la condición.

5.- La acción de salida.

Las primeras partes son las únicas partes requeridas.

Las transiciones son tomadas a la ocurrencia del evento de disparo, siempre que la

condición de protección es la verdad. La condición de guardar define las condiciones

previas a la transición y se especifica el uso de tablas AND/OR. Las acciones de salida

identifican los eventos que se generan cuando la transición se toma. Estos eventos

generados pueden desencadenar transiciones en otras partes de la máquina de

estado. Este mecanismo de propagación de eventos se utiliza para secuenciar y

sincronizar la ejecución de las maquinas de estado paralelo en el modelo.

Page 7: Lenguaje de especificación

7

Tablas AND/OR

Muchos lenguajes basados en estados usan notación lógica estándar para describir la

vigilancia de las condiciones en las transiciones. Las tablas de AND/OR es una de

estas notaciones en donde se puede utilizar la representación tabular de forma normal

disyuntiva.

La columna de la izquierda en la tabla muestra las frases lógicas de la condición. Cada

una de las otras columnas representan una conjunción de esas frases que contiene los

valores lógicos de las expresiones (una columna denota el AND lógico de las frases en

el ancho de la columna), una columna se evalúa como verdadera si todos sus

elementos son verdaderos. Un punto denota “sin cuidado”. La colección de columnas

representa una disyunción (indicado por el OR por encima de las columnas). Por lo

tanto, si una de las columnas es cierta, entonces la condición de protección (la tabla) se

evalúa como verdadera.

Conclusiones

Es importante utilizar los lenguajes de especificación por que estos nos ayudan

especificar el sistema, conceptualizarlo o incluso validarlo, y también suelen ser

legibles para un programa de computadora, que puede asistir en el proceso

de validación.

Page 8: Lenguaje de especificación

8

Recomendaciones

Se recomienda buscar más información respecto a estos lenguajes de especificación,

así como dar un vistazo al documento: IEEE Transactions on Software Engineering

(TSE), que habla sobre el lenguaje y el enfoque de modelado.

Bibliografía

Alspaugh, T. A. (s.f.). Thomas A. Alspaugh. Recuperado el 22 de Noviembre de 2011,

de http://www.thomasalspaugh.org/pub/fnd/scr.html

Heitmeyer, C. L. (s.f.). United States Naval Research Laboratory. Recuperado el 22 de

Noviembre de 2011, de http://www.nrl.navy.mil/chacs/pubs/02-1221.1-1419.pdf

Reese, M. P. (1998). Experiences From Specifying the TCAS II Requirements Using

RSML. En 17th Digital Avionics Systems Conference.

Santillan, M., & Sharma, K. (s.f.). Software Engineering: Processes and Measurement

Research Group. Recuperado el 22 de Noviembre de 2011, de

http://wwwagse.informatik.uni-kl.de/teaching/re/ws2010/SCR_Abstract.pdf

Silva Vázquez, D. A. (s.f.). Archivo Digital UPM. Recuperado el 22 de Noviembre de

2011, de http://oa.upm.es/124/1/10200013.pdf