Your SlideShare is downloading. ×
Lenguaje de especificación
Lenguaje de especificación
Lenguaje de especificación
Lenguaje de especificación
Lenguaje de especificación
Lenguaje de especificación
Lenguaje de especificación
Lenguaje de especificación
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Lenguaje de especificación

1,320

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,320
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
27
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 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/2011Se desarrolla un documento en el cual se describen los lenguajes deespecificación SCR y RSML.
  • 2. Tabla de contenidoLenguaje de especificación ...................................................................................................................... 3 Diferencia entre lenguaje de especificación y lenguaje de programación .................................... 3SCR .............................................................................................................................................................. 3RSML ........................................................................................................................................................... 4 Súper estados ......................................................................................................................................... 5 Descomposición AND ............................................................................................................................ 6 Definición de transiciones ..................................................................................................................... 6 Tablas AND/OR ...................................................................................................................................... 7Conclusiones............................................................................................................................................... 7Recomendaciones ..................................................................................................................................... 8Bibliografía .................................................................................................................................................. 8 2
  • 3. Lenguaje de especificación Un lenguaje de especificación o lenguaje de descripción es un lenguaje formal osemi-formal cuya función es construir modelos de los sistemas que se deseaelaborar.Diferencia entre lenguaje de especificación y lenguaje de programaciónA diferencia de los lenguajes de programación, que sonlenguajes interpretables o traducibles por una computadora hacia unarepresentación ejecutable, los lenguajes de especificación no son por lo generalutilizados para implementar el sistema, sino para especificarlo, conceptualizarloo incluso validarlo, aunque también suelen ser legibles para un programa decomputadora, que puede asistir en el proceso de validación.SCREn el campo de la Ingeniería de Requisitos, se han propuesto algunos esquemaspró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 variablesrepresentan los aspectos observables del comportamiento del producto. Esto implica,como es lógico, que el producto software contiene, además aspectos que no sonobservables 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 definirformalmente los requisitos de un sistema hardware-software. Se basa en una notacióntabular, un modelo de maquinas de estados finitos y una serie de construcciones quepermiten especificar condiciones, eventos, modos de entradas y salidas. Los requisitosse 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 influenciaden el comportamiento del sistema.Variables controladas; representan valores del entorno que serán controlados por elsistemaNAT; es una función de los valores monitorizados a los valores controlados. Describelas relaciones naturales entre variables monitorizadas y controladas. Por ejemplo,descripción de restricciones debidas a las leyes de la física un otras causas localizadasen el entorno del sistema. 3
  • 4. REQ; función de los valores monitorizados a los valores controlados. Describe lasrelaciones que el sistema debe mantener entre las variables monitorizadas y lasvariables 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 ysalida son los valores que los dispositivos de entrada salida leen y escribendirectamente. La relación entrada establece una correspondencia desde los valoresmonitorizados del entorno a los datos de entrada. La salida establece unacorrespondencia desde los datos de salida los valores controlados del entorno. Elcomportamiento deseado, o sea, los requisitos se define básicamente mediante losconceptos de valor monitorizado y valor controlado y no por medio de los datos deentrada y salida. La especificación de entrada y salida es básicamente unaespecificación orientada a interfaz y fuera a concentrarse en las relaciones causa-efecto entre los fenómenos del entorno y el sistema.RSMLRequirements State Machine Language (RSML). El lenguaje ha sido desarrollado por laFAA para especificar los requerimientos del sistema TCAS II (Traffic Alert and CollisionAvoidance System) y está siendo utilizado por ellos para este propósito. El lenguajetiene una base formal y es adecuado para el análisis automatizado, pero también esleído por expertos en aplicaciones con poca capacitación y formación matemáticamínima.RSML el cual incluye muchas características desarrolladas por Harel para gráficos deestado, por ejemplo, súper estados, descomposición AND, difusión de comunicación yconectivas condicional.RSML tiene algunas características únicas sintácticas y semánticas que sedesarrollaron para mejorar la legibilidad, capacidad de revisión, analizabilidad, y lacapacidad de manejar los sistemas complejos.Una maquia de estados finitos simple es compuesta de estados conectados portransiciones. Los estados principales son significados por los estados donde unaconexión de la transición no tiene ninguna fuente. En la figura 3, el estado Within-Limitses el primer estado. Las transiciones definen como llegar de un estado a otro. 4
  • 5. Súper estadosEn RSML (y gráficos de estados), estados pueden ser agrupados dentro de súperestados. Tales agrupaciones reducen el numero de transiciones permitiendo lastransiciones hacia y desde el súper estado en vez de requerir transiciones explicitashacia y desde todos los estados agrupados (sub estados). Los súper estados sepueden introducir en dos maneras. Primero, la transición del súper estado puedeterminar en la frontera del súper estado (transición T1 en la figura 4). En este caso, unestado predeterminado debe especificarse dentro del súper estado. En el ejemplo, elestado Climb se introduce después de asumir la transición T1. Por otra parte, latransición puede ser hecha a un estado en particular dentro del súper estado (transiciónT2 en la figura 4). El súper estado mismo puede tener transiciones que termina en lafrontera y en cualquier número de los estados internos. El súper estado puede salir dedos maneras (transiciones T3 Y T4 en la figura 4). Análogas a las transiciones en elsúper estado, las transiciones del súper estado puede tener su origen desde la fronterao de un estado interior. 5
  • 6. Descomposición ANDUna de las más importantes innovaciones en los gráficos de estado es a lo que Harelllamo Estado paralelo, que contiene dos o más maquinas de estados separadas porfronteras punteadas (figura 5). Cuando el estado paralelo S esta dentro, cada máquinade estados A, B, C y D se introducen en el. Todas las maquinas de estado están fueracuando ninguna transición es tomada fuera del estado paralelo. El uso de los estadosparalelos reduce considerablemente el tamaño de la especificación.Definición de transicionesLa 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 lacondición de protección es la verdad. La condición de guardar define las condicionesprevias a la transición y se especifica el uso de tablas AND/OR. Las acciones de salidaidentifican los eventos que se generan cuando la transición se toma. Estos eventosgenerados pueden desencadenar transiciones en otras partes de la máquina deestado. Este mecanismo de propagación de eventos se utiliza para secuenciar ysincronizar la ejecución de las maquinas de estado paralelo en el modelo. 6
  • 7. Tablas AND/ORMuchos lenguajes basados en estados usan notación lógica estándar para describir lavigilancia de las condiciones en las transiciones. Las tablas de AND/OR es una deestas notaciones en donde se puede utilizar la representación tabular de forma normaldisyuntiva.La columna de la izquierda en la tabla muestra las frases lógicas de la condición. Cadauna de las otras columnas representan una conjunción de esas frases que contiene losvalores lógicos de las expresiones (una columna denota el AND lógico de las frases enel ancho de la columna), una columna se evalúa como verdadera si todos suselementos son verdaderos. Un punto denota “sin cuidado”. La colección de columnasrepresenta una disyunción (indicado por el OR por encima de las columnas). Por lotanto, si una de las columnas es cierta, entonces la condición de protección (la tabla) seevalúa como verdadera.ConclusionesEs importante utilizar los lenguajes de especificación por que estos nos ayudanespecificar el sistema, conceptualizarlo o incluso validarlo, y también suelen serlegibles para un programa de computadora, que puede asistir en el procesode validación. 7
  • 8. RecomendacionesSe 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íaAlspaugh, T. A. (s.f.). Thomas A. Alspaugh. Recuperado el 22 de Noviembre de 2011,de http://www.thomasalspaugh.org/pub/fnd/scr.htmlHeitmeyer, C. L. (s.f.). United States Naval Research Laboratory. Recuperado el 22 deNoviembre de 2011, de http://www.nrl.navy.mil/chacs/pubs/02-1221.1-1419.pdfReese, M. P. (1998). Experiences From Specifying the TCAS II Requirements UsingRSML. En 17th Digital Avionics Systems Conference.Santillan, M., & Sharma, K. (s.f.). Software Engineering: Processes and MeasurementResearch Group. Recuperado el 22 de Noviembre de 2011, dehttp://wwwagse.informatik.uni-kl.de/teaching/re/ws2010/SCR_Abstract.pdfSilva Vázquez, D. A. (s.f.). Archivo Digital UPM. Recuperado el 22 de Noviembre de2011, de http://oa.upm.es/124/1/10200013.pdf 8

×