وبلاگ بلیان

Real time UML : advances in the UML for real-time systems

معرفی کتاب «Real time UML : advances in the UML for real-time systems» نوشتهٔ Douglass, Bruce Powel، منتشرشده توسط نشر Addison-Wesley Professional در سال 2004. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.

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. 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

Praise for Real Time UML, Third Edition

“I found Real Time UML, Third Edition to provide an informative and practical application of UML 2.0 to the development of real-time systems, and well worth the read by systems and software engineers. It is written in plain English and provides the right balance of depth and breadth.”

         —Sanford Friedenthal
             Deputy, Corporate Systems Engineering,
             Lockheed Martin Corporation
             Chair: OMG Systems Engineering
             Domain Special Interest Group

“Douglass has again made highly technical material accessible to everyone. This book is an excellent introduction to the new UML 2.0, and if you want to learn what modeling for real-time environments is like, this is the book to read. His witty, conversational style should be a model for all authors of technical material.”

         —Gary K. Evans
             Founder and Object Evangelist,
             Evanetics, Inc. (www.evanetics.com)

“Douglass has been a co-chair of the OMG’s group interested in quality of service issues and, therefore, has valuable insights into the usefulness of these emerging technologies. His clear presentation of this information helps those applying these advanced technologies to extract the most benefit for their organizations and products, not only for the intended real-time embedded product, but also for products whose quality of performance, while not critical, is nevertheless of interest.”

         —Thérèse M. Smith
             President and CEO,
             Air Traffic Software Architecture, Inc.
             (USA and Canada)

“The author presents an excellent overview of UML in the real-time space with plenty of colorful examples. This book is an excellent teaching tool for a newcomer or a reference for an expert!”

         —Soma Chatterjee
             Senior Product Manager,
             I-Logix

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 the fore as an outstanding medium for effective design.

Like its best-selling predecessors, Real Time UML, Third Edition, provides an overview of the essentials of real-time systems and an introduction to UML that focuses on the use of the ever-evolving standard in design and development. This accessible book examines requirements analysis, the definition of object structure and behavior, architectural and mechanistic design, and more detailed designs that encompass data structure, operations, and exceptions. Numerous figures help illustrate UML design techniques, and detailed, real-world examples show the application of those techniques to embedded systems.

This significantly revised edition features the new UML 2.0 standard, which dramatically improves the clarity of the UML for capturing architectures and improving its scalability. Real Time UML, Third Edition, also introduces the UML Profile for Schedulability, Performance, and Time (STP Profile). The STP Profile provides a standardized way to capture schedulability and performance constraints of systems. This allows analysis tools to read and analyze UML models.

Key topic coverage includes:

  • The Rapid Object-Oriented Process for Embedded Systems (ROPES)
  • Concurrency and resource modeling with the Real-Time (SPT) UML Profile
  • Tapping action semantics for greater executability
  • Scenario modeling with timing diagrams
  • Key strategies for object identification
  • Defining object state behavior
  • Representing and identifying threads
  • Mechanistic design patterns
  • Representing Command, Control, Communications, Computers, Intelligence, and Reconnaissance (C4ISR) Architectures with the UML
With the development and wide adoption of a standard notation - the Unified Modeling Language (UML) - real-time systems developers can now avail themselves of the benefits and advantages of object technology. UML is a third-generation modeling language that rigorously defines the semantics of the object metamodel and provides a notation for capturing and communicating object structure and behavior. It is particularly well suited to modeling real-time and embedded systems Real-Time UML is the concise, "distilled" introduction that developers of real-time systems need to begin the transition to object-oriented analysis and design and modelling with UML. It covers the important features of the UML and shows how to effectively use the UML to model real-time systems. The book includes special in-depth discussions of finite state machines, object identification strategies, and real-time design patterns to help beginning and experienced developers alike.
دانلود کتاب Real time UML : advances in the UML for real-time systems