Real-Time UML

From HandWiki

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]

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.0 1.1 1.2 1.3 1.4 1.5 1.6 Douglass, Bruce Powel (1999). Real-Time UML: Developing Efficient Objects for Embedded Systems. Addison-Wesley. ISBN 978-0201325799. 
  2. 2.00 2.01 2.02 2.03 2.04 2.05 2.06 2.07 2.08 2.09 Douglass, Bruce Powel (2006). Real-Time UML: Advances in the UML for Real-Time Systems. Addison-Wesley. ISBN 978-0321160768. 
  3. 3.0 3.1 3.2 "UML Profile for MARTE: Modeling and Analysis of Real-Time and Embedded Systems". https://www.omg.org/spec/MARTE/. 
  4. 4.0 4.1 4.2 4.3 4.4 4.5 4.6 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. pp. 355. doi:10.1109/DOA.2001.954101. ISBN 0-7695-1300-X. 
  6. 6.0 6.1 6.2 6.3 6.4 6.5 "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. http://archive.org/details/realtimeumldevel00doug_0. 
  8. Crudu, Valeriu (2024-08-11). "What are the current trends in UML development?" (in en). https://moldstud.com/articles/p-what-are-the-current-trends-in-uml-development. 
  9. Gérard, Sébastien; Espinoza, Huascar; Terrier, François; Selic, Bran (2010), Giese, Holger; Karsai, Gabor; Lee, Edward et al., eds., "6 Modeling Languages for Real-Time and Embedded Systems" (in en), 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, https://doi.org/10.1007/978-3-642-16277-0_6, retrieved 2025-09-13 
  10. vpadmin (2023-09-12). "Integrating UML Modeling into Agile Software Development: A Guide for Scrum and Kanban Teams" (in en-US). https://guides.visual-paradigm.com/integrating-uml-modeling-into-agile-software-development-a-guide-for-scrum-and-kanban-teams/. 
  11. "UML Specification Version 1.1". 1997. https://www.omg.org/spec/UML/1.1. 
  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. https://dl.acm.org/doi/abs/10.5555/882452.874353. 
  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. https://dl.acm.org/doi/abs/10.5555/522584. 
  14. "The Harmony Process for Embedded Systems Development". https://www.ibm.com/docs/en/rhapsody/8.4?topic=overview-harmony-process. 
  15. 15.0 15.1 Staff, Embedded (2007-11-18). "Doing real time UML systems design using the Harmony process: Part 1" (in en-US). https://www.embedded.com/doing-real-time-uml-systems-design-using-the-harmony-process-part-1/. 
  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. 
  17. "Real-Time UML for Schedulability Analysis". 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" (in en-US). https://www.embedded.com/doing-real-time-uml-systems-design-using-the-harmony-process-part-1/. 
  19. 19.0 19.1 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" (in en). Software & Systems Modeling 17 (2): 479–508. doi:10.1007/s10270-017-0585-x. ISSN 1619-1374. https://doi.org/10.1007/s10270-017-0585-x. 
  21. 21.0 21.1 "IBM Rhapsody Systems Engineering (Rhapsody SE)" (in en). 2024-07-08. https://www.ibm.com/products/rhapsody-systems-engineering. 
  22. 22.0 22.1 22.2 "IBM Rhapsody - PROYA" (in en-US). 2022-05-17. https://proyacorp.ca/ibm-rhapsody/. 
  23. "Modeling and Analysis of Real Time Embedded Systems (MARTE) | Enterprise Architect User Guide". https://sparxsystems.com/enterprise_architect_user_guide/17.1/modeling_languages/marte.html. 
  24. Barker, Simon (2024-04-22). "A Fresh Take on DO-178C Software Reviews" (in en-GB). https://aerospace-innovations.com/a-fresh-take-on-do-178c-software-reviews/. 
  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. https://www.ijfcc.org/show-64-780-1.html. 
  26. vpadmin (2023-09-12). "Integrating UML Modeling into Agile Software Development: A Guide for Scrum and Kanban Teams" (in en-US). https://guides.visual-paradigm.com/integrating-uml-modeling-into-agile-software-development-a-guide-for-scrum-and-kanban-teams/. 
  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. https://www.sciencedirect.com/science/article/pii/S0167923612001455. 
  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. doi:10.1016/j.infsof.2020.106275. ISSN 0950-5849. https://www.sciencedirect.com/science/article/pii/S0950584920300252. 
  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 et al. (in en). Model-Driven Engineering Languages and Systems. Lecture Notes in Computer Science. 8767. Cham: Springer International Publishing. pp. 149–165. doi:10.1007/978-3-319-11653-2_10. ISBN 978-3-319-11653-2. https://link.springer.com/chapter/10.1007/978-3-319-11653-2_10. 
  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. https://www.cambridge.org/core/books/realtime-software-design-for-embedded-systems/F80F80A999542243DE05459CC92CEDBB. 
  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. https://www.ijfcc.org/show-64-780-1.html.