Available:*
Library | Item Barcode | Call Number | Material Type | Item Category 1 | Status |
---|---|---|---|---|---|
Searching... | 30000010120634 | CP 8052 | Computer File Accompanies Open Access Book | Compact Disc Accompanies Open Access Book | Searching... |
Searching... | 30000010120633 | CP 8052 | Computer File Accompanies Open Access Book | Compact Disc Accompanies Open Access Book | Searching... |
On Order
Summary
Summary
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 for engineers looking to broaden their skill-sets in order to become more saleable in the job market. It provides a laboratory environment through a series of progressively more complex exercises that act as building blocks, illustrating the various aspects of UML and its application to real-time and embedded systems. With its focus on gaining proficiency, it goes a significant step beyond basic UML overviews, providing both comprehensive methodology and the best level of supporting exercises available on the market. Each exercise has a matching solution which is thoroughly explained step-by-step in the back of the book. The techniques used to solve these problems come from the author's decades of experience designing and constructing real-time systems. After the exercises have been successfully completed, the book will act as a desk reference for engineers, reminding them of how many of the problems they face in their designs can be solved.
Author Notes
Embedded Software Methodologist. Triathlete. Systems engineer. Contributor to UML and SysML specifications. Writer. Black Belt. Neuroscientist. Classical guitarist. High school dropout. Bruce Powel Douglass, who has a doctorate in neurocybernetics from the USD Medical School, has over 35 years of experience developing safety-critical real-time applications in a variety of hard real-time environments. He is the author of over 5700 book pages from a number of technical books including Real-Time UML, Real-Time UML Workshop for Embedded Systems, Real-Time Design Patterns, Doing Hard Time, Real-Time Agility, and Design Patterns for Embedded Systems in C. He is the Chief Evangelist at IBM Rational, where he is a thought leader in the systems space and consulting with and mentors IBM customers all over the world. He can be followed on Twitter @BruceDouglass. Papers and presentations are available at his Real-Time UML Yahoo technical group (http://tech.groups.yahoo.com/group/RT-UML) and from his IBM thought leader page (www-01.ibm.com/software/rational/leadership/thought/brucedouglass.html).
Table of Contents
Preface | p. xiii |
Audience | p. xiv |
Goals | p. xv |
Where to Go After the Book | p. xv |
Evaluate UML on ARM | p. xv |
Acknowledgments | p. xvii |
About the Author | p. xix |
What's on the CD-ROM? | p. xxi |
Chapter 1 Introduction | p. 1 |
Basic Modeling Concepts of the UML | p. 1 |
Structural Elements and Diagrams | p. 5 |
Small Things: Objects, Classes, and Interfaces | p. 5 |
Relations | p. 10 |
Big Things: Subsystems, Components, and Packages | p. 17 |
Behavioral Elements and Diagrams | p. 19 |
Actions and Activities | p. 19 |
Operations and Methods | p. 20 |
Activity Diagrams | p. 20 |
Statecharts | p. 22 |
Interactions | p. 27 |
Use Case and Requirements Models | p. 31 |
Summary | p. 33 |
Check Out the CD-ROM | p. 33 |
Chapter 2 The Harmony Process | p. 35 |
Introduction | p. 35 |
The Harmony Development Process | p. 36 |
Why Process? | p. 36 |
Harmony Process Overview | p. 41 |
The Systems Engineering Harmony Workflows in Detail | p. 43 |
The Incremental (Spiral) Development Workflows in Detail | p. 47 |
Increment Review (Party!) Workflow | p. 48 |
Design with the Harmony Process | p. 55 |
Implementation | p. 60 |
Test | p. 61 |
Summary | p. 63 |
Chapter 3 Specifying Requirements | p. 65 |
Overview | p. 65 |
Problem 3.1 Identifying Kinds of Requirements for Roadrunner Traffic Light Control System | p. 67 |
Problem 3.2 Identifying Use Cases for the Roadrunner Traffic Light Control System | p. 69 |
Problem 3.3 Mapping Requirements to Use Cases | p. 69 |
Problem 3.4 Identifying Use Cases for the Coyote UAV System | p. 70 |
Problem 3.5 Identifying Parametric Requirements | p. 70 |
Problem 3.6 Capturing Quality of Service Requirements in Use Cases | p. 71 |
Problem 3.7 Operational View: Identifying Traffic Light Scenarios | p. 71 |
Problem 3.8 Operational View: CUAVS Optical Surveillance Scenarios | p. 73 |
Problem 3.9 Specification View: Use-Case Description | p. 73 |
Specification View: State Machines for Requirements Capture | p. 74 |
Problem 3.10 Specification View: Capturing Complex Requirements | p. 76 |
Problem 3.11 Operational to Specification View: Capturing Operational Contracts | p. 77 |
References | p. 82 |
Chapter 4 Systems Architecture | p. 83 |
Overview | p. 83 |
Problem 4.1 Organizing the Systems Model | p. 85 |
Problem 4.2 Subsystem Identification | p. 90 |
Problem 4.3 Mapping Operational Contracts into Subsystem Architecture | p. 92 |
Problem 4.4 Identifying Subsystem Use Cases | p. 101 |
Looking Ahead | p. 107 |
Chapter 5 Object Analysis | p. 109 |
Overview | p. 109 |
Key Strategies for Object Identification | p. 111 |
Underline the Noun Strategy | p. 113 |
Identify the Causal Agents | p. 113 |
Identify Services (Passive Contributors or Server Objects) | p. 114 |
Identify Messages and Information Flows | p. 114 |
Identify Real-World Items | p. 114 |
Identify Physical Devices | p. 114 |
Identify Key Concepts | p. 115 |
Identify Transactions | p. 115 |
Identify Persistent Information | p. 115 |
Identify Visual Elements | p. 115 |
Identify Control Elements | p. 116 |
Apply Scenarios | p. 116 |
Problem 5.1 Apply Nouns and Causal Agents Strategies | p. 116 |
Problem 5.2 Apply Services and Messages Strategies | p. 125 |
Problem 5.3 Apply Real-World Items and Physical Devices Strategies | p. 127 |
Problem 5.4 Apply Key Concepts and Transaction Strategies | p. 128 |
Problem 5.5 Apply Identify Visual Elements and Scenarios Strategies | p. 128 |
Problem 5.6 Merge Models from the Various Strategies | p. 137 |
Looking Ahead | p. 139 |
Chapter 6 Architectural Design | p. 141 |
Overview | p. 141 |
Problem 6.1 Concurrency and Resource Architecture | p. 147 |
Problem 6.2 Distribution Architecture | p. 158 |
Problem 6.3 Safety and Reliability Architecture | p. 163 |
Looking Ahead | p. 177 |
Chapter 7 Mechanistic and Detailed Design | p. 179 |
Overview | p. 179 |
Mechanistic Design | p. 180 |
Delegation Pattern Strategy | p. 183 |
Interface Abstraction Pattern Strategy | p. 185 |
Detailed Design | p. 187 |
Problem 7.1 Applying Mechanistic Design Patterns-Part 1 | p. 192 |
Problem 7.2 Applying Mechanistic Design Patterns-Part 2 | p. 196 |
Problem 7.3 Applying Detailed-Design State Behavior Patterns | p. 201 |
Problem 7.4 Applying-Detailed Design Idioms | p. 206 |
Summary | p. 214 |
Chapter 8 Specifying Requirements: Answers | p. 215 |
Answer 3.1 Identifying Kinds of Requirements | p. 215 |
Answer 3.2 Identifying Use Cases for Roadrunner Traffic Light Control System | p. 216 |
Answer 3.3 Mapping Requirements to Use Cases | p. 219 |
Answer 3.4 Identifying Use Cases for Coyote UAV System | p. 220 |
Answer 3.5 Identifying Parametric Requirements | p. 222 |
Answer 3.6 Capturing Quality of Service Requirements | p. 223 |
Answer 3.7 Operational View: Identifying Traffic Light Scenarios | p. 224 |
Answer 3.8 Operational View: CUAVS Optical Surveillance Scenarios | p. 228 |
Answer 3.9 Specification View: Use-Case Descriptions | p. 231 |
Answer 3.10 Specification View: Capturing Complex Requirements | p. 232 |
Answer 3.11 Operational to Specification View: Capturing Operational Contracts | p. 238 |
References | p. 242 |
Chapter 9 Systems Architecture: Answers | p. 243 |
Answer 4.1 Organizing the Systems Model | p. 243 |
Answer 4.2 Subsystem Identification | p. 250 |
Answer 4.3 Mapping Operational Contracts into the Subsystem Architecture | p. 256 |
Answer 4.4 Identifying Subsystem Use Cases | p. 267 |
Chapter 10 Object Analysis: Answers | p. 273 |
Answer 5.1 Apply Nouns and Causal Agents Strategies | p. 273 |
Answer 5.2 Apply Services and Messages Strategies | p. 291 |
Answer 5.3 Applying the Real-World Items and Physical Devices Strategies | p. 297 |
Answer 5.4 Apply Key Concepts and Transaction Strategies | p. 299 |
Answer 5.5 Identify Visual Elements and Scenarios Strategies | p. 303 |
Answer 5.6 Merge Models from the Various Strategies | p. 315 |
Chapter 11 Architectural Design: Answers | p. 317 |
Answer 6.1 Concurrency and Resource Architecture | p. 317 |
Answer 6.2 Distribution Architecture | p. 319 |
Answer 6.3 Safety and Reliability Architecture | p. 323 |
Chapter 12 Mechanistic and Detailed Design: Answers | p. 339 |
Answer 7.1 Applying Mechanistic Design Patterns-Part 1 | p. 339 |
Answer 7.2 Applying Mechanistic Design Patterns-Part 2 | p. 341 |
Answer 7.3 Applying Detailed-Design State Behavior Patterns | p. 346 |
Answer 7.4 Applying Detailed-Design Idioms | p. 351 |
Appendix A The Roadrunner Intersection Controller System Specification | p. 357 |
Overview | p. 357 |
The Intersection Controller (IC) | p. 357 |
Configuration Parameters | p. 358 |
Intersection Modes | p. 361 |
The Vehicle Detector | p. 365 |
Vehicular Traffic Light | p. 366 |
Pedestrian Light and Sensor | p. 367 |
Front Panel Display | p. 368 |
Remote Communications | p. 369 |
Power | p. 370 |
Appendix B The Coyote Unmanned Air Vehicle System (CUAVS) Specification | p. 371 |
Overview | p. 371 |
Primary CUAV System Components | p. 371 |
The Unmanned Air Vehicle (UAV) | p. 371 |
The Coyote Mission Planning and Control System (CMPCS) | p. 372 |
Coyote Payloads | p. 372 |
The Coyote Datalink Subsystem (CDS) | p. 373 |
Detailed Requirements | p. 373 |
The Unmanned Air Vehicle (UAV) | p. 373 |
Flight Modes | p. 373 |
Mission Modes | p. 374 |
The Coyote Mission Planning and Control System (CMPCS) | p. 374 |
The Coyote Reconnaissance Sensor Suite Payload (CSSP) | p. 375 |
The Coyote Hellfire Attack Payload (CHAP) | p. 376 |
The Coyote Datalink Subsystem (CDS) | p. 377 |
Appendix C UML Notational Summary | p. 379 |
Index | p. 401 |