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.


 

Ver más artículos

Póliza Abiztar Plus

Descubre aquí todos los beneficios de La Póliza Abiztar Plus.

Garantía Universal

Los ambientes ubicuos de aprendizaje Abiztar, incluyen Garantía Universal. ¿Qué es esto?

Información general
Conoce la Póliza Abiztar Plus
Recomendaciones de capacitación
Calendario de cursos

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

Contáctanos

Teléfono en México D.F. - +52 (55) 5594 6411 / E-mail: cursos@abiztar.com.mx

O si lo prefieres llena el formulario de contacto

Ver aviso de privacidad

© Abiztar. PMI, PMBOK Guide, OPM3, CAPM, PMP, PMI-SP y PMI-RMP son marcas registradas (en EUA y otos países) del Project Management Institute, Inc. 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. 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."