Date post: | 22-Jan-2016 |
Category: |
Documents |
Upload: | espiridion-valentino |
View: | 217 times |
Download: | 0 times |
La utilización de UML para Modelizar La utilización de UML para Modelizar Arquitecturas Complejas de sistemas de Arquitecturas Complejas de sistemas de tiempo Real tiempo Real
Traducción y agregados: Lic. DOMINGO F. DONADELLO Traducción y agregados: Lic. DOMINGO F. DONADELLO
UTN – FRBA – DISEÑO DE SISTEMASUTN – FRBA – DISEÑO DE SISTEMAS
UNLM – CONSTRUCCION DE SISTEMAS IIUNLM – CONSTRUCCION DE SISTEMAS II
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
Overview
• El Lenguaje (UML)
• Sistemas Complejos de Tiempo Real
• Requirimientos para modelizar arquitecturas de
Sistemas Complejos de T.R.
• Aproximacion y metodo
• Construcciones para modelar la Arquitectura
• Resumen
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
El UML lenguaje unificado de modelización
• Un lenguaje OO de propósito general de modelización combina un número de probados metodos
OMT(Rumbaugh)
Booch
OOSE(Jacobson)
UML0.9
1996
Catalysis ROOM etc.
UML1.1
Nov. 1997
UML1.4
Mar. 1999
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
Cual es el Standard UML?
• Metamodelo Semi-formal semántico que define los conceptos básicos de modelización objeto, clase, etc.
» Incluye reglas bien formadas expresadas como Restricciónes formales en el Object Restricción Language (OCL)
• notación gráfica para modelización de conceptos
» 8 tipos de diagramas diferentes
• Dos dominios de extensión predefinidos
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
El UML metamodelo–ejemplo
ElementoGeneralizable
isRoot:BooleanisLeaf:BooleanisAbstract:Boolean
Clasificación
Construcción
visibility:{public, protected, private}
clase
isActive:Boolean
*
not self.isAbstract implies self.allOperations->forAll(op | self.allMethods->exists(m | m.specification includes (op)))
(Meta)clase
Generalización asociación
Composicion asociación
OCL Restricción
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
• El UML lenguaje unificado de modelización UML)
• Sistemas complejos de Tiempo Real
• Requerimientos para modelización de arquitecturas
complejas de sistemas de TR
• Requerimientos para modelización Aproximación y
método
• Construcciones de modelización de Arquitectura
• Resumen
Overview
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
Sistemas Generales de Tiempo Real
• Un sistema que mantiene una continua interacción con su entorno
• basada en el tiempo
entorno
inputs outputsSistema de Tiempo Real
(estado)
outputs = f (inputs, estado)
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
Sistemas complejos de Tiempo Real
• Sistemas complejos de Tiempo Real caracterizado por:
» extrema dependencia (confiabilidad, disponibilidad)
» diversa y rica funcionalidad
» continuo upgrade (requerimientos evolutivos)
» Distribución física
• Muy utilizados en telecomunicaciones, defensa,
aeroespacio, y control industrial
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
modelización de requerimientos para sistemas complejos de TR
• Esta complejidad requiere focalizar la modelización para soportar las siguientes areas:
» Modelización de la arquitectura » modelización de tiempo y performance» Modelos de comunicación tiempo-aware » Administrador de Concurrencia» modelización de Recursos» modelización de sistemas Distribuidos » Técnicas de tolerancia a las fallas
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
• El UML lenguaje unificado de modelización (UML)
• Sistemas complejos de Tiempo Real
• Requerimientos para modelización de
arquitecturas complejas de sistemas de TR
• Requerimientos para modelización Aproximación y
método
• Construcciones de modelización de Arquitectura
• Resumen
Overview
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
Arquitecturas de Software de Tiempo Real
• arquitectura:
La organización de componentes de software significtivos interactuando a través de interfaces, estos componentes se componen de sucesivos pequeños componentes e interfaces
• Es la clave del éxito en:
» Construcción inicial del sistema
» Evolución del sistema
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
arquitecturas y Evolución
• Dos arquitecturas iniciales equivalentes:
A
CB
Mediator
XA
CB
XA
CB
Mediador
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
Especificaciones de arquitectura de Tiempo Real
• Ejemplo: arquitectura de un sistema de telecomunicaciones
comportamientonivel
Servicios
nivelAplicación
TerminalA TerminalB
Canal1
Canal2
Estructura
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
Diseño de arquitectura de Componentes
sistema2
sistema1Librería
TerminalA TerminalB
Canal1
Canal2
TerminalATerminal
Tester
Terminal
Canal
TerminalTester
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
Refinando arquitecturas (Reuso)
Canal2
TerminalA TerminalB
canal1
TerminalA TerminalB
Canal1
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
Resumen: requerimientos para modelización de la arquitectura
• La habilidad de modelar y forzar:
» Gran granularidad (arquitectura) de
componentes y sus interfaces
» Composicion estructural de los
componentes de la arquitectura
» Patrones dinámicos de la interacción
entre los componentes de la arquitectura
» Refinamiento de arquitecturas
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
• El UML lenguaje unificado de modelización (UML)
• Sistemas complejos de Tiempo Real
• Requerimientos para modelización de arquitecturas
complejas de sistemas de TR
• Requerimientos para modelización
Aproximación y método
• Construcciones de modelización de Arquitectura
• Resumen
Overview
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
Requerimientos para modelización Aproximación y método
• La arquitectura necesaria para capacidades de modelización puede ser encontrada en ROOM
• Expresar los conceptos de modelización de la arquitectura usando el estandar UML ROOM
• Biblioteca de Dominio específico UML “macros”
UML Conceptos de modelización
modelización Tiempo-Real
Biblioteca(UML-RT)
Modelización del Negocio Biblioteca
...
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
UML Mecanismos de extensibilidad
• Estereotipos, Restricciónes, tagged valores
Cápsula
<“ports” >
not self.isAbstract implies self.allOperations->forAll(op | self.allMethods->exists(m | m.specification includes (op)))
clase
isActive:Boolean
estereotipo
Tag requerido
Restricción (OCL)
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
Modelización de Tiempo Real Object-Oriented (ROOM)
• Conceptos de Dominio específico (tiempo real) conceptos
» Estructuras de alto nivel dinámicas
» Comportamiento reactivo (ROOM charts)
• Modelos ejecutables (formal)
• Generación automática de código (full)
• Aprobado en el campo de aplicaciones con un gran número de proyectos en gran escala en el campo industrial (>100)
• Herramienta disponible (Objectiempo Limited and Rational Software)
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
Fases
• Capacidades básicas de modelización (UML 1.1)» Patrones estructurales de modelización » (diagramas de colaboración)» Modelización de máquinas de estado» Construcciones específicas de Tiempo Real » Modelización de arquitectura (Marzo ‘98)» Otras construcciones (-Junio ‘99)» Colaboracion: Objectiempo & Rational
• Estandarización OMG (1999/2000)» Análisis y diseño WG RT
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
• El UML lenguaje unificado de modelización (UML)
• Sistemas complejos de Tiempo Real
• Requerimientos para modelización de arquitecturas
complejas de sistemas de TR
• Requerimientos para modelización Aproximación y
método
• Construcciones de modelización de Arquitectura
• Resumen
Overview
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
Cápsulas: arquitectura de Objetos
• Objetos ActivosEncapsulaciónshell
Ports
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
Cápsulas: Comportamiento
• Máquinas de estado jerárquicas opcionales (manejador de señales con semántica run-to-completion)
S1
S2 S3
S1
S2
S1
transitionS1toS2: {int x; x = 0; p2.send(s1); p3.send(s2); … };
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
Cápsulas: UML modelización
• Concepto de Etereotipo de clase («Cápsula») con semántica especializada (ejecutable)
• representacion: diagrama de clase
«Cápsula»CápsulaClaseX
#counter : int#x : char
+portB : ProtocoloA::master#portC : ProtocoloB
ports
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
Protocolos: Patrones contractuales de comportamiento
• Contratos de Interacción entre Cápsulas» e.j., llamada asistida por operador
Llamada
respuesta
tiempo
número
Llamada
respuesta
habla
transferencia
LLamador Operador Llamado
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
Llamada asistida por operador
Alicia
Charlie
RobertoLLamador Llamado
Operadorinicial
conectado
conectando
Protocolo maquina de estado
LLamador Operador Llamado
Secuencias significativas
Especificaciones de Protocolo
• Una forma especial de colaboración
Juan
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
Protocolo de roles
• Especifica una parte en un Protocolo
señal origen
Llamada LLamador
número LLamador
respuesta Llamado
señales entrantes
señal destino
Llamada Llamado
transferenciaLLamador
respuesta LLamador
señales salientes
OperadorRol
LLamador Operador Llamado
Secuencias significativas
inicial
conectado
conectando
rol máquina de estado
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
Protocolo Refinamiento
• Uso de Herencia
señal origen
Llamada LLamador
número LLamador
respuesta Llamado
señales entrantes
señal destino
Llamada Llamado
transferenciaLLamador
respuesta LLamador
señales salientes
Operadorrolseñal origen
Llamada LLamador
número LLamador
respuesta Llamado
señales entrantes
señal destino
Llamada Llamado
transferenciaLLamador
respuesta LLamador
señales salientes
extendidoOperadorrol
query LLamador
reply LLamador
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
Protocolos: UML modelización
• Estereotipo Colaboración : «Protocolo»• Estereotipo Rol Clasificador: «Protocolo Rol»
«Protocolo»Llamada asistida
por operador
«Protocolorol»LLamador
respuestatransferencia
entrante
Llamadanúmerohabla
saliente
«Protocolorol»Llamado
«Protocolorol»Operador
1
1 1
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
Ports: Objetos de contorno
• Implementación en cápsulas totalmente aisladas de su entorno (en ambas direcciones)
entorno
Cápsula
S1
S2
Creada y destruida sólo con su propia Cápsula
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
Ports y Protocolos
• Cada port realiza un rol de Protocolo simple (type)
» Múltiples ports con el mismo tipo en lo posible
«Cápsula»CápsulaClassX
+portA : ProtocoloA::master#portB : ProtocoloB+portC : ProtocoloB~
ports
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
Ports: Notación de diagrama de colaboración
• Notación abreviada para instancias de Cápsula • Forma iconificada
«Cápsula»anX:CápsulaClassX
portA : ProtocoloA::master
portC : ProtocoloB~
«port»portA:ProtocoloA::master
1
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
Combinando Cápsulas
• Usando conectores
conectores como modelo de canales de comunicaciónCada conector soporta un Protocolo simpleSe aplican reglas de tipo estáticas (Protocolos compatibles)Modelado como asociación de clases en UML
«Cápsula»enviador: Fax
remoto : FaxProt«Cápsula»
receptor : Faxremoto : FaxProt
conector
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
Faxllamada
«Cápsula»enviador:Fax
remoto:FaxProt
c : Control
«Cápsula»receptor:Fax
remoto:FaxProt
c : Control
receiveCtrl : ControlsendCtrl : Control
Relayport
composición: Patrones estructurales como Componentes dinámicos (reusables)
• La composición es también una clase objeto
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
Semántica de Cápsula de composición
• Mecanismo de afirmación de la arquitectura: los elementos estáticos de la estructura interna de una cápsula compuesta son automáticamente llamados, creados y destruidos sólo en la cápsula
• Aplica recursivamente hacia abajo al interior de las hojas del árbol
• Nivel Cápsula: Sólo pueden ser instanciadas estructuras de arquitectura previstas
» Esto también reduce significativamente la complejidad del modelo puesto que todo el código usado para establecer esas estructuras es eliminado
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
«Cápsula»enviador:Fax
c : Control
«Cápsula»receptor:Fax
c : Control
End Ports: Where Structure and Behavior Meet
Ports directamente conectado con la máquina de estado
receiveCtrl : Control~senderCtrl : Control~
c : sistemaControl
inicial
conectado
conectando
Cápsula máquina de estado
Public End PortimplementaciónEnd Port
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
Decomposición: vista de diagrama de clase
• Representación alternativa • Más abstracta
«Cápsula»Fax
«Cápsula»Faxllamada
1 receptor
1
sender
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
• El UML lenguaje unificado de modelización (UML)
• Sistemas complejos de Tiempo Real
• Requerimientos para modelización de arquitecturas
complejas de sistemas de TR
• Requerimientos para modelización Aproximación y
método
• Construcciones de modelización de Arquitectura
• Resumen
Overview
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
Resumen (1)
• El fenómeno de los Sistemas complejos de Tiempo Real requieren de soporte de modelización especializado
• El lenguaje ROOM ha sido probado en la industria para modelizar complas arquitecturas de Tiempo Real
• El beneficio de juntar ROOM con UML permite ganar en expresar las construcciones ROOM como estereotipos de UML.
» UML-RT : es una extensión a UML para el complejo dominio de Tiempo Real
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
Resumen (2)
• Sólo cuatro estereotipos son suficientes • (incluyendo definición formal de restricciones que aseguren consistencia y
ejecutabilidad)
estereotipo UML Metaclase
«Protocolo» Colaboración
«Protocolorol» Classifierrol
«port» clase
«Cápsula» clase
Complementado por una notación opcional de customización
Fuente: Bran Selic - VP Advanced Technology – Object time LimitedFuente: Bran Selic - VP Advanced Technology – Object time Limited
Bibliography
• Tiempo Real modelización de arquitectura
whitepaper by B. Selic and J. Rumbaugh:» http://www.objectime.com
• OMG’s UML 1.1 standard» http://www.rational.com
• ROOM» B. Selic, G. Gullekson, and P. Ward, “Real
Time Object-Oriented modelization”,» John Wiley & Sons, NY, 1994.