Real-Time UML
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:
- Statecharts and Behaviour Modelling: Extended state machines model reactive behaviour, using and-states for concurrency, pseudostates for transitions, and timing constraints (e.g., {duration < 10ms}).[2][6][4] Examples include cardiac pacemaker models.[2]
- Sequence and Interaction Diagrams: Capture message timing, priorities, and resource allocation in multi-threaded systems.[2][6]
- Architectural Patterns: Define logical and physical architectures with active objects for concurrency and patterns like observer or publisher-subscriber.[2][15][18]
- Timing and Constraints: Use Object Constraint Language (OCL) for specifying deadlines and priorities.[6][4]
- Profiles and Extensions: OMG’s UML Profile for Schedulability, Performance, and Time (SPT) and MARTE add stereotypes like RT::ActiveObject.[3][18][19]
These support iterative development, from requirements to deployment, often with tools like IBM Rhapsody or Enterprise Architect.[20][21][22]
Applications
RTUML is used in:
- Embedded Systems: Modelling automotive ECUs or UAV controls.[1][15][4]
- Avionics and Defence: DO-178C-compliant designs for fault tolerance.[6][23][24]
- Medical Devices: Pacemakers or ventilators with precise timing.[2][6]
- Industrial Automation: RTOS task visualisation via sequence diagrams.[21]
Tools like IBM Rhapsody support RTUML for model-based development and code generation in C/C++.[21][20]
Criticism and adoption
RTUML’s complexity can overwhelm simple systems, and its use in agile environments is limited, where lightweight diagrams are preferred.[10][25] Surveys indicate UML (including RTUML) is used in 30–50% of embedded projects, often for documentation rather than full model-driven engineering.[26][27][28][29] It remains standard in academia and certified industries like aerospace.[4][30][24]
See also
References
- ^ a b c d e f g Douglass, Bruce Powel (1999). Real-Time UML: Developing Efficient Objects for Embedded Systems. Addison-Wesley. ISBN 978-0201325799.
- ^ a b c d e f g h i j Douglass, Bruce Powel (2006). Real-Time UML: Advances in the UML for Real-Time Systems. Addison-Wesley. ISBN 978-0321160768.
- ^ a b c "UML Profile for MARTE: Modeling and Analysis of Real-Time and Embedded Systems". Object Management Group. Retrieved September 13, 2025.
- ^ a b c d e f g Gomaa, Hassan (2016). Real-Time Software Design for Embedded Systems. Cambridge University Press. pp. 45–60. ISBN 978-1107041097.
- ^ 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.
- ^ a b c d e f "Applying UML to Real-Time Systems". IEEE Transactions on Software Engineering. 36 (2): 146–158. 2010. doi:10.1109/TSE.2010.12.
- ^ Bruce Powel Douglass (1998). Real-time UML. Internet Archive. Addison-Wesley. ISBN 978-0-201-32579-9.
- ^ Crudu, Valeriu (2024-08-11). "What are the current trends in UML development?". moldstud.com. Retrieved 2025-09-13.
- ^ Gérard, Sébastien; Espinoza, Huascar; Terrier, François; Selic, Bran (2010), "6 Modeling Languages for Real-Time and Embedded Systems", in Giese, Holger; Karsai, Gabor; Lee, Edward; Rumpe, Bernhard (eds.), 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
- ^ a b 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.
- ^ "UML Specification Version 1.1". Object Management Group. 1997. Retrieved September 13, 2025.
- ^ 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.
- ^ 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.
- ^ "The Harmony Process for Embedded Systems Development". IBM. Retrieved September 13, 2025.
- ^ a b c Staff, Embedded (2007-11-18). "Doing real time UML systems design using the Harmony process: Part 1". Embedded. Retrieved 2025-09-13.
- ^ 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) - ^ "Real-Time UML for Schedulability Analysis". Proceedings of the IEEE Real-Time Systems Symposium. 2005. pp. 123–130. doi:10.1109/RTSS.2005.15.
- ^ a b Real-Time Design Patterns. Springer. 2018. pp. 45–67. ISBN 978-3319919089.
- ^ 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.
- ^ a b "IBM Rhapsody Systems Engineering (Rhapsody SE)". www.ibm.com. 2024-07-08. Retrieved 2025-09-13.
- ^ a b c "IBM Rhapsody - PROYA". 2022-05-17. Retrieved 2025-09-13.
- ^ "Modeling and Analysis of Real Time Embedded Systems (MARTE) | Enterprise Architect User Guide". sparxsystems.com. Retrieved 2025-09-13.
- ^ Barker, Simon (2024-04-22). "A Fresh Take on DO-178C Software Reviews". Aerospace Innovations. Retrieved 2025-09-13.
- ^ a b 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.
- ^ 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.
- ^ 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.
- ^ 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.
- ^ 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.
- ^ 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.
- ^ Gomaa, Hassan (2016). Real-Time Software Design for Embedded Systems. Cambridge: Cambridge University Press. doi:10.1017/cbo9781139644532. ISBN 978-1-107-04109-7.
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.