Foreword by Rick Steiner xvii
Foreword by Richard Soley xix
Preface xxv
Acknowledgments xxxi
About the Author xxxiii
Chapter 1: Overview of Model-Based Systems Engineering 1
1.1 What Is MBSE? 2
1.2 The Three Pillars of MBSE 4
1.3 The Myth of MBSE 9
Chapter 2: Overview of the Systems Modeling Language 11
2.1 What SysML Is–and Isn’t 11
2.2 Yes, SysML Is Based on UML–but You Can Start with SysML 13
2.3 SysML Diagram Overview 14
2.4 General Diagram Concepts 17
Chapter 3: Block Definition Diagrams 23
3.1 Purpose 23
3.2 When Should You Create a BDD? 24
3.3 The BDD Frame 24
3.4 Blocks 26
3.5 Associations: Another Notation for a Property 44
3.6 Generalizations 49
3.7 Dependencies 52
3.8 Actors 53
3.9 Value Types 55
3.10 Constraint Blocks 57
3.11 Comments 59
Chapter 4: Internal Block Diagrams 63
4.1 Purpose 63
4.2 When Should You Create an IBD? 64
4.3 Blocks, Revisited 64
4.4 The IBD Frame 65
4.5 BDDs and IBDs: Complementary Views of a Block 66
4.6 Part Properties 67
4.7 Reference Properties 67
4.8 Connectors 68
4.9 Item Flows 71
4.10 Nested Parts and References 72
Chapter 5: Use Case Diagrams 77
5.1 Purpose 77
5.2 When Should You Create a Use Case Diagram? 77
5.3 Wait! What’s a Use Case? 78
5.4 The Use Case Diagram Frame 81
5.5 Use Cases 82
5.6 System Boundary 83
5.7 Actors 83
5.8 Associating Actors with Use Cases 84
5.9 Base Use Cases 85
5.10 Included Use Cases 85
5.11 Extending Use Cases 87
Chapter 6: Activity Diagrams 89
6.1 Purpose 89
6.2 When Should You Create an Activity Diagram? 90
6.3 The Activity Diagram Frame 90
6.4 A Word about Token Flow 92
6.5 Actions: The Basics 93
6.6 Object Nodes 95
6.7 Edges 99
6.8 Actions, Revisited 102
6.9 Control Nodes 112
6.10 Activity Partitions: Allocating Behaviors to Structures 119
Chapter 7: Sequence Diagrams 123
7.1 Purpose 123
7.2 When Should You Create a Sequence Diagram? 124
7.3 The Sequence Diagram Frame 125
7.4 Lifelines 125
7.5 Messages 129
7.6 Destruction Occurrences 138
7.7 Execution Specifications 139
7.8 Constraints 141
7.9 Combined Fragments 144
7.10 Interaction Uses 151
Chapter 8: State Machine Diagrams 155
8.1 Purpose 155
8.2 When Should You Create a State Machine Diagram? 156
8.3 The State Machine Diagram Frame 156
8.4 States 158
8.5 Transitions 162
8.6 Pseudostates 171
8.7 Regions 173
Chapter 9: Parametric Diagrams 177
9.1 Purpose 177
9.2 When Should You Create a Parametric Diagram? 178
9.3 Blocks, Revisited 179
9.4 The Parametric Diagram Frame 182
9.5 Constraint Properties 184
9.6 Constraint Parameters 185
9.7 Value Properties 185
9.8 Binding Connectors 187
Chapter 10: Package Diagrams 189
10.1 Purpose 189
10.2 When Should You Create a Package Diagram? 190
10.3 The Package Diagram Frame 190
10.4 Notations for Namespace Containment 191
10.5 Dependencies between Packages 193
10.6 Importing Packages 193
10.7 Specialized Packages 194
10.8 Shades of Gray: Are You Looking at a Package Diagram or a Block Definition Diagram? 198
Chapter 11: Requirements Diagrams 201
11.1 Purpose 201
11.2 When Should You Create a Requirements Diagram? 202
11.3 The Requirements Diagram Frame 202
11.4 Requirements 204
11.5 Requirements Relationships 205
11.6 Notations for Requirements Relationships 209
11.7 Rationale 213
Chapter 12: Allocations: Cross-Cutting Relationships 215
12.1 Purpose 215
12.2 There’s No Such Thing as an Allocation Diagram 216
12.3 Uses for Allocation Relationships 216
12.4 Notations for Allocation Relationships 219
12.5 Rationale 224
Appendix A: SysML Notation Desk Reference 227
Appendix B: Changes between SysML Versions 245
Bibliography 253
Index 255