The increasing complexity of embedded and real-time systems requires a more premeditated and sophisticated design approach for successful implementation. The object-based Unified Modeling Language (UML) can describe the structural and behavioral aspects critical to real-time systems and has come to
Real Time UML: Advances in the UML for Real-Time Systems
β Scribed by Douglass, Bruce Powel
- Publisher
- Addison-Wesley Professional
- Year
- 2004
- Tongue
- English
- Leaves
- 749
- Edition
- 2nd Edition
- Category
- Library
No coin nor oath required. For personal study only.
β¦ Synopsis
The two previous editions were written as easy-to-read introductions to the UML, and how to apply its notation and semantics to the unique requirements involved with the development of real-time and embedded systems. This third edition is no exception. Although the book's emphasis is on UML, it is also about capturing the requirements, structure, and behavior of real-time systems. The most significant change in this revision will be it's integration throughout the book of UML 2.0, and all indications are that UML 2.0 is even more accepting of the unique aspects of real-time and embedded systems development.
β¦ Table of Contents
Cover......Page 1
Contents......Page 10
Figure List......Page 20
About the Author......Page 28
Foreword to the Third Edition......Page 30
Foreword to the Previous Editions......Page 32
Preface to the Third Edition......Page 38
Preface to the Second Edition......Page 42
Preface to the First Edition......Page 46
Acknowledgments......Page 50
Chapter 1: Introduction to the World of Real-Time and Embedded Systems......Page 52
1.1 What Is Special about Real-Time Systems?......Page 53
1.2 Time, Performance, and Quality of Service......Page 58
1.2.1 Modeling Actions and Concurrency......Page 59
1.2.2 Modeling Resources......Page 66
1.2.3 Modeling Time......Page 67
1.2.4 Modeling Schedulability......Page 68
1.2.5 Modeling Performance......Page 79
1.3 Systems Engineering vs. Software Engineering......Page 80
1.4 What Do We Mean by Architecture?......Page 81
1.5 The Rapid Object-Oriented Process for Embedded Systems (ROPES) Process......Page 82
1.5.1 Model-Driven Development (MDD)......Page 84
1.5.2 The ROPES Spiral in More Detail......Page 87
1.6 MDA and Platform-Independent Models......Page 94
1.7.1 Why Schedule?......Page 97
1.7.3 BERT and ERNIE......Page 99
1.7.4 Scheduling......Page 102
1.8.1 Why Model Organization?......Page 106
1.8.2 Specific Model Organization Patterns......Page 111
1.9 Working with Model-Based Projects......Page 116
1.10 Looking Ahead......Page 124
1.11 Exercises......Page 125
1.12 References......Page 126
Chapter 2: Object Orientation with UML 2.0βStructural Aspects......Page 128
2.1 Object Orientation with UML......Page 129
2.2.1 Objects......Page 131
2.2.2 Classes......Page 134
2.2.3 Notation......Page 138
2.2.4 Interfaces......Page 140
2.2.5 Messaging......Page 143
2.3 Relations......Page 145
2.3.1 Associations......Page 146
2.3.2 Aggregation......Page 149
2.3.3 Composition......Page 151
2.3.4 Generalization......Page 154
2.3.5 Dependency......Page 157
2.3.6 Structural Diagrams......Page 159
2.3.7 Mapping Objects to Code......Page 161
2.4 Big Things: Packages, Components, and Subsystems......Page 164
2.4.1 Model Organization: Packages......Page 165
2.4.2 Structured Classes: Composites, Parts, Ports, and Connectors......Page 167
2.4.3 Components......Page 171
2.4.4 Subsystems......Page 174
2.4.5 Deployments: Nodes and Nonesuch......Page 176
2.4.6 So, Nodes or Classes?......Page 178
2.4.7 Architectural Hierarchy......Page 180
2.5 Advanced: UML Metamodel of Structural Elements (for the Advanced Modeler)......Page 182
2.6 Additional Notations and Semantics......Page 184
2.8 Exercises......Page 187
2.9 References......Page 188
Chapter 3: Object Orientation with UML 2.0β Dynamic Aspects......Page 190
3.1 Behavior and the UML......Page 191
3.2.1 Simple Behavior......Page 192
3.2.2 State Behavior......Page 193
3.2.3 Continuous Behavior......Page 194
3.3 Behavior Primitives: Actions and Activities......Page 195
3.4.1 Basic Statechart Elements......Page 199
3.4.2 And-States......Page 207
3.4.3 Pseudostates......Page 209
3.4.4 Inherited State Models......Page 218
3.4.5 Ill-Formed Statecharts......Page 220
3.4.6 Cardiac Pacemaker Example......Page 223
3.4.7 Protocol State Machines......Page 233
3.4.8 Activity Diagrams......Page 235
3.5 Interactions......Page 240
3.5.1 Sequence Diagrams......Page 241
3.5.2 Timing Diagrams......Page 255
3.7 Exercises......Page 263
3.8 References......Page 265
Chapter 4: UML Profile for Schedulability, Performance, and Time......Page 266
4.1 UMLProfiles......Page 267
4.1.1 Stereotypes......Page 268
4.1.2 Tagged Values......Page 270
4.1.3 Profiles......Page 271
4.2 "RT UML" Profile......Page 273
4.2.1 General Resource Model Subprofile......Page 278
4.2.2 Time Modeling Subprofile......Page 283
4.2.3 Concurrency Modeling Subprofile......Page 291
4.2.4 Schedulability Modeling Subprofile......Page 293
4.2.5 Performance Modeling Subprofile......Page 307
4.2.6 Real-Time CORBA Subprofile......Page 319
4.4 Exercises......Page 324
4.5 References......Page 326
Chapter 5: Requirements Analysis of Real-Time Systems......Page 328
5.1 Requirements......Page 329
5.2 Use Cases......Page 331
5.2.1 Actors......Page 333
5.2.2 Use Cases and Text......Page 348
5.2.3 Use Case Relations......Page 350
5.2.5 Identifying Use Cases......Page 352
5.3 Detailing the Use Cases......Page 356
5.3.1 Scenarios for Use Cases......Page 357
5.3.2 Statecharts......Page 368
5.3.3 Activity Diagrams......Page 373
5.3.4 Timing Diagrams......Page 376
5.4 Looking Ahead......Page 378
5.5 Exercises......Page 379
5.6 References......Page 380
Chapter 6: Analysis: Object Domain Analysis......Page 382
6.1 The Object Discovery Process......Page 383
6.2 Connecting the Object Model with the Use Case Model......Page 385
6.3.1 Underline the Noun Strategy......Page 390
6.3.2 Identify the Causal Objects......Page 394
6.3.3 Identify Services (PassiveContributors)......Page 396
6.3.5 Identify Real-World Items......Page 397
6.3.6 Identify Physical Devices......Page 399
6.3.8 Identify Transactions......Page 400
6.3.10 Identify Visual Elements......Page 402
6.3.11 Identify Control Elements......Page 406
6.3.12 Apply Scenarios......Page 407
6.4 Identify Object Associations......Page 409
6.5 Object Attributes......Page 413
6.6 Discovering Candidate Classes......Page 415
6.7 Class Diagrams......Page 416
6.7.1 Associative Classes......Page 418
6.7.2 Generalization Relationships......Page 421
6.9 Exercises......Page 447
6.10 References......Page 449
Chapter 7: Analysis: Defining Object Behavior......Page 450
7.1.1 Simple Behavior......Page 451
7.1.2 State Behavior......Page 453
7.1.3 Continuous Behavior......Page 454
7.2 Defining Object State Behavior......Page 455
7.2.1 Cardiac Pacemaker Example......Page 460
7.2.2 Calculator Example......Page 473
7.2.3 Event Hierarchies......Page 492
7.3 Interactions......Page 494
7.3.1 Sequence Diagrams......Page 495
7.4 Defining Operations......Page 514
7.4.1 Types of Operations......Page 516
7.4.2 Strategies for Defining Operations......Page 519
7.5 Looking Ahead......Page 522
7.7 References......Page 523
Chapter 8: Architectural Design......Page 524
8.1 Overview of Design......Page 525
8.2 What Is Architectural Design?......Page 528
8.2.1 Logical Architecture......Page 529
8.2.2 Physical Architecture......Page 533
8.2.3 Subsystem and Component View......Page 537
8.2.4 Concurrency and Resource View......Page 539
8.2.5 Distribution View......Page 543
8.2.6 Safety and Reliability View......Page 548
8.2.7 Deployment View......Page 550
8.2.8 Physical Architecture Issues......Page 552
8.2.9 Software Architecture Issues......Page 554
8.3 Software Meets Hardware: Deployment Architecture in UML......Page 560
8.4.1 Representing Threads......Page 563
8.4.2 System Task Diagram......Page 564
8.4.3 Concurrent State Diagrams......Page 566
8.4.4 Defining Threads......Page 567
8.4.5 Identifying Threads......Page 569
8.4.7 Defining Thread Rendezvous......Page 571
8.4.8 Sharing Resources......Page 573
8.5 Looking Ahead......Page 574
8.6 Exercises......Page 575
8.7 References......Page 576
Chapter 9: Mechanistic Design......Page 578
9.1 What Is Mechanistic Design?......Page 579
9.2 Mechanistic Design Patterns......Page 581
9.3.2 Problem......Page 584
9.3.3 Pattern Structure......Page 585
9.3.4 Collaboration Roles......Page 586
9.3.6 Implementation Strategies......Page 587
9.3.7 Sample Model......Page 588
9.4.2 Problem......Page 589
9.4.4 Collaboration Roles......Page 591
9.4.6 Implementation Strategies......Page 594
9.4.7 Sample Model......Page 595
9.5 Reliable Transaction Pattern......Page 598
9.5.3 Pattern Structure......Page 599
9.5.4 Collaboration Roles......Page 602
9.5.7 Sample Model......Page 604
9.6.1 Abstract......Page 606
9.6.2 Problem......Page 607
9.6.4 Collaboration Roles......Page 608
9.6.5 Consequences......Page 609
9.6.8 Sample Model......Page 611
9.7.2 Problem......Page 613
9.7.4 Collaboration Roles......Page 614
9.7.5 Consequences......Page 615
9.7.7 Sample Model......Page 616
9.8 Container Pattern......Page 618
9.8.2 Problem......Page 619
9.8.3 Pattern Structure......Page 620
9.8.7 Sample Model......Page 621
9.9 The Rendezvous Pattern......Page 630
9.9.3 Pattern Structure......Page 631
9.9.4 Collaboration Roles......Page 632
9.9.6 Implementation Strategies......Page 633
9.9.8 Sample Model......Page 634
9.11 Exercises......Page 636
9.12 References......Page 637
Chapter 10: Detailed Design......Page 640
10.1 What Is Detailed Design?......Page 641
10.2 Data Structure......Page 642
10.3 Associations......Page 648
10.4 Operations......Page 651
10.5 Visibility......Page 653
10.6 Algorithms......Page 655
10.7 Exceptions......Page 661
10.8 Summary......Page 665
10.9 Exercises......Page 666
10.10 References......Page 667
Chapter 11: Special Topic: C[sup(4)]ISR Architecture and the UML......Page 668
11.2 What is C[sup(4)]ISR?......Page 669
11.3 Required Products of C[sup(4)]ISR......Page 676
11.3.3 OV-1 High-Level Operational Concept Graphic......Page 677
11.3.4 OV-2 Operational Node Connectivity Description......Page 682
11.3.5 OV-3 Operational Information Exchange Matrix......Page 683
11.3.6 SV-1 System Interface Description......Page 684
11.4.2 OV-5 Operational Activity Model......Page 686
11.4.3 OV-6a Operational Rules Model, SV-10a Systems Rules Model......Page 689
11.4.5 OV-6c Operational Event-Trace Description, SV-10c Systems Event Trace Description......Page 691
11.4.7 SV-3 Systems-Systems Matrix......Page 692
11.4.8 SV-4 Systems Functionality Description......Page 695
11.4.9 SV-5 Operational Activity to Systems Function Traceability Matrix......Page 696
11.4.11 SV-7 Systems Performance Parameters Matrix......Page 697
11.4.13 SV-9 Systems Technology Forecast......Page 700
11.4.14 SV-11 Physical Schema......Page 701
11.7 References......Page 703
Appendix: Notational Summary......Page 704
A......Page 726
C......Page 728
D......Page 731
E......Page 732
G......Page 733
I......Page 734
M......Page 735
N......Page 736
P......Page 737
R......Page 739
S......Page 741
T......Page 743
W......Page 745
β¦ Subjects
Computer Science;Technical;Science;Engineering;Reference
π SIMILAR VOLUMES
UML for Real: Design of Embedded Real-Time Systems aims to show the reality of UML as a medium for specification and implementation of real-time systems, illustrating both the current capabilities and limits of UML for this task, and future directions that will improve its usefulness for real-time a
<p>The complexity of most real-time and embedded systems often exceeds that of other types of systems since, in addition to the usual spectrum of problems inherent in software, they need to deal with the complexities of the physical world. That worldβas the proverbial Mr. Murphy tells usβis an unpre
This practical new book provides much-needed, practical, hands-on experience capturing analysis and design in UML. It holds the hands of engineers making the difficult leap from developing in C to the higher-level and more robust Unified Modeling Language, thereby supporting professional development
<p>Written as a workbook with a set of guided exercises that teach by example, this book gives a practical, hands-on guide to using UML to design and implement embedded and real-time systems.</p><ul><li>A review of the basics of UML and the Harmony process for embedded software development: two on-g