Real-Time UML

Last updated

Real-Time UML (RTUML) refers to the application of the Unified Modelling Language (UML) for the analysis, design, and implementation of real-time and embedded systems, where timing constraints, concurrency, and resource management are critical. [1] [2] [3] It extends standard UML with profiles, notations, and semantics to handle hard and soft real-time requirements, such as modelling predictable response times and fault tolerance. [4] [5] RTUML is not a separate language but a methodology leveraging UML diagrams (e.g., statecharts, sequence diagrams) for time-sensitive applications like automotive controls, avionics, and medical devices. [1] [2] [6]

Contents

The term is closely associated with Bruce Powel Douglass, who popularised it through his books and the Harmony process for embedded software development. [1] [2] [7] As of 2025, RTUML remains relevant in industries requiring certified systems, though its adoption varies with agile methodologies and model-driven engineering tools. [8] [9] [10]

Background

Real-Time UML emerged in the late 1990s as UML was standardized by the Object Management Group (OMG) in 1997, addressing the need for object-oriented modeling in real-time systems previously dominated by procedural languages like C. [1] [11] [12] Traditional real-time development relied on "bare metal" programming or theoretical models, but RTUML introduced visual notations for object structure, behaviour, and timing. [1] [2]

Bruce Powel Douglass’s 1999 book, Real-Time UML: Developing Efficient Objects for Embedded Systems, formalised the approach, emphasising statecharts for concurrency and timing constraints. [1] [13] Later editions (2004, 2006) incorporated UML 2.0 features like activity and timing diagrams, aligning with OMG’s Real-Time Profile (now part of MARTE—Modelling and Analysis of Real-Time and Embedded Systems). [2] [3] [14] The Harmony process integrates RTUML with executable models for simulation and code generation. [15] [4]

RTUML addresses hard real-time systems (e.g., strict deadlines in avionics) versus soft real-time (e.g., media streaming), using UML extensions for schedulability analysis. [16] [4] [17]

Key concepts

RTUML adapts UML diagrams and techniques for real-time needs:

These support iterative development, from requirements to deployment, often with tools like IBM Rhapsody or Enterprise Architect. [21] [22] [23]

Applications

RTUML is used in:

Tools like IBM Rhapsody support RTUML for model-based development and code generation in C/C++. [22] [21]

Criticism and adoption

RTUML’s complexity can overwhelm simple systems, and its use in agile environments is limited, where lightweight diagrams are preferred. [26] [27] Surveys indicate UML (including RTUML) is used in 30–50% of embedded projects, often for documentation rather than full model-driven engineering. [28] [29] [30] [31] It remains standard in academia and certified industries like aerospace. [4] [32] [33]

See also

References

  1. 1 2 3 4 5 6 7 Douglass, Bruce Powel (1999). Real-Time UML: Developing Efficient Objects for Embedded Systems. Addison-Wesley. ISBN   978-0201325799.
  2. 1 2 3 4 5 6 7 8 9 10 Douglass, Bruce Powel (2006). Real-Time UML: Advances in the UML for Real-Time Systems. Addison-Wesley. ISBN   978-0321160768.
  3. 1 2 3 "UML Profile for MARTE: Modeling and Analysis of Real-Time and Embedded Systems". Object Management Group. Retrieved September 13, 2025.
  4. 1 2 3 4 5 6 7 Gomaa, Hassan (2016). Real-Time Software Design for Embedded Systems. Cambridge University Press. pp. 45–60. ISBN   978-1107041097.
  5. Selic, B. (2001-09-20). "The real-time UML standard: Definition and application". Proceedings 3rd International Symposium on Distributed Objects and Applications. p. 355. doi:10.1109/DOA.2001.954101. ISBN   0-7695-1300-X.
  6. 1 2 3 4 5 6 "Applying UML to Real-Time Systems". IEEE Transactions on Software Engineering. 36 (2): 146–158. 2010. doi:10.1109/TSE.2010.12.
  7. Bruce Powel Douglass (1998). Real-time UML. Internet Archive. Addison-Wesley. ISBN   978-0-201-32579-9.
  8. Crudu, Valeriu (2024-08-11). "What are the current trends in UML development?". moldstud.com. Retrieved 2025-09-13.
  9. Gérard, Sébastien; Espinoza, Huascar; Terrier, François; Selic, Bran (2010), Giese, Holger; Karsai, Gabor; Lee, Edward; Rumpe, Bernhard (eds.), "6 Modeling Languages for Real-Time and Embedded Systems", Model-Based Engineering of Embedded Real-Time Systems: International Dagstuhl Workshop, Dagstuhl Castle, Germany, November 4-9, 2007. Revised Selected Papers, Berlin, Heidelberg: Springer, pp. 129–154, doi:10.1007/978-3-642-16277-0_6, ISBN   978-3-642-16277-0 , retrieved 2025-09-13
  10. vpadmin (2023-09-12). "Integrating UML Modeling into Agile Software Development: A Guide for Scrum and Kanban Teams". Visual Paradigm Guides. Retrieved 2025-09-13.
  11. "UML Specification Version 1.1". Object Management Group. 1997. Retrieved September 13, 2025.
  12. Selic, B. (2002-03-04). "The Real-Time UML Standard: Definition and Application". Proceedings of the Conference on Design, Automation and Test in Europe. DATE '02. USA: IEEE Computer Society: 770. ISBN   978-0-7695-1471-0.
  13. Douglass, Bruce Powell (1997-11-01). Real-Time UML: Developing Efficient Objects for Embedded Systems. USA: Addison-Wesley Longman Publishing Co., Inc. ISBN   978-0-201-32579-9.
  14. "The Harmony Process for Embedded Systems Development". IBM. Retrieved September 13, 2025.
  15. 1 2 Staff, Embedded (2007-11-18). "Doing real time UML systems design using the Harmony process: Part 1". Embedded. Retrieved 2025-09-13.
  16. Selic, Bran (2002). "The Real-Time UML Standard: A Profile for Modeling Real-Time Systems". IEEE Software. 19 (6): 56–62. doi:10.1109/MS.2002.1049402 (inactive 13 September 2025).{{cite journal}}: CS1 maint: DOI inactive as of September 2025 (link)
  17. "Real-Time UML for Schedulability Analysis". Proceedings of the IEEE Real-Time Systems Symposium. 2005. pp. 123–130. doi:10.1109/RTSS.2005.15.
  18. Staff, Embedded (2007-11-18). "Doing real time UML systems design using the Harmony process: Part 1". Embedded. Retrieved 2025-09-13.
  19. 1 2 Real-Time Design Patterns. Springer. 2018. pp. 45–67. ISBN   978-3319919089.
  20. Di Alesio, Stefano; Sen, Sagar (2018-05-01). "Using UML/MARTE to support performance tuning and stress testing in real-time systems". Software & Systems Modeling. 17 (2): 479–508. doi:10.1007/s10270-017-0585-x. ISSN   1619-1374.
  21. 1 2 "IBM Rhapsody Systems Engineering (Rhapsody SE)". www.ibm.com. 2024-07-08. Retrieved 2025-09-13.
  22. 1 2 3 "IBM Rhapsody - PROYA". 2022-05-17. Retrieved 2025-09-13.
  23. "Modeling and Analysis of Real Time Embedded Systems (MARTE) | Enterprise Architect User Guide". sparxsystems.com. Retrieved 2025-09-13.
  24. Barker, Simon (2024-04-22). "A Fresh Take on DO-178C Software Reviews". Aerospace Innovations. Retrieved 2025-09-13.
  25. Grant, Emanuel S.; Datta, Tanaya (2016). "Modeling RTCA DO-178C Specification to Facilitate Avionic Software System Design, Verification, and Validation". International Journal of Future Computer and Communication. 5 (2): 120–124. doi:10.18178/ijfcc.2016.5.2.457. ISSN   2010-3751.
  26. vpadmin (2023-09-12). "Integrating UML Modeling into Agile Software Development: A Guide for Scrum and Kanban Teams". Visual Paradigm Guides. Retrieved 2025-09-13.
  27. Hung, Phan Duy; Duong, Phan Minh; Giang, Truong Minh; Diep, Vu Thu (2019-08-28). "Model-Driven Design for Fast Deployment of Embedded Systems". 2019 2nd International Conference of Intelligent Robotic and Control Engineering (IRCE). pp. 138–142. doi:10.1109/IRCE.2019.00035. ISBN   978-1-7281-4192-3.
  28. Gu, Vicky Ching; Cao, Qing; Duan, Wenjing (2012-12-01). "Unified Modeling Language (UML) IT adoption — A holistic model of organizational capabilities perspective". Decision Support Systems. 54 (1): 257–269. doi:10.1016/j.dss.2012.05.034. ISSN   0167-9236.
  29. Hung, Phan Duy; Duong, Phan Minh; Giang, Truong Minh; Diep, Vu Thu (2019-08-28). "Model-Driven Design for Fast Deployment of Embedded Systems". 2019 2nd International Conference of Intelligent Robotic and Control Engineering (IRCE). pp. 138–142. doi:10.1109/IRCE.2019.00035. ISBN   978-1-7281-4192-3.
  30. Ozkaya, Mert; Erata, Ferhat (2020-05-01). "A survey on the practical use of UML for different software architecture viewpoints". Information and Software Technology. 121 106275. doi:10.1016/j.infsof.2020.106275. ISSN   0950-5849.
  31. Reggio, Gianna; Leotta, Maurizio; Ricca, Filippo (2014). "Who Knows/Uses What of the UML: A Personal Opinion Survey". In Dingel, Juergen; Schulte, Wolfram; Ramos, Isidro; Abrahão, Silvia; Insfran, Emilio (eds.). Model-Driven Engineering Languages and Systems. 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.
  32. Gomaa, Hassan (2016). Real-Time Software Design for Embedded Systems. Cambridge: Cambridge University Press. doi:10.1017/cbo9781139644532. ISBN   978-1-107-04109-7.
  33. Grant, Emanuel S.; Datta, Tanaya (2016). "Modeling RTCA DO-178C Specification to Facilitate Avionic Software System Design, Verification, and Validation". International Journal of Future Computer and Communication. 5 (2): 120–124. doi:10.18178/ijfcc.2016.5.2.457. ISSN   2010-3751.