UML en tiempo real ( RTUML ) se refiere a la aplicación del Lenguaje Unificado de Modelado (UML) para el análisis , diseño e implementación de sistemas embebidos y en tiempo real , donde las restricciones de tiempo, la concurrencia y la gestión de recursos son críticas. [ 1 ] [ 2 ] [ 3 ] Extiende el UML estándar con perfiles, notaciones y semántica para manejar requisitos de tiempo real estrictos y flexibles, como el modelado de tiempos de respuesta predecibles y tolerancia a fallas . [ 4 ] [ 5 ] RTUML no es un lenguaje separado, sino una metodología que aprovecha los diagramas UML (por ejemplo, diagramas de estados , diagramas de secuencia ) para aplicaciones sensibles al tiempo como controles automotrices , aviónica y dispositivos médicos . [ 1 ] [ 2 ] [ 6 ]
El término está estrechamente asociado con Bruce Powel Douglass, quien lo popularizó a través de sus libros y el proceso Harmony para el desarrollo de software embebido. [ 1 ] [ 2 ] [ 7 ] A partir de 2025, RTUML sigue siendo relevante en industrias que requieren sistemas certificados , aunque su adopción varía según las metodologías ágiles y las herramientas de ingeniería dirigida por modelos. [ 8 ] [ 9 ] [ 10 ]
Fondo
UML en tiempo real surgió a finales de la década de 1990 cuando el Object Management Group (OMG) estandarizó UML en 1997, abordando la necesidad de modelado orientado a objetos en sistemas en tiempo real previamente dominados por lenguajes procedimentales como C. [ 1 ] [ 11 ] [ 12 ] El desarrollo tradicional en tiempo real se basaba en la programación " bare metal " o modelos teóricos, pero RTUML introdujo notaciones visuales para la estructura, el comportamiento y la temporización de los objetos. [ 1 ] [ 2 ]
El libro de Bruce Powel Douglass de 1999, Real-Time UML: Developing Efficient Objects for Embedded Systems , formalizó el enfoque, haciendo hincapié en los diagramas de estados para la concurrencia y las restricciones de tiempo. [ 1 ] [ 13 ] Las ediciones posteriores (2004, 2006) incorporaron características de UML 2.0 como diagramas de actividad y de tiempo , alineándose con el perfil de tiempo real de OMG (ahora parte de MARTE: Modelado y análisis de sistemas en tiempo real y embebidos ). [ 2 ] [ 3 ] [ 14 ] El proceso Harmony integra RTUML con modelos ejecutables para simulación y generación de código . [ 15 ] [ 4 ]
RTUML aborda los sistemas de tiempo real estricto (por ejemplo, plazos estrictos en aviónica ) frente a los de tiempo real flexible (por ejemplo, transmisión de medios ), utilizando extensiones de UML para el análisis de la planificabilidad . [ 16 ] [ 4 ] [ 17 ]
Conceptos clave
RTUML adapta los diagramas y las técnicas de UML a las necesidades en tiempo real:
- Diagramas de estados y modelado de comportamiento : Las máquinas de estados extendidas modelan el comportamiento reactivo, utilizando estados AND para la concurrencia , pseudoestados para las transiciones y restricciones de tiempo (por ejemplo, {duración < 10 ms}). [ 2 ] [ 6 ] [ 4 ] Algunos ejemplos incluyen modelos de marcapasos cardíacos . [ 2 ]
- Diagramas de secuencia e interacción : Capturan la sincronización de mensajes, las prioridades y la asignación de recursos en sistemas multihilo. [ 2 ] [ 6 ]
- Patrones arquitectónicos : Definir arquitecturas lógicas y físicas con objetos activos para la concurrencia y patrones como observador o publicador-suscriptor. [ 2 ] [ 15 ] [ 18 ]
- Plazos y restricciones : utilice el lenguaje de restricciones de objetos (OCL) para especificar plazos y prioridades. [ 6 ] [ 4 ]
- Perfiles y extensiones : El perfil UML de OMG para la capacidad de planificación , el rendimiento y el tiempo (SPT) y MARTE añaden estereotipos como RT::ActiveObject. [ 3 ] [ 18 ] [ 19 ]
Estos admiten el desarrollo iterativo , desde los requisitos hasta la implementación , a menudo con herramientas como IBM Rhapsody o Enterprise Architect . [ 20 ] [ 21 ] [ 22 ]
Aplicaciones
RTUML se utiliza en:
- Sistemas embebidos : Modelado de ECU automotrices o controles de UAV . [ 1 ] [ 15 ] [ 4 ]
- Aviónica y Defensa : Diseños compatibles con DO-178C para tolerancia a fallos . [ 6 ] [ 23 ] [ 24 ]
- Dispositivos médicos : Marcapasos o ventiladores con sincronización precisa. [ 2 ] [ 6 ]
- Automatización industrial : visualización de tareas de RTOS mediante diagramas de secuencia . [ 21 ]
Herramientas como IBM Rhapsody admiten RTUML para el desarrollo basado en modelos y la generación de código en C/C++ . [ 21 ] [ 20 ]
Crítica y adopción
La complejidad de RTUML puede abrumar a los sistemas simples, y su uso en entornos ágiles es limitado, donde se prefieren diagramas ligeros. [ 10 ] [ 25 ] Las encuestas indican que UML (incluido RTUML) se utiliza en el 30-50% de los proyectos embebidos, a menudo para documentación en lugar de ingeniería dirigida por modelos completa . [ 26 ] [ 27 ] [ 28 ] [ 29 ] Sigue siendo estándar en el ámbito académico y en industrias certificadas como la aeroespacial . [ 4 ] [ 30 ] [ 24 ]
Véase también
Referencias
- 1 2 3 4 5 6 7 Douglass, Bruce Powel (1999). UML en tiempo real: Desarrollo de objetos eficientes para sistemas embebidos . Addison-Wesley. ISBN 978-0201325799.
- 1 2 3 4 5 6 7 8 9 10 Douglass, Bruce Powel (2006). UML en tiempo real: Avances en UML para sistemas en tiempo real . Addison-Wesley. ISBN 978-0321160768.
- 1 2 3 "Perfil UML para MARTE: Modelado y análisis de sistemas embebidos y en tiempo real" . Object Management Group . Recuperado el 13 de septiembre de 2025 .
- 1 2 3 4 5 6 7 Gomaa, Hassan (2016). Diseño de software en tiempo real para sistemas embebidos . Cambridge University Press. págs. 45–60 . ISBN 978-1107041097.
- ↑ Selic, B. (2001-09-20). "El estándar UML en tiempo real: Definición y aplicación". Actas del 3er Simposio Internacional sobre Objetos y Aplicaciones Distribuidas . pág. 355. doi : 10.1109/DOA.2001.954101 . ISBN 0-7695-1300-X.
- 1 2 3 4 5 6 "Aplicación de UML a sistemas en tiempo real". IEEE Transactions on Software Engineering . 36 (2): 146– 158. 2010. doi : 10.1109/TSE.2010.12 .
- ↑ Bruce Powel Douglass (1998). UML en tiempo real . Archivo de Internet. Addison-Wesley. ISBN 978-0-201-32579-9.
- ↑ Crudu, Valeriu (11 de agosto de 2024). "¿Cuáles son las tendencias actuales en el desarrollo de UML?" . moldstud.com . Consultado el 13 de septiembre de 2025 .
- ↑ Gérard, Sébastien; Espinoza, Huascar; Terrier, François; Selic, Bran (2010), "6 lenguajes de modelado para sistemas en tiempo real y embebidos" , en Giese, Holger; Karsai, Gabor; Lee, Edward; Rumpe, Bernhard (eds.), Ingeniería basada en modelos de sistemas embebidos en tiempo real: Taller internacional de Dagstuhl, Castillo de Dagstuhl, Alemania, 4-9 de noviembre de 2007. Artículos seleccionados revisados , Berlín, Heidelberg: Springer, pp. 129–154 , doi : 10.1007/978-3-642-16277-0_6 , ISBN 978-3-642-16277-0, consultado el 13 de septiembre de 2025
- 1 2 vpadmin (12 de septiembre de 2023). "Integración del modelado UML en el desarrollo ágil de software: una guía para equipos Scrum y Kanban" . Visual Paradigm Guides . Recuperado el 13 de septiembre de 2025 .
- ↑ "Especificación UML Versión 1.1" . Object Management Group . 1997. Consultado el 13 de septiembre de 2025 .
- ↑ Selic, B. (4 de marzo de 2002). "El estándar UML en tiempo real: definición y aplicación" . Actas de la Conferencia sobre Diseño, Automatización y Pruebas en Europa . DATE '02. EE. UU.: IEEE Computer Society: 770. ISBN 978-0-7695-1471-0.
- ↑ Douglass, Bruce Powell (1997-11-01). Real-Time UML: Developing Efficient Objects for Embedded Systems . EE. UU.: Addison-Wesley Longman Publishing Co., Inc. ISBN 978-0-201-32579-9.
- ↑ "El proceso Harmony para el desarrollo de sistemas embebidos" . IBM . Consultado el 13 de septiembre de 2025 .
- 1 2 3 Staff, Embedded (18-11-2007). "Diseño de sistemas UML en tiempo real utilizando el proceso Harmony: Parte 1" . Embedded . Recuperado el 13-09-2025 .
- ↑ Selic, Bran (2002). "El estándar UML en tiempo real: un perfil para modelar sistemas en tiempo real". IEEE Software . 19 (6): 56– 62. doi : 10.1109/MS.2002.1049402 (inactivo el 13 de septiembre de 2025).
{{cite journal}}: CS1 maint: DOI inactivo desde septiembre de 2025 ( enlace ) - ↑ "UML en tiempo real para el análisis de la planificabilidad". Actas del Simposio de Sistemas en Tiempo Real del IEEE . 2005. págs. 123–130 . doi : 10.1109/RTSS.2005.15 .
- 1 2 Patrones de diseño en tiempo real . Springer. 2018. págs. 45–67 . ISBN 978-3319919089.
- ↑ Di Alesio, Stefano; Sen, Sagar (2018-05-01). "Uso de UML/MARTE para apoyar la optimización del rendimiento y las pruebas de estrés en sistemas en tiempo real" . Software & Systems Modeling . 17 (2): 479– 508. doi : 10.1007/s10270-017-0585-x . ISSN 1619-1374 .
- 1 2 "IBM Rhapsody Systems Engineering (Rhapsody SE)" . www.ibm.com . 8 de julio de 2024. Consultado el 13 de septiembre de 2025 .
- 1 2 3 "IBM Rhapsody - PROYA" . 17 de mayo de 2022. Consultado el 13 de septiembre de 2025 .
- ↑ "Modelado y análisis de sistemas embebidos en tiempo real (MARTE) | Guía del usuario de Enterprise Architect" . sparxsystems.com . Consultado el 13 de septiembre de 2025 .
- ↑ Barker, Simon (22 de abril de 2024). "Una nueva perspectiva sobre las revisiones de software DO-178C" . Aerospace Innovations . Recuperado el 13 de septiembre de 2025 .
- 1 2 Grant, Emanuel S.; Datta, Tanaya (2016). "Modelado de la especificación RTCA DO-178C para facilitar el diseño, verificación y validación de sistemas de software de aviónica" . Revista Internacional de Computación y Comunicación del Futuro . 5 (2): 120– 124. doi : 10.18178/ijfcc.2016.5.2.457 . ISSN 2010-3751 .
- ↑ Hung, Phan Duy; Duong, Phan Minh; Giang, Truong Minh; Diep, Vu Thu (28 de agosto de 2019). «Diseño basado en modelos para el despliegue rápido de sistemas embebidos». 2.ª Conferencia Internacional de Ingeniería de Robótica y Control Inteligente (IRCE) de 2019. págs. 138–142 . doi : 10.1109/IRCE.2019.00035 . ISBN 978-1-7281-4192-3.
- ↑ Gu, Vicky Ching; Cao, Qing; Duan, Wenjing (1 de diciembre de 2012). "Adopción de TI del Lenguaje Unificado de Modelado (UML): una perspectiva de modelo holístico de capacidades organizacionales" . Decision Support Systems . 54 (1): 257–269 . doi : 10.1016/j.dss.2012.05.034 . ISSN 0167-9236 .
- ↑ Hung, Phan Duy; Duong, Phan Minh; Giang, Truong Minh; Diep, Vu Thu (28 de agosto de 2019). «Diseño basado en modelos para el despliegue rápido de sistemas embebidos». 2.ª Conferencia Internacional de Ingeniería de Robótica y Control Inteligente (IRCE) de 2019. págs. 138–142 . doi : 10.1109/IRCE.2019.00035 . ISBN 978-1-7281-4192-3.
- ↑ Ozkaya, Mert; Erata, Ferhat (1 de mayo de 2020). "Un estudio sobre el uso práctico de UML para diferentes puntos de vista de la arquitectura de software" . Information and Software Technology . 121 106275. doi : 10.1016/j.infsof.2020.106275 . ISSN 0950-5849 .
- ↑ Reggio, Gianna; Leotta, Maurizio; Ricca, Filippo (2014). "Quién sabe/usa qué de UML: una encuesta de opinión personal" . En Dingel, Juergen; Schulte, Wolfram; Ramos, Isidro; Abrahão, Silvia; Insfran, Emilio (eds.). Lenguajes y sistemas de ingeniería orientados a modelos . Lecture Notes in Computer Science. Vol. 8767. Cham: Springer International Publishing. pp. 149–165 . doi : 10.1007/978-3-319-11653-2_10 . ISBN 978-3-319-11653-2.
- ↑ Gomaa, Hassan (2016). Diseño de software en tiempo real para sistemas embebidos . Cambridge: Cambridge University Press. doi : 10.1017/cbo9781139644532 . ISBN 978-1-107-04109-7.
- Lenguaje Unificado de Modelado
- Computación en tiempo real
- Ingeniería de software