You are previewing A Practical Guide to SysML, 2nd Edition.
O'Reilly logo
A Practical Guide to SysML, 2nd Edition

Book Description

A Practical Guide to SysML: The Systems Modeling Language is a comprehensive guide for understanding and applying SysML to model systems. The Object Management Group’s OMG SysML is a general-purpose graphical modeling language for representing systems that may include combinations of hardware, software, data, people, facilities, and natural objects. SysML supports the practice of model-based systems engineering (MBSE) used to develop system solutions in response to complex and often technologically challenging problems.
The book is organized into four parts. Part I provides an overview of systems engineering, a summary of key MBSE concepts, a chapter on getting started with SysML, and a sample problem highlighting the basic features of SysML. Part II presents a detailed description of the SysML language, while Part III illustrates how SysML can support different model-based methods. Part IV discusses how to transition MBSE with SysML into an organization.
This book can serve as an introduction and reference for industry practitioners, and as a text for courses in systems modeling and model-based systems engineering. Because SysML reuses many Unified Modeling Language (UML) concepts, software engineers familiar with UML can use this information as a basis for understanding systems engineering concepts.

  • Authoritative and comprehensive guide to understanding and implementing SysML
  • A quick reference guide, including language descriptions and practical examples
  • Application of model-based methodologies to solve complex system problems
  • Guidance on transitioning to model-based systems engineering using SysML
  • Preparation guide for OMG Certified Systems Modeling Professional (OCSMP)

Table of Contents

  1. Cover image
  2. Table of Contents
  3. Front Matter
  4. Copyright
  5. Preface
  6. Acknowledgments
  7. About the Authors
  8. Chapter 1. Systems Engineering Overview
  9. 1.1. Motivation for Systems Engineering
  10. 1.2. The Systems Engineering Process
  11. 1.3. Typical Application of the Systems Engineering Process
  12. 1.4. Multidisciplinary Systems Engineering Team
  13. 1.5. Codifying Systems Engineering Practice through Standards
  14. 1.6. Summary
  15. Chapter 2. Model-Based Systems Engineering
  16. 2.1. Contrasting the Document-Based and Model-Based Approach
  17. 2.2. Modeling Principles
  18. 2.3. Summary
  19. Chapter 3. Getting Started with SysML
  20. 3.1. SysML Purpose and Key Features
  21. 3.2. SysML Diagram Overview
  22. 3.3. Introducing SysML-Lite
  23. 3.4. A Simplified MBSE Method
  24. 3.5. The Learning Curve for SysML and MBSE
  25. 3.6. Summary
  26. Chapter 4. An Automobile Example Using the SysML Basic Feature Set
  27. 4.1. SysML Basic Feature Set
  28. 4.2. Automobile Example Overview
  29. 4.3. Automobile Model
  30. 4.4. Model Interchange
  31. 4.5. Summary
  32. Chapter 5. SysML Language Architecture
  33. 5.1. The OMG SysML Language Specification
  34. 5.2. The Architecture of the SysML Language
  35. 5.3. SysML Diagrams
  36. 5.4. The Surveillance System Case Study
  37. 5.5. Organization of Part II
  38. Chapter 6. Organizing the Model with Packages
  39. 6.1. Overview
  40. 6.2. The Package Diagram
  41. 6.3. Defining Packages Using a Package Diagram
  42. 6.4. Organizing a Package Hierarchy
  43. 6.5. Showing Packageable Elements on a Package Diagram
  44. 6.6. Packages as Namespaces
  45. 6.7. Importing Model Elements into Packages
  46. 6.8. Showing Dependencies between Packageable Elements
  47. 6.9. Specifying Views and Viewpoints
  48. 6.10. Summary
  49. Chapter 7. Modeling Structure with Blocks
  50. 7.1. Overview
  51. 7.2. Modeling Blocks on a Block Definition Diagram
  52. 7.3. Modeling the Structure and Characteristics of Blocks Using Properties
  53. 7.4. Modeling Flows
  54. 7.5. Modeling Block Behavior
  55. 7.6. Modeling Interfaces Using Ports
  56. 7.7. Modeling Classification Hierarchies Using Generalization
  57. 7.8. Modeling Block Configurations Using Instances
  58. 7.9. Deprecated Features
  59. 7.10. Summary
  60. Chapter 8. Modeling Constraints with Parametrics
  61. 8.1. Overview
  62. 8.2. Using Constraint Expressions to Represent System Constraints
  63. 8.3. Encapsulating Constraints in Constraint Blocks to Enable Reuse
  64. 8.4. Using Composition to Build Complex Constraint Blocks
  65. 8.5. Using a Parametric Diagram to Bind Parameters of Constraint Blocks
  66. 8.6. Constraining Value Properties of a Block
  67. 8.7. Capturing Values in Block Configurations
  68. 8.8. Constraining Time-Dependent Properties to Facilitate Time-Based Analysis
  69. 8.9. Using Constraint Blocks to Constrain Item Flows
  70. 8.10. Describing an Analysis Context
  71. 8.11. Modeling Evaluation of Alternatives and Trade Studies
  72. 8.12. Summary
  73. Chapter 9. Modeling Flow-Based Behavior with Activities
  74. 9.1. Overview
  75. 9.2. The Activity Diagram
  76. 9.3. Actions—The Foundation of Activities
  77. 9.4. The Basics of Modeling Activities
  78. 9.5. Using Object Flows to Describe the Flow of Items between Actions
  79. 9.6. Using Control Flows to Specify the Order of Action Execution
  80. 9.7. Handling Signals and Other Events
  81. 9.8. Structuring Activities
  82. 9.9. Advanced Flow Modeling
  83. 9.10. Modeling Constraints on Activity Execution
  84. 9.11. Relating Activities to Blocks and Other Behaviors
  85. 9.12. Modeling Activity Hierarchies Using Block Definition Diagrams
  86. 9.13. Enhanced Functional Flow Block Diagram
  87. 9.14. Executing Activities
  88. 9.15. Summary
  89. Chapter 10. Modeling Message-Based Behavior with Interactions
  90. 10.1. Overview
  91. 10.2. The Sequence Diagram
  92. 10.3. The Context for Interactions
  93. 10.4. Using Lifelines to Represent Participants in an Interaction
  94. 10.5. Exchanging Messages between Lifelines
  95. 10.6. Representing Time on a Sequence Diagram
  96. 10.7. Describing Complex Scenarios Using Combined Fragments
  97. 10.8. Using Interaction References to Structure Complex Interactions
  98. 10.9. Decomposing Lifelines to Represent Internal Behavior
  99. 10.10. Summary
  100. Chapter 11. Modeling Event-Based Behavior with State Machines
  101. 11.1. Overview
  102. 11.2. State Machine Diagram
  103. 11.3. Specifying States in a State Machine
  104. 11.4. Transitioning between States
  105. 11.5. State Machines and Operation Calls
  106. 11.6. State Hierarchies
  107. 11.7. Contrasting Discrete and Continuous States
  108. 11.8. Summary
  109. Chapter 12. Modeling Functionality with Use Cases
  110. 12.1. Overview
  111. 12.2. Use Case Diagram
  112. 12.3. Using Actors to Represent the Users of a System
  113. 12.4. Using Use Cases to Describe System Functionality
  114. 12.5. Elaborating Use Cases with Behaviors
  115. 12.6. Summary
  116. Chapter 13. Modeling Text-Based Requirements and Their Relationship to Design
  117. 13.1. Overview
  118. 13.2. Requirement Diagram
  119. 13.3. Representing a Text Requirement in the Model
  120. 13.4. Types of Requirements Relationships
  121. 13.5. Representing Cross-Cutting Relationships in SysML Diagrams
  122. 13.6. Depicting Rationale for Requirements Relationships
  123. 13.7. Depicting Requirements and Their Relationships in Tables
  124. 13.8. Modeling Requirement Hierarchies in Packages
  125. 13.9. Modeling a Requirements Containment Hierarchy
  126. 13.10. Modeling Requirement Derivation
  127. 13.11. Asserting That a Requirement Is Satisfied
  128. 13.12. Verifying That a Requirement Is Satisfied
  129. 13.13. Reducing Requirements Ambiguity Using the Refine Relationship
  130. 13.14. Using the General-Purpose Trace Relationship
  131. 13.15. Reusing Requirements with the Copy Relationship
  132. 13.16. Summary
  133. Chapter 14. Modeling Cross-Cutting Relationships with Allocations
  134. 14.1. Overview
  135. 14.2. Allocation Relationship
  136. 14.3. Allocation Notation
  137. 14.4. Types of Allocation
  138. 14.5. Planning for Reuse: Specifying Definition and Usage in Allocation
  139. 14.6. Allocating Behavior to Structure Using Functional Allocation
  140. 14.7. Connecting Functional Flow with Structural Flow Using Functional Flow Allocation
  141. 14.8. Modeling Allocation between Independent Structural Hierarchies
  142. 14.9. Modeling Structural Flow Allocation
  143. 14.10. Evaluating Allocation across a User Model
  144. 14.11. Taking Allocation to the Next Step
  145. 14.12. Summary
  146. Chapter 15. Customizing SysML for Specific Domains
  147. 15.1. Overview
  148. 15.2. Defining Model Libraries to Provide Reusable Constructs
  149. 15.3. Defining Stereotypes to Extend Existing SysML Concepts
  150. 15.4. Extending the SysML Language Using Profiles
  151. 15.5. Applying Profiles to User Models in Order to Use Stereotypes
  152. 15.6. Applying Stereotypes when Building a Model
  153. 15.7. Summary
  154. Chapter 16. Water Distiller Example Using Functional Analysis
  155. 16.1. Stating the Problem – The Need for Clean Drinking Water
  156. 16.2. Defining the Model-Based Systems Engineering Approach
  157. 16.3. Organizing the Model
  158. 16.4. Establishing Requirements
  159. 16.5. Modeling Structure
  160. 16.6. Analyze Performance
  161. 16.7. Modify the Original Design
  162. 16.8. Summary
  163. Chapter 17. Residential Security System Example Using the Object-Oriented Systems Engineering Method
  164. 17.1. Method Overview
  165. 17.2. Residential Security Example Overview
  166. 17.3. Applying OOSEM to Specify and Design the Residential Security System
  167. 17.4. Summary
  168. Chapter 18. Integrating SysML into a Systems Development Environment
  169. 18.1. Understanding the System Model’s Role in the Broader Modeling Context
  170. 18.2. Tool Roles in a Systems Development Environment
  171. 18.3. An Overview of Information Flow between Tools
  172. 18.4. Data Exchange Mechanisms
  173. 18.5. Data Exchange Applications
  174. 18.6. Selecting a System Modeling Tool
  175. 18.7. Summary
  176. Chapter 19. Deploying SysML into an Organization
  177. 19.1. Improvement Process
  178. 19.2. Summary
  179. Appendix A. SysML Reference Guide
  180. References
  181. Index