+ All Categories
Home > Documents > La utilización de UML para Modelizar Arquitecturas Complejas de sistemas de tiempo Real Traducción...

La utilización de UML para Modelizar Arquitecturas Complejas de sistemas de tiempo Real Traducción...

Date post: 22-Jan-2016
Category:
Upload: espiridion-valentino
View: 217 times
Download: 0 times
Share this document with a friend
Popular Tags:
42
La utilización de UML para La utilización de UML para Modelizar Arquitecturas Modelizar Arquitecturas Complejas de sistemas de tiempo Complejas de sistemas de tiempo Real Real Traducción y agregados: Lic. DOMINGO F. DONADELLO Traducción y agregados: Lic. DOMINGO F. DONADELLO UTN – FRBA – DISEÑO DE SISTEMAS UTN – FRBA – DISEÑO DE SISTEMAS UNLM – CONSTRUCCION DE SISTEMAS II UNLM – CONSTRUCCION DE SISTEMAS II Fuente: Bran Selic - VP Advanced Technology – Object time Limited Fuente: Bran Selic - VP Advanced Technology – Object time Limited
Transcript

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.


Recommended