Real time UML : advances in the UML for real-time systems / Bruce Powel Douglass.
By: Douglass, Bruce Powel.
Material type: BookSeries: Addison-Wesley object technology series.Publisher: Boston : Addison-Wesley, c2004Edition: 3rd ed.Description: xlix, 694 p. : ill. ; 24 cm.ISBN: 0321160762 .Subject(s): Embedded computer systems -- Programming | Real-time data processing | Object-oriented methods (Computer science)DDC classification: 005.117Item type | Current library | Call number | Copy number | Status | Date due | Barcode | Item holds |
---|---|---|---|---|---|---|---|
General Lending | MTU Bishopstown Library Lending | 005.117 (Browse shelf(Opens below)) | 1 | Available | 00077291 | ||
General Lending | MTU Bishopstown Library Lending | 005.117 (Browse shelf(Opens below)) | 1 | Available | 00071016 | ||
General Lending | MTU Bishopstown Library Lending | 005.117 (Browse shelf(Opens below)) | 1 | Available | 00071017 |
Enhanced descriptions from Syndetics:
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
Includes bibliographical references and index.
Introduction to the World of Real-Time and Embedded Systems -- Object Orientation with UML 2.0 - Structural Aspects -- Object Orientation with UML 2.0 - Dynamic Aspects -- UML Profile for Schedulability, Performance and Time -- Requirements Analysis of Real-Time Systems -- Analysis: Object Domain Analysis -- Analysis: Defining Object Behavior -- Architectural Design -- Mechanistic Design -- Detailed Design -- Special Topic: C4ISR Architecture and the UML.
Table of contents provided by Syndetics
- Figure List (p. xix)
- About the Author (p. xxvii)
- Foreword to the Third Edition (p. xxix)
- Foreword to the Previous Editions (p. xxxi)
- Preface to the Third Edition (p. xxxvii)
- Preface to the Second Edition (p. xli)
- Preface to the First Edition (p. xlv)
- Acknowledgments (p. xlix)
- Chapter 1 Introduction to the World of Real-Time and Embedded Systems (p. 1)
- 1.1 What Is Special about Real-Time Systems? (p. 2)
- 1.2 Time, Performance, and Quality of Service (p. 7)
- 1.2.1 Modeling Actions and Concurrency (p. 8)
- 1.2.2 Modeling Resources (p. 15)
- 1.2.3 Modeling Time (p. 16)
- 1.2.4 Modeling Schedulability (p. 17)
- 1.2.5 Modeling Performance (p. 28)
- 1.3 Systems Engineering vs. Software Engineering (p. 29)
- 1.4 What Do We Mean by Architecture? (p. 30)
- 1.5 The Rapid Object-Oriented Process for Embedded Systems (ROPES) Process (p. 31)
- 1.5.1 Model-Driven Development (MDD) (p. 33)
- 1.5.2 The ROPES Spiral in More Detail (p. 36)
- 1.6 MDA and Platform-Independent Models (p. 43)
- 1.7 Scheduling Model-Based Projects (p. 46)
- 1.7.1 Why Schedule? (p. 46)
- 1.7.2 Estimation (p. 48)
- 1.7.3 BERT and ERNIE (p. 48)
- 1.7.4 Scheduling (p. 51)
- 1.8 Model Organization Principles (p. 55)
- 1.8.1 Why Model Organization? (p. 55)
- 1.8.2 Specific Model Organization Patterns (p. 60)
- 1.9 Working with Model-Based Projects (p. 65)
- 1.10 Looking Ahead (p. 73)
- 1.11 Exercises (p. 74)
- 1.12 References (p. 75)
- Chapter 2 Object Orientation with UML 2.0--Structural Aspects (p. 77)
- 2.1 Object Orientation with UML (p. 78)
- 2.2 Small Things: Objects, Classes, and Interfaces (p. 80)
- 2.2.1 Objects (p. 80)
- 2.2.2 Classes (p. 83)
- 2.2.3 Notation (p. 87)
- 2.2.4 Interfaces (p. 89)
- 2.2.5 Messaging (p. 92)
- 2.3 Relations (p. 94)
- 2.3.1 Associations (p. 95)
- 2.3.2 Aggregation (p. 98)
- 2.3.3 Composition (p. 100)
- 2.3.4 Generalization (p. 103)
- 2.3.5 Dependency (p. 106)
- 2.3.6 Structural Diagrams (p. 108)
- 2.3.7 Mapping Objects to Code (p. 110)
- 2.4 Big Things: Packages, Components, and Subsystems (p. 113)
- 2.4.1 Model Organization: Packages (p. 114)
- 2.4.2 Structured Classes: Composites, Parts, Ports, and Connectors (p. 116)
- 2.4.3 Components (p. 120)
- 2.4.4 Subsystems (p. 123)
- 2.4.5 Deployments: Nodes and Nonesuch (p. 125)
- 2.4.6 So, Nodes or Classes? (p. 127)
- 2.4.7 Architectural Hierarchy (p. 129)
- 2.5 Advanced: UML Metamodel of Structural Elements (for the Advanced Modeler) (p. 131)
- 2.6 Additional Notations and Semantics (p. 133)
- 2.7 Looking Ahead (p. 136)
- 2.8 Exercises (p. 136)
- 2.9 References (p. 137)
- Chapter 3 Object Orientation with UML 2.0--Dynamic Aspects (p. 139)
- 3.1 Behavior and the UML (p. 140)
- 3.2 Types of Behavior (p. 141)
- 3.2.1 Simple Behavior (p. 141)
- 3.2.2 State Behavior (p. 142)
- 3.2.3 Continuous Behavior (p. 143)
- 3.3 Behavior Primitives: Actions and Activities (p. 144)
- 3.4 Behavior and the Single Object (p. 148)
- 3.4.1 Basic Statechart Elements (p. 148)
- 3.4.2 And-States (p. 156)
- 3.4.3 Pseudostates (p. 158)
- 3.4.4 Inherited State Models (p. 167)
- 3.4.5 Ill-Formed Statecharts (p. 169)
- 3.4.6 Cardiac Pacemaker Example (p. 172)
- 3.4.7 Protocol State Machines (p. 182)
- 3.4.8 Activity Diagrams (p. 184)
- 3.5 Interactions (p. 189)
- 3.5.1 Sequence Diagrams (p. 190)
- 3.5.2 Timing Diagrams (p. 204)
- 3.6 Summary (p. 212)
- 3.7 Exercises (p. 212)
- 3.8 References (p. 214)
- Chapter 4 UML Profile for Schedulability, Performance, and Time (p. 215)
- 4.1 UML Profiles (p. 216)
- 4.1.1 Stereotypes (p. 217)
- 4.1.2 Tagged Values (p. 219)
- 4.1.3 Profiles (p. 220)
- 4.2 "RT UML" Profile (p. 222)
- 4.2.1 General Resource Model Subprofile (p. 227)
- 4.2.2 Time Modeling Subprofile (p. 232)
- 4.2.3 Concurrency Modeling Subprofile (p. 240)
- 4.2.4 Schedulability Modeling Subprofile (p. 242)
- 4.2.5 Performance Modeling Subprofile (p. 256)
- 4.2.6 Real-Time CORBA Subprofile (p. 268)
- 4.3 Looking Ahead (p. 273)
- 4.4 Exercises (p. 273)
- 4.5 References (p. 275)
- Chapter 5 Requirements Analysis of Real-Time Systems (p. 277)
- 5.1 Requirements (p. 278)
- 5.2 Use Cases (p. 280)
- 5.2.1 Actors (p. 282)
- 5.2.2 Use Cases and Text (p. 297)
- 5.2.3 Use Case Relations (p. 299)
- 5.2.4 Using Use Cases (p. 301)
- 5.2.5 Identifying Use Cases (p. 301)
- 5.3 Detailing the Use Cases (p. 305)
- 5.3.1 Scenarios for Use Cases (p. 306)
- 5.3.2 Statecharts (p. 317)
- 5.3.3 Activity Diagrams (p. 322)
- 5.3.4 Timing Diagrams (p. 325)
- 5.4 Looking Ahead (p. 327)
- 5.5 Exercises (p. 328)
- 5.6 References (p. 329)
- Chapter 6 Analysis: Object Domain Analysis (p. 331)
- 6.1 The Object Discovery Process (p. 332)
- 6.2 Connecting the Object Model with the Use Case Model (p. 334)
- 6.3 Key Strategies for Object Identification (p. 339)
- 6.3.1 Underline the Noun Strategy (p. 339)
- 6.3.2 Identify the Causal Objects (p. 343)
- 6.3.3 Identify Services (Passive Contributors) (p. 345)
- 6.3.4 Identify Messages and Information Flows (p. 346)
- 6.3.5 Identify Real-World Items (p. 346)
- 6.3.6 Identify Physical Devices (p. 348)
- 6.3.7 Identify Key Concepts (p. 349)
- 6.3.8 Identify Transactions (p. 349)
- 6.3.9 Identify Persistent Information (p. 351)
- 6.3.10 Identify Visual Elements (p. 351)
- 6.3.11 Identify Control Elements (p. 355)
- 6.3.12 Apply Scenarios (p. 356)
- 6.4 Identify Object Associations (p. 358)
- 6.5 Object Attributes (p. 362)
- 6.6 Discovering Candidate Classes (p. 364)
- 6.7 Class Diagrams (p. 365)
- 6.7.1 Associative Classes (p. 367)
- 6.7.2 Generalization Relationships (p. 370)
- 6.8 Looking Ahead (p. 396)
- 6.9 Exercises (p. 396)
- 6.10 References (p. 398)
- Chapter 7 Analysis: Defining Object Behavior (p. 399)
- 7.1 Object Behavior (p. 400)
- 7.1.1 Simple Behavior (p. 400)
- 7.1.2 State Behavior (p. 402)
- 7.1.3 Continuous Behavior (p. 403)
- 7.2 Defining Object State Behavior (p. 404)
- 7.2.1 Cardiac Pacemaker Example (p. 409)
- 7.2.2 Calculator Example (p. 422)
- 7.2.3 Event Hierarchies (p. 441)
- 7.3 Interactions (p. 443)
- 7.3.1 Sequence Diagrams (p. 444)
- 7.4 Defining Operations (p. 463)
- 7.4.1 Types of Operations (p. 465)
- 7.4.2 Strategies for Defining Operations (p. 468)
- 7.5 Looking Ahead (p. 471)
- 7.6 Exercises (p. 472)
- 7.7 References (p. 472)
- Chapter 8 Architectural Design (p. 473)
- 8.1 Overview of Design (p. 474)
- 8.2 What Is Architectural Design? (p. 477)
- 8.2.1 Logical Architecture (p. 478)
- 8.2.2 Physical Architecture (p. 482)
- 8.2.3 Subsystem and Component View (p. 486)
- 8.2.4 Concurrency and Resource View (p. 488)
- 8.2.5 Distribution View (p. 492)
- 8.2.6 Safety and Reliability View (p. 497)
- 8.2.7 Deployment View (p. 499)
- 8.2.8 Physical Architecture Issues (p. 501)
- 8.2.9 Software Architecture Issues (p. 503)
- 8.3 Software Meets Hardware: Deployment Architecture in UML (p. 509)
- 8.4 Concurrency and Resource Design (p. 512)
- 8.4.1 Representing Threads (p. 512)
- 8.4.2 System Task Diagram (p. 513)
- 8.4.3 Concurrent State Diagrams (p. 515)
- 8.4.4 Defining Threads (p. 516)
- 8.4.5 Identifying Threads (p. 518)
- 8.4.6 Assigning Objects to Threads (p. 520)
- 8.4.7 Defining Thread Rendezvous (p. 520)
- 8.4.8 Sharing Resources (p. 522)
- 8.4.9 Assigning Priorities (p. 523)
- 8.5 Looking Ahead (p. 523)
- 8.6 Exercises (p. 524)
- 8.7 References (p. 525)
- Chapter 9 Mechanistic Design (p. 527)
- 9.1 What Is Mechanistic Design? (p. 528)
- 9.2 Mechanistic Design Patterns (p. 530)
- 9.3 The Observer Pattern (p. 533)
- 9.3.1 Abstract (p. 533)
- 9.3.2 Problem (p. 533)
- 9.3.3 Pattern Structure (p. 534)
- 9.3.4 Collaboration Roles (p. 535)
- 9.3.5 Consequences (p. 536)
- 9.3.6 Implementation Strategies (p. 536)
- 9.3.7 Sample Model (p. 537)
- 9.4 The Proxy Pattern (p. 538)
- 9.4.1 Abstract (p. 538)
- 9.4.2 Problem (p. 538)
- 9.4.3 Pattern Structure (p. 540)
- 9.4.4 Collaboration Roles (p. 540)
- 9.4.5 Consequences (p. 543)
- 9.4.6 Implementation Strategies (p. 543)
- 9.4.7 Sample Model (p. 544)
- 9.5 Reliable Transaction Pattern (p. 547)
- 9.5.1 Abstract (p. 548)
- 9.5.2 Problem (p. 548)
- 9.5.3 Pattern Structure (p. 548)
- 9.5.4 Collaboration Roles (p. 551)
- 9.5.5 Consequences (p. 553)
- 9.5.6 Implementation Strategies (p. 553)
- 9.5.7 Sample Model (p. 553)
- 9.6 Smart Pointer Pattern (p. 555)
- 9.6.1 Abstract (p. 555)
- 9.6.2 Problem (p. 556)
- 9.6.3 Pattern Structure (p. 557)
- 9.6.4 Collaboration Roles (p. 557)
- 9.6.5 Consequences (p. 558)
- 9.6.6 Implementation Strategies (p. 560)
- 9.6.7 Related Patterns (p. 560)
- 9.6.8 Sample Model (p. 560)
- 9.7 Guarded Call Pattern (p. 562)
- 9.7.1 Abstract (p. 562)
- 9.7.2 Problem (p. 562)
- 9.7.3 Pattern Structure (p. 563)
- 9.7.4 Collaboration Roles (p. 563)
- 9.7.5 Consequences (p. 564)
- 9.7.6 Implementation Strategies (p. 565)
- 9.7.7 Sample Model (p. 565)
- 9.8 Container Pattern (p. 567)
- 9.8.1 Abstract (p. 568)
- 9.8.2 Problem (p. 568)
- 9.8.3 Pattern Structure (p. 569)
- 9.8.4 Collaboration Roles (p. 570)
- 9.8.5 Consequences (p. 570)
- 9.8.6 Implementation Strategies (p. 570)
- 9.8.7 Sample Model (p. 570)
- 9.9 The Rendezvous Pattern (p. 579)
- 9.9.1 Abstract (p. 580)
- 9.9.2 Problem (p. 580)
- 9.9.3 Pattern Structure (p. 580)
- 9.9.4 Collaboration Roles (p. 581)
- 9.9.5 Consequences (p. 582)
- 9.9.6 Implementation Strategies (p. 582)
- 9.9.7 Related Patterns (p. 583)
- 9.9.8 Sample Model (p. 583)
- 9.10 Looking Ahead (p. 585)
- 9.11 Exercises (p. 585)
- 9.12 References (p. 586)
- Chapter 10 Detailed Design (p. 589)
- 10.1 What Is Detailed Design? (p. 590)
- 10.2 Data Structure (p. 591)
- 10.3 Associations (p. 597)
- 10.4 Operations (p. 600)
- 10.5 Visibility (p. 602)
- 10.6 Algorithms (p. 604)
- 10.7 Exceptions (p. 610)
- 10.8 Summary (p. 614)
- 10.9 Exercises (p. 615)
- 10.10 References (p. 616)
- Chapter 11 Special Topic: C[superscript 4]ISR Architecture and the UML (p. 617)
- 11.1 Introduction (p. 618)
- 11.2 What is C[superscript 4]ISR? (p. 618)
- 11.3 Required Products of C[superscript 4]ISR (p. 625)
- 11.3.1 AV-1 Overview and Summary Information (p. 626)
- 11.3.2 The AV-2 Integrated Dictionary (p. 626)
- 11.3.3 OV-1 High-Level Operational Concept Graphic (p. 626)
- 11.3.4 OV-2 Operational Node Connectivity Description (p. 631)
- 11.3.5 OV-3 Operational Information Exchange Matrix (p. 632)
- 11.3.6 SV-1 System Interface Description (p. 633)
- 11.3.7 TV-1 Technical Architecture Profile (p. 635)
- 11.4 Supporting Products (p. 635)
- 11.4.1 OV-4 Command Relationships Chart (p. 635)
- 11.4.2 OV-5 Operational Activity Model (p. 635)
- 11.4.3 OV-6a Operational Rules Model, SV-10a Systems Rules Model (p. 638)
- 11.4.4 OV-6b Operational State Transition Description, SV-10b Systems State Transition Description (p. 640)
- 11.4.5 OV-6c Operational Event-Trace Description, SV-10c Systems Event Trace Description (p. 640)
- 11.4.6 OV-7 Logical Data Model (p. 641)
- 11.4.7 SV-3 Systems-Systems Matrix (p. 641)
- 11.4.8 SV-4 Systems Functionality Description (p. 644)
- 11.4.9 SV-5 Operational Activity to Systems Function Traceability Matrix (p. 645)
- 11.4.10 SV-6 Systems Data Exchange Matrix (p. 646)
- 11.4.11 SV-7 Systems Performance Parameters Matrix (p. 646)
- 11.4.12 SV-8 Systems Evolution Description (p. 648)
- 11.4.13 SV-9 Systems Technology Forecast (p. 649)
- 11.4.14 SV-11 Physical Schema (p. 649)
- 11.5 Summary (p. 652)
- 11.6 Acknowledgments (p. 652)
- 11.7 References (p. 652)
- Appendix Notational Summary (p. 653)
- Index (p. 675)