<ul><li>El UML soporta un gran número de estereotipos, que son mecanismos propios para extender o alterar el significado, ...
<ul><li>En algunos casos, el estereotipo provocará que el elemento se dibuje de forma diferente, como a continuación:  </l...
<ul><li>Un Sistema en  Tiempo Real  (STR) es aquel sistema que interactúa activamente con un entorno con dinámica conocida...
<ul><li>Un STR tiene tres condiciones básicas: </li></ul><ul><li>a)  interactúa con el mundo real (proceso físico), </li><...
<ul><li>Antecedentes </li></ul><ul><li>La puntualidad (timeliness) es el común denominador en los sistemas de tiempo real ...
<ul><li>La investigación mencionada en el párrafo anterior define tres construcciones para el modelado de estructura:  Las...
<ul><li>UML ofrece dos tipos de diagramas complementarios para la captura de la estructura lógica de los sistemas:  Diagra...
<ul><li>Normalmente, la especificación completa de la estructura de un complejo sistema en tiempo real se obtiene a través...
<ul><li>Cápsulas  corresponden al concepto de actores de ROOM. Se trata de casos complejos, y físicos, posiblemente distri...
<ul><li>Los Conectores , corresponden a enlaces ROOM. Un conector representa un canal de comunicación que proporciona la  ...
<ul><li>En términos de UML, un puerto es modelado por el  estereotipo  « port» , que es un estereotipo de la Clase puerto ...
<ul><li>La Figura 1 muestra un ejemplo de un solo puerto denominado b pertenecientes a la clase cápsula  ClassA. Este puer...
<ul><li>En  los DIAGRAMAS DE CLASE , los puertos de una cápsula se enumeran en una lista especial en la etiqueta inferior ...
<ul><li>Un diagrama de colaboración se  destaca la organización de los objetos que participan en una interacción. </li></u...
<ul><li>Aquí observamos como los puertos son identificados por los nombres, de los protocolos usados como conveniencia  gr...
<ul><li>Observemos como en RT se relacionan tanto cápsulas como puertos y enlaces…. </li></ul><ul><li>Para el caso de los ...
<ul><li>Normalmente, una cápsula tiene uno o más puertos a través de la cual se comunica con otras cápsulas.  No puede ten...
<ul><li>Estas son, las máquinas de estados y la estructura interna. </li></ul><ul><li>LA ESTRUCTURA INTERNA  </li></ul><ul...
<ul><li>MAQUINAS DE ESTADO  </li></ul><ul><li>Se utilizaron por primera vez con ROOM,  estas presentan las siguientes cara...
<ul><li>NOTACION </li></ul><ul><li>Puesto que es un estereotipo, el nombre del estereotipo puede aparecer por encima de l ...
<ul><li>Máquinas de Estado </li></ul><ul><li>El pliego de condiciones de la máquina de estados parte de una cápsula, así c...
<ul><li>El comportamiento en el plano de la arquitectura se captura utilizando el concepto de protocolos. </li></ul><ul><l...
<ul><li>Un protocolo se basa en UML por el «protocolRole» estereotipo de  ClassifierRole. Este estereotipo tiene dos depen...
<ul><li>Como puede esperarse, en la mayoría de sistemas en tiempo real el tiempo es una preocupación de primer orden.  </l...
<ul><li>Es muy útil para definir la semántica estática  y la dinámica (en tiempo de ejecución), la semántica de las constr...
<ul><li>Es un diagrama que muestra la estructura interna de un clasificador, incluyendo sus puntos de interacción a otras ...
<ul><li>Una  interfaz  es similar a una clase pero con un número de restricciones. Todas las operaciones de la interfaz so...
<ul><li>Se usan para mostrar el cambio en el estado o valor de uno o más elementos tomando en cuenta el factor tiempo. Ade...
 
<ul><li>Fig muestra  un  Deyploment Diagram de un controlador telescópico de posición  </li></ul>
<ul><li>Diagrama de secuencia TIPICO </li></ul>
<ul><li>DIAGRAMA DE SECUENCIA AVANZADO </li></ul>
 
<ul><li>Podemos apoyarnos en UML para el modelado de sistemas en tiempo real y al hacerlo, las  recomendaciones son las si...
<ul><li>Al Ingeniero Mario Solarte </li></ul><ul><li>Al Doctor Álvaro Rendón </li></ul>
Próxima SlideShare
Cargando en…5
×

UML para sistemas de tiempo real - Marcela Folleco

1.822 visualizaciones

Publicado el

1 comentario
2 recomendaciones
Estadísticas
Notas
  • como hago para descargar este archivo lo necesito con urgencia. ayudem alguien por favor. Atte Alan Alejos
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
Sin descargas
Visualizaciones
Visualizaciones totales
1.822
En SlideShare
0
De insertados
0
Número de insertados
7
Acciones
Compartido
0
Descargas
0
Comentarios
1
Recomendaciones
2
Insertados 0
No insertados

No hay notas en la diapositiva.

UML para sistemas de tiempo real - Marcela Folleco

  1. 2. <ul><li>El UML soporta un gran número de estereotipos, que son mecanismos propios para extender o alterar el significado, la presentación y la sintaxis de un elemento de modelado. Los diferentes elementos de modelado poseen distintos estereotipos asociados a ellos. </li></ul><ul><li>  </li></ul><ul><li>El estereotipo generalmente se muestra como el siguiente ejemplo (donde «enumeración» es el estereotipo). </li></ul>
  2. 3. <ul><li>En algunos casos, el estereotipo provocará que el elemento se dibuje de forma diferente, como a continuación: </li></ul>
  3. 4. <ul><li>Un Sistema en Tiempo Real (STR) es aquel sistema que interactúa activamente con un entorno con dinámica conocida en relación con sus entradas, salidas y restricciones temporales, para darle un correcto funcionamiento de acuerdo con los conceptos de estabilidad, controlabilidad y alcanzabilidad. </li></ul><ul><li>La palabra tiempo significa que el correcto funcionamiento de un sistema depende no sólo del resultado lógico que devuelve la computadora, también depende del tiempo en que se produce ese resultado. </li></ul><ul><li>La palabra real quiere decir que la reacción de un sistema a eventos externos debe ocurrir durante su evolución. Como una consecuencia, el tiempo del sistema (tiempo interno) debe ser medido usando la misma escala con que se mide el tiempo del ambiente controlado (tiempo externo). </li></ul>
  4. 5. <ul><li>Un STR tiene tres condiciones básicas: </li></ul><ul><li>a) interactúa con el mundo real (proceso físico), </li></ul><ul><li>b) emite respuestas correctas y </li></ul><ul><li>c) cumple restricciones temporales. </li></ul>
  5. 6. <ul><li>Antecedentes </li></ul><ul><li>La puntualidad (timeliness) es el común denominador en los sistemas de tiempo real </li></ul><ul><li>ROOM es acrónimo de Real-Time Object Oriented Modeling y es una notación de propósito específico para el modelado de los sistemas en tiempo real. </li></ul><ul><li>En 1998, Bran Selic y Jim Rumbaugh llevaron a cabo una investigación para determinar la viabilidad de modelar Sistemas de Tiempo Real usando una notación de propósito general: UML. En esta investigación se enfocaron en los Sistemas en Tiempo Real que se caracterizan por ser complejos, dirigidos por eventos y potencialmente distribuidos. Los resultados de la investigación, en pocas palabras, arrojo que las construcciones definidas por ROOM podrían modelarse en UML usando simplemente sus mecanismos de extensión estándar. </li></ul><ul><li>Este tipo de sistemas son los empleados comúnmente en aplicaciones de telecomunicaciones, aplicaciones aeroespaciales y aplicaciones de control automático </li></ul>
  6. 7. <ul><li>La investigación mencionada en el párrafo anterior define tres construcciones para el modelado de estructura: Las cápsulas, los puertos y los conectores. Las capsulas y los puertos no son otra cosa que clases con el estereotipo de “capsule” y “port ” respectivamente . Estas construcciones empleaban principalmente para su modelado diagramas de clases y diagramas de colaboración . Así mismo, la extensión para el modelado de sistemas en tiempo real definieron tres construcciones para el modelado del comportamiento : El protocolo, las máquinas de estados y los servicios de tiempo. </li></ul><ul><li>Con la especificación de UML 2.X se incorporaron dos nuevos diagramas que son la nueva alternativa para el modelado de los sistemas de tiempo real, me refiero a los Diagramas de Estructura Compuesta y lo Diagramas de Tiempo. </li></ul>
  7. 8. <ul><li>UML ofrece dos tipos de diagramas complementarios para la captura de la estructura lógica de los sistemas: Diagramas de clase y Diagramas de colaboración . </li></ul><ul><li>Diagramas de clase captura de las relaciones entre las clases las relaciones que existen entre los casos de las mismas en todos los contextos. </li></ul><ul><li>Diagramas de colaboración captura de las relaciones que existen sólo dentro de un contexto particular( relacion entre los objetos) </li></ul>
  8. 9. <ul><li>Normalmente, la especificación completa de la estructura de un complejo sistema en tiempo real se obtiene a través de una combinación de diagramas de clase y diagramas de colaboración. Específicamente, definimos tres construcciones para modelar la estructura: </li></ul><ul><ul><li>Cápsulas </li></ul></ul><ul><ul><li>Puertos </li></ul></ul><ul><ul><li>Conectores </li></ul></ul>
  9. 10. <ul><li>Cápsulas corresponden al concepto de actores de ROOM. Se trata de casos complejos, y físicos, posiblemente distribuidas en objetos que interactúan con su entorno a través de una o más señales base limitados por objetos llamados puertos </li></ul><ul><li>Un puerto es una parte física de la aplicación de una cápsula, que media la interacción de la cápsula con el mundo exterior-es un objeto que implementa una interfaz específica. </li></ul><ul><ul><li>Estos puertos están asociados con un protocolo que define la validez de flujo de la información (señales) conectados entre puertos de las cápsulas. </li></ul></ul><ul><ul><li>Aunque los puertos son los limites de objetos y actúan como interfaces, no son interfaces UML(no estructura de ejecución) </li></ul></ul>
  10. 11. <ul><li>Los Conectores , corresponden a enlaces ROOM. Un conector representa un canal de comunicación que proporciona la instalaciones de transmisión de una señal de apoyo basado en el protocolo. </li></ul><ul><ul><li>“ Una característica clave de los conectores es que pueden interconectar los puertos que sólo desempeñan funciones complementarias en el protocolo asociado con el conector”. </li></ul></ul>
  11. 12. <ul><li>En términos de UML, un puerto es modelado por el estereotipo « port» , que es un estereotipo de la Clase puerto en UML. El tipo de puerto se define por el protocolo utilizado por el puerto. Como se señaló anteriormente. </li></ul><ul><li>Las funciones de protocolo son clases abstractas , las clases correspondiente o instancias deben implementar el rol del protocolo. </li></ul><ul><li>En UML la relación entre el puerto y el protocolo se denota con una línea discontinua con una punta de flecha triangular en su final. </li></ul><ul><li>Una cápsula es una composición en relación con sus puertos. </li></ul>
  12. 13. <ul><li>La Figura 1 muestra un ejemplo de un solo puerto denominado b pertenecientes a la clase cápsula ClassA. Este puerto se da cuenta de la función maestra del protocolo definido por la clase protocolo ProtocolA. Tenga en cuenta que la clase puerto PortClassX,. </li></ul><ul><li>la información que es de interés es el protocolo que se aplica a este puerto </li></ul>
  13. 14. <ul><li>En los DIAGRAMAS DE CLASE , los puertos de una cápsula se enumeran en una lista especial en la etiqueta inferior como se ilustra en la Figura . La lista del compartimiento de los puertos aparece después de la lista de atributos y operador de los compartimentos . Esta notación se aprovecha en UML para permitir la adición de determinados nombres de compartimentos. </li></ul>
  14. 15. <ul><li>Un diagrama de colaboración se destaca la organización de los objetos que participan en una interacción. </li></ul><ul><li>Como se muestra en la figura , un diagrama de colaboración se construye colocando en primer lugar los objetos que participan en la colaboración como nodos .A continuación se representan los enlaces que conectan esos objetos. Por último, estos enlaces se adornan con los mensajes que envían y reciben los objetos. Esto da al lector una señal visual del flujo de control en el contexto de la organización estructural de los objetos que colaboran. Estos poseen dos características: </li></ul><ul><ul><li>En primer lugar, el camino. </li></ul></ul><ul><ul><li>En segundo lugar, está el número de secuencia. </li></ul></ul>
  15. 16. <ul><li>Aquí observamos como los puertos son identificados por los nombres, de los protocolos usados como conveniencia grafica es posible organizar el puerto de funciones públicas en todo el perímetro de un sub-cuadro de la cápsula en cualquier orden. Esto puede ser utilizados para minimizar cruces entre las líneas de conectores. </li></ul><ul><li>En ese caso, el protocolo y el nombre son suficientes para identificar el rol del protocolo, el nombre de la función del protocolo es redundante y debe ser omitido. </li></ul>
  16. 17. <ul><li>Observemos como en RT se relacionan tanto cápsulas como puertos y enlaces…. </li></ul><ul><li>Para el caso de los protocolos binarios, un icono estereotipo se puede utilizar: el puerto implicado se indica con un cuadrado relleno de color blanco. </li></ul>
  17. 18. <ul><li>Normalmente, una cápsula tiene uno o más puertos a través de la cual se comunica con otras cápsulas. No puede tener operaciones públicas o partes de los puertos, que son de su exclusiva interacción con el mundo exterior. Como se ha señalado, una cápsula puede contener uno o más sub-cápsulas unidas por conectores. Esta estructura interna se especifica como ( en UML) colaboración. Una cápsula puede tener una máquina de estados que pueden enviar y recibir señales a través de los puertos al final de la cápsula y que tiene control sobre ciertos elementos de la estructura interna </li></ul>
  18. 19. <ul><li>Estas son, las máquinas de estados y la estructura interna. </li></ul><ul><li>LA ESTRUCTURA INTERNA </li></ul><ul><li>La descomposición interna de una cápsula, es decir, su aplicación, es representado por una colaboración. Esta colaboración incluye una especificación de todas sus puertos, sub-cápsulas, y conectores. Al igual que los puertos, la sub-cápsulas y los conectores son propiedad de la cápsula y no puede existir independientemente de ella. Ellos se crean cuando la cápsula se crea y destruye cuando su cápsula es destruidos. Algunos sub-cápsulas en la estructura no podrá ser creado al mismo tiempo que su cápsula que contiene. En lugar de ello, pueden crearse con posterioridad, cuando y si necesario, por la máquina de estado de la cápsula. </li></ul>
  19. 20. <ul><li>MAQUINAS DE ESTADO </li></ul><ul><li>Se utilizaron por primera vez con ROOM, estas presentan las siguientes características: </li></ul><ul><ul><li>No se pueden descomponer aún más en sub-cápsulas. Especifican el comportamiento directamente, sin embargo, puede ser descompuesta en jerarquías de máquinas de estado más sencillas utilizando UML . </li></ul></ul><ul><ul><li>No puede haber más de una máquina de estados para cada cápsula (aunque sub-cápsulas pueden tener sus propias máquinas de estado). Cápsulas que no han tenido maquinas de estado son simples contenedores para sub-cápsulas. </li></ul></ul><ul><ul><li>Se ocupa de las señales que llegan en cualquier puerto del final de una cápsula y puede enviar señales a través de esos puertos. </li></ul></ul><ul><ul><li>Es la única entidad que puede acceder al interior de las partes protegidas en su cápsula. Esto significa que actúa como el controlador de todas las demás sub-cápsulas. Como tal, puede crear y destruir los sub-cápsulas que se identifican como dinámicas, y se puede conectar y quitar sub-cápsulas externas según corresponda. </li></ul></ul>
  20. 21. <ul><li>NOTACION </li></ul><ul><li>Puesto que es un estereotipo, el nombre del estereotipo puede aparecer por encima de l nombre de la CLASE. Tenga en cuenta que esta es la única parte que tiene conocimiento explícito de otras partes u otros sub-cápsulas. Por lo tanto, no es reutilizables fuera del contexto definido por la cápsula </li></ul>
  21. 22. <ul><li>Máquinas de Estado </li></ul><ul><li>El pliego de condiciones de la máquina de estados parte de una cápsula, así como la especificación deL protocolo que valida las secuencias con estándar UML . </li></ul><ul><li>En la figura 13 Este efecto se puede lograr en UML con la introducción del concepto de la cadena de estados . Esto es modelado por un estereotipo («chainState») del concepto de Estado de UML. Este es un estado cuyo único propósito es hacer una concatenación más automática (triggerless) entre transiciones de uno a otra entrada. En efecto, una cadena estatal representa un &quot;pasar por&quot; Estado que sirve para la cadena una transición a una continuación de la transición. </li></ul>
  22. 23. <ul><li>El comportamiento en el plano de la arquitectura se captura utilizando el concepto de protocolos. </li></ul><ul><li>PROTOCOLO es un comportamiento en la parte de arquitecturas. Cada una de estas funciones de protocolo se especifica por un nombre único y un conjunto de señales que se reciben por rol del protocolo, así como el conjunto de señales que se envían . </li></ul>
  23. 24. <ul><li>Un protocolo se basa en UML por el «protocolRole» estereotipo de ClassifierRole. Este estereotipo tiene dos dependencias de la señal: una para las señales de entrada y uno para señales de salida. (Esta es una propiedad de clases de UML en general). Al igual que cualquier clasificador, puede también tener un estado asociado que capta la máquina local comportamiento de la función de protocolo. </li></ul><ul><li>NOTACION </li></ul>
  24. 25. <ul><li>Como puede esperarse, en la mayoría de sistemas en tiempo real el tiempo es una preocupación de primer orden. </li></ul><ul><li>Se puede acceder a través de un puerto estándar (servicio de punto de acceso), convirtiendo el tiempo en evento que puede ser manejado de la misma manera que otra señal basada en los acontecimientos. </li></ul><ul><li>Servicio de puntos de acceso para acceder a los servicio son simplemente indicado por los puertos protegidos cuyo tipo se define como &quot;TimeServiceSAP&quot; (una sistema definido por el rol del protocolo ). </li></ul>
  25. 26. <ul><li>Es muy útil para definir la semántica estática y la dinámica (en tiempo de ejecución), la semántica de las construcciones en tiempo real. Además, si todos los detalles necesario se incluye en un modelo, este modelo puede ser usado para automáticamente generar implementaciones completas. Este enfoque ha demostrado con bastante éxito ROOM ObjecTime y el conjunto de herramientas para desarrolladores, ya que puede reducir significativamente el tiempo de desarrollo y fiabilidad en comparación con el producto más tradicional de desarrollo modelos. </li></ul>Resumen de las extensiones de UML Estereotipos Los siguientes son los estereotipos definidos en el marco de esta ampliación
  26. 27. <ul><li>Es un diagrama que muestra la estructura interna de un clasificador, incluyendo sus puntos de interacción a otras partes del sistema. Esto muestra la configuración y relación de las partes que juntas realizan el comportamiento de clasificador contenido. </li></ul><ul><li>Parte Una parte es un elemento que representa un conjunto de una o más instancias que pertenecen a una instancia del clasificador contenida. </li></ul><ul><li>Puerto </li></ul><ul><li>Un Puerto es un elemento escrito que representa una parte visible externa de una instancia del clasificador contenido. Los puertos definen la interacción entre un clasificador y su entorno. </li></ul>
  27. 28. <ul><li>Una interfaz es similar a una clase pero con un número de restricciones. Todas las operaciones de la interfaz son públicas y abstractas, y no proveen ninguna implementación predeterminada. Todos los atributos de la interfaz deben ser constantes </li></ul>
  28. 29. <ul><li>Se usan para mostrar el cambio en el estado o valor de uno o más elementos tomando en cuenta el factor tiempo. Además nos permite apreciar la interacción entre los eventos de tiempos, las restricciones de tiempo y la duración que los gobierna. En cuanto a los componentes encontramos: Linea de vida del Estado : muestra el cambio de estado de ítem en el tiempo. El eje X muestra el tiempo transcurrido en cualquier unidad, mientras que el eje Y se nombra con una lista de estados proporcionados. </li></ul><ul><li>Linea de vida del Valor : muestra el cambio del valor de un ítem en el tiempo. El eje X muestra el tiempo transcurrido en cualquier unidad. El valor se muestra entre el par de líneas horizontales que se cruzan en cada cambio del valor. </li></ul>
  29. 31. <ul><li>Fig muestra un Deyploment Diagram de un controlador telescópico de posición </li></ul>
  30. 32. <ul><li>Diagrama de secuencia TIPICO </li></ul>
  31. 33. <ul><li>DIAGRAMA DE SECUENCIA AVANZADO </li></ul>
  32. 35. <ul><li>Podemos apoyarnos en UML para el modelado de sistemas en tiempo real y al hacerlo, las recomendaciones son las siguientes: </li></ul><ul><ul><li>Capturar y entender los requerimientos usando un modelo de casos de uso. </li></ul></ul><ul><ul><li>Estudiar las distintas partes que conforman al sistema y cómo interactúan estas. Reflejando las interfaces, protocolos e intercambio de señales. Para tal fin nos podemos apoyar de los diagramas de clases, estructura compuesta y comunicación. </li></ul></ul><ul><ul><li>Estudiar el comportamiento del sistema en el tiempo y el dependiente del estado usando diagramas de interacción, diagramas de transición de estados y diagramas de tiempo. </li></ul></ul>
  33. 36. <ul><li>Al Ingeniero Mario Solarte </li></ul><ul><li>Al Doctor Álvaro Rendón </li></ul>

×