Milestone Consulting
  Información general
Novedades
Capacítate con Milestone
Nuestros clientes
Recomendaciones de capacitación
Calendario de cursos
Mapa de ubicación
Promociones
Adquiere Enterprise Architect

Cursos UML
Bootcamp de UML
Modelado con SysML
Modelado de Negocios /BPMN
Patrones de Diseño
Casos de Uso
Desarrollo automatizado de software con MDA

Cursos Admin. de Proyectos.
Certificación PMI-RMP
Certificación PMI-SP
Certificación PMP
Certificación CAPM
Estimación de Proyectos
Seguimiento de Proyectos
Taller preparación PMP
Admin. de proyectos /CMMI
Calendarización con MS Project y PMBOK

Otros cursos
SCRUM
Java 6
Java - Web components
Fundamentos de Pruebas

Milestone Consulting
Experiencia
Nuestros clientes
Consultoría
Bolsa de trabajo

Base de conocimiento
UML y Arquitecturas
Administración de Proyectos
Procesos de Software
Artículos

UML en el modelado de sistemas de tiempo real

Antecedentes

La puntualidad (timeliness) es el común denominador en los sistemas de tiempo real. La puntualidad es la capacidad que tiene un sistema de responder de la manera esperada a los estímulos externos dentro de un intervalo de tiempo aceptable, esto es, si un sistema contra incendios detecta que hay una temperatura por encima del umbral debe activar tanto la alarma como los aspersores a fin de evitar que el conato de incendio se propague y debe hacerlo con oportunidad, quizá el retraso podría tener efectos devastadores, imaginamos esta situación en una destilería de tequila. Esta característica abarca un sin número de sistemas de tiempo real, desde los puramente dirigidos por el tiempo hasta los puramente dirigidos por los eventos, desde los sistemas de tiempo real “suave” hasta los sistemas de tiempo real “duro”. Por años, estos sistemas emplearon para su desarrollo sus propios lenguajes, patrones de diseño y estilos de modelado, pero también tenían en común el uso de una herramienta para su modelado ROOM.

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. Una las grandes virtudes de ROOM radica en la definición de una serie de construcciones arquitectónicas que recaban la experiencia colectiva de varios equipos de desarrollo en varios proyectos y que sistema las bases del diseño arquitectónico para este tipo de sistemas.

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. Este tipo de sistemas son los empleados comúnmente en aplicaciones de telecomunicaciones, aplicaciones aeroespaciales y aplicaciones de control automático. Los proyectos para desarrollar el software asociado a los mismos demandan un gran esfuerzo inicial e involucran a grandes equipos de desarrollo y, al igual que la mayoría de los proyectos, deben adaptarse ágilmente a los inevitables cambios. Con lo anterior quiero resaltar que la definición de una arquitectura bien diseñada es un factor determinante de éxito, como en todo. 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.

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 a los cuales se les asocian una serie de restricciones y características adicionales. 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.

La Evolución

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. En los Diagramas de Estructura Compuesta las capsulas se generalizaron en las partes mientras que los puertos y los conectores conservaron su nombre. La debilidad de UML en un enfoque fuerte en el tiempo derivo en la incorporación de los Diagramas de Tiempo.


Figura 1

La Figura 1 muestra un diagrama de estructura compuesta para un sistema contra incendios. UnidadCentralControl, Sirena, Aspersor y MonitorTemperatura son partes; los cuadros pequeños son los puertos y las líneas que los conectan son los conectores.


Figura 2


En la Figura 2 se muestra un Diagrama de Tiempo que relaciona los elementos que conforman al sistema contra incendio haciendo énfasis en sus cambios de estado en el tiempo.

Conclusiones

Podemos apoyarnos en UML para el modelado de sistemas en tiempo real y al hacerlo, nuestras recomendaciones son las siguientes:

Capturar y entender los requerimientos usando un modelo de casos de uso.

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.

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.

Por supuesto esta no es una relación exhaustiva, en caso de ser necesario adicione (o ¿porque no? remueva) los diagramas que sean necesarios, lo importante como siempre es tener una comprensión aceptable del problema y especificar una solución que lo resuelva. No es tan complejo… ni tan simple.

Por Charlie Macías y Sergio Orozco

 

 

<< Regresar a artículos




Contáctanos
México D.F: +52 (55) 3548 0740 Monterrey:+52 (81) 8300 5899
Guadalajara: +52 (33) 8421 8417 Email: cursos@milestone.com.mx
. Consulta el calendario de cursos

© Milestone Consulting. Capability Maturity Model® y CMM® son marcas registradas en la Oficina de Patentes de los EUA por el Software Engineering Institute (SEI) de la Universidad Carnegie Mellon®. CMM® IntegrationSM, IDEALSM y SCAMPISM son marcas de servicio de la Universidad Carnegie Mellon. PMI®, PMBOK® Guide, OPM3®, CAPM® y PMP® son marcas registradas (en EUA y otos países) del Project Management Institute, Inc. MDA®, BPMN®, SysML®, MOF®, OMG® y UML® son marcas registradas en los EUA y en otros países por el Object Management Group. Microsoft® es una marca registrada en los EUA y en otros países; Microsoft Office, Microsoft Excel y Microsoft Project son productos propiedad de Microsoft Corp. Enterprise Architect es un producto propiedad de Sparx Systems, Australia. RUP® es una marca registrada por IBM Corp."