You are previewing A Practical Guide to SysML, 3rd Edition.
O'Reilly logo
A Practical Guide to SysML, 3rd Edition

Book Description

A Practical Guide to SysML, Third Edition, fully updated for SysML version 1.4, provides a comprehensive and practical guide for modeling systems with SysML. With their unique perspective as leading contributors to the language, Friedenthal, Moore, and Steiner provide a full description of the language along with a quick reference guide and practical examples to help you use SysML.

The book begins with guidance on the most commonly used features to help you get started quickly. Part 1 explains the benefits of a model-based approach, providing an overview of the language and how to apply SysML to model systems. Part 2 includes a comprehensive description of SysML that provides a detailed understanding that can serve as a foundation for modeling with SysML, and as a reference for practitioners. Part 3 includes methods for applying model-based systems engineering using SysML to specify and design systems, and how these methods can help manage complexity. Part 4 deals with topics related to transitioning MBSE practice into your organization, including integration of the system model with other engineering models, and strategies for adoption of MBSE.



  • Learn how and why to deploy MBSE in your organization with an introduction to systems and model-based systems engineering
  • Use SysML to describe systems with this general overview and a detailed description of the Systems Modeling Language
  • Review practical examples of MBSE methodologies to understand their application to specifying and designing a system
  • Includes comprehensive modeling notation tables as an appendix that can be used as a standalone reference

Table of Contents

  1. Cover image
  2. Title page
  3. Table of Contents
  4. Copyright
  5. Preface
  6. Acknowledgments
  7. About the Authors
  8. Part I. Introduction
    1. Introduction
    2. Chapter 1. Systems Engineering Overview
      1. 1.1. Motivation for Systems Engineering
      2. 1.2. The Systems Engineering Process
      3. 1.3. Typical Application of the Systems Engineering Process
      4. 1.4. Multidisciplinary Systems Engineering Team
      5. 1.5. Codifying Systems Engineering Practice through Standards
      6. 1.6. Summary
      7. 1.7. Questions
    3. Chapter 2. Model-Based Systems Engineering
      1. 2.1. Contrasting the Document-Based and Model-Based Approach
      2. 2.2. Modeling Principles
      3. 2.3. Summary
      4. 2.4. Questions
    4. Chapter 3. Getting Started with SysML
      1. 3.1. SysML Purpose and Key Features
      2. 3.2. SysML Diagram Overview
      3. 3.3. Introducing SysML-Lite
      4. 3.4. A Simplified MBSE Method
      5. 3.5. The Learning Curve for SysML and MBSE
      6. 3.6. Summary
      7. 3.7. Questions
    5. Chapter 4. An Automobile Example Using the SysML Basic Feature Set
      1. 4.1. The SysML Basic Feature Set and SysML Certification
      2. 4.2. Automobile Example Overview
      3. 4.3. Automobile Model
      4. 4.4. Model Interchange
      5. 4.5. Summary
      6. 4.6. Questions
  9. Part II. Language Description
    1. Introduction
      1. The Surveillance System Case Study
      2. OCSMP Certification Coverage and SysML 1.3
    2. Chapter 5. Viewing SysML Models with Diagrams
      1. 5.1. Overview
      2. 5.2. SysML Diagrams
      3. 5.3. Diagram Notations
      4. 5.4. Tabular, Matrix, and Tree Views
      5. 5.5. General Purpose Model Elements
      6. 5.6. View and Viewpoint
      7. 5.7. Summary
      8. 5.8. Questions
    3. Chapter 6. Organizing the Model with Packages
      1. 6.1. Overview
      2. 6.2. The Package Diagram
      3. 6.3. Defining Packages Using a Package Diagram
      4. 6.4. Organizing a Package Hierarchy
      5. 6.5. Showing Packageable Elements on a Package Diagram
      6. 6.6. Packages as Namespaces
      7. 6.7. Importing Model Elements into Packages
      8. 6.8. Showing Dependencies between Packageable Elements
      9. 6.9. Summary
      10. 6.10. Questions
    4. Chapter 7. Modeling Structure with Blocks
      1. 7.1. Overview
      2. 7.2. Modeling Blocks on a Block Definition Diagram
      3. 7.3. Modeling the Structure and Characteristics of Blocks Using Properties
      4. 7.4. Modeling Flows
      5. 7.5. Modeling Block Behavior
      6. 7.6. Modeling Interfaces Using Ports
      7. 7.7. Modeling Classification Hierarchies Using Generalization
      8. 7.8. Modeling Block Configurations Using Instances
      9. 7.9. Semantics of Blocks
      10. 7.10. Deprecated Features
      11. 7.11. Summary
      12. 7.12. Questions
    5. Chapter 8. Modeling Constraints with Parametrics
      1. 8.1. Overview
      2. 8.2. Using Constraint Expressions to Represent System Constraints
      3. 8.3. Encapsulating Constraints in Constraint Blocks to Enable Reuse
      4. 8.4. Using Composition to Build Complex Constraint Blocks
      5. 8.5. Using a Parametric Diagram to Bind Parameters of Constraint Blocks
      6. 8.6. Constraining Value Properties of a Block
      7. 8.7. Capturing Values in Block Configurations
      8. 8.8. Constraining Time-Dependent Properties to Facilitate Time-Based Analysis
      9. 8.9. Using Constraint Blocks to Constrain Item Flows
      10. 8.10. Describing an Analysis Context
      11. 8.11. Modeling Evaluation of Alternatives and Trade Studies
      12. 8.12. Summary
      13. 8.13. Questions
    6. Chapter 9. Modeling Flow-Based Behavior with Activities
      1. 9.1. Overview
      2. 9.2. The Activity Diagram
      3. 9.3. Actions—The Foundation of Activities
      4. 9.4. The Basics of Modeling Activities
      5. 9.5. Using Object Flows to Describe the Flow of Items between Actions
      6. 9.6. Using Control Flows to Specify the Order of Action Execution
      7. 9.7. Handling Signals and Other Events
      8. 9.8. Structuring Activities
      9. 9.9. Advanced Flow Modeling
      10. 9.10. Modeling Constraints on Activity Execution
      11. 9.11. Relating Activities to Blocks and Other Behaviors
      12. 9.12. Modeling Activity Hierarchies Using Block Definition Diagrams
      13. 9.13. Enhanced Functional Flow Block Diagram
      14. 9.14. Executing Activities
      15. 9.15. Summary
      16. 9.16. Questions
    7. Chapter 10. Modeling Message-Based Behavior with Interactions
      1. 10.1. Overview
      2. 10.2. The Sequence Diagram
      3. 10.3. The Context for Interactions
      4. 10.4. Using Lifelines to Represent Participants in an Interaction
      5. 10.5. Exchanging Messages between Lifelines
      6. 10.6. Representing Time on a Sequence Diagram
      7. 10.7. Describing Complex Scenarios Using Combined Fragments
      8. 10.8. Using Interaction References to Structure Complex Interactions
      9. 10.9. Decomposing Lifelines to Represent Internal Behavior
      10. 10.10. Summary
      11. 10.11. Questions
    8. Chapter 11. Modeling Event-Based Behavior with State Machines
      1. 11.1. Overview
      2. 11.2. State Machine Diagram
      3. 11.3. Specifying States in a State Machine
      4. 11.4. Transitioning between States
      5. 11.5. State Machines and Operation Calls
      6. 11.6. State Hierarchies
      7. 11.7. Contrasting Discrete and Continuous States
      8. 11.8. Summary
      9. 11.9. Questions
    9. Chapter 12. Modeling Functionality with Use Cases
      1. 12.1. Overview
      2. 12.2. Use Case Diagram
      3. 12.3. Using Actors to Represent the Users of a System
      4. 12.4. Using Use Cases to Describe System Functionality
      5. 12.5. Elaborating Use Cases with Behaviors
      6. 12.6. Summary
      7. 12.7. Questions
    10. Chapter 13. Modeling Text-Based Requirements and Their Relationship to Design
      1. 13.1. Overview
      2. 13.2. Requirement Diagram
      3. 13.3. Representing a Text Requirement in the Model
      4. 13.4. Types of Requirements Relationships
      5. 13.5. Representing Cross-Cutting Relationships in SysML Diagrams
      6. 13.6. Depicting Rationale for Requirements Relationships
      7. 13.7. Depicting Requirements and Their Relationships in Tables
      8. 13.8. Modeling Requirement Hierarchies in Packages
      9. 13.9. Modeling a Requirement Containment Hierarchy
      10. 13.10. Modeling Requirement Derivation
      11. 13.11. Asserting That a Requirement Is Satisfied
      12. 13.12. Verifying That a Requirement Is Satisfied
      13. 13.13. Reducing Requirements Ambiguity Using the Refine Relationship
      14. 13.14. Using the General-Purpose Trace Relationship
      15. 13.15. Reusing Requirements with the Copy Relationship
      16. 13.16. Summary
      17. 13.17. Questions
    11. Chapter 14. Modeling Cross-Cutting Relationships with Allocations
      1. 14.1. Overview
      2. 14.2. Allocate Relationship
      3. 14.3. Allocation Notation
      4. 14.4. Kinds of allocation
      5. 14.5. Planning for Reuse: Specifying Definition and Usage in Allocation
      6. 14.6. Allocating Behavior to Structure Using Functional Allocation
      7. 14.7. Allocating Behavioral Flows to Structural Flows
      8. 14.8. Allocating between Independent Structural Hierarchies
      9. 14.9. Modeling Structural Flow Allocation
      10. 14.10. Allocating Deeply Nested Properties
      11. 14.11. Evaluating Allocation across a User Model
      12. 14.12. Taking Allocation to the Next Step
      13. 14.13. Summary
      14. 14.14. Questions
    12. Chapter 15. Customizing SysML for Specific Domains
      1. 15.1. Overview
      2. 15.2. The SysML Specification and Language Architecture
      3. 15.3. Defining Model Libraries to Provide Reusable Constructs
      4. 15.4. Defining Stereotypes to Extend SysML Concepts
      5. 15.5. Extending the SysML Language Using Profiles
      6. 15.6. Applying Profiles to User Models in Order to Use Stereotypes
      7. 15.7. Applying Stereotypes when Building a Model
      8. 15.8. Defining and Using Viewpoints to Generate Views of the Model
      9. 15.9. Summary
      10. 15.10. Questions
  10. Part III. Examples Of Model-Based Systems Engineering Methods
    1. Introduction
    2. Chapter 16. Water Distiller Example Using Functional Analysis
      1. 16.1. Stating the Problem—The Need for Clean Drinking Water
      2. 16.2. Defining the Model-Based Systems Engineering Approach
      3. 16.3. Organizing the Model
      4. 16.4. Establishing Requirements
      5. 16.5. Modeling Structure
      6. 16.6. Analyze Performance
      7. 16.7. Modify the Original Design
      8. 16.8. Summary
      9. 16.9. Questions
    3. Chapter 17. Residential Security System Example Using the Object-Oriented Systems Engineering Method
      1. 17.1. Method Overview
      2. 17.2. Residential Security Example Overview
      3. 17.3. Applying OOSEM to Specify and Design the Residential Security System
      4. 17.4. Summary
      5. 17.5. Questions
  11. Part IV. Transitioning To Model-Based Systems Engineering
    1. Introduction
    2. Chapter 18. Integrating SysML into a Systems Development Environment
      1. 18.1. The System Model in the Broader Development Context
      2. 18.2. Specifying an Integrated Systems Development Environment
      3. 18.3. Data Exchange Mechanisms
      4. 18.4. Data Exchange Examples based on Current and Emerging Standards
      5. 18.5. Selecting a System Modeling Tool
      6. 18.6. Summary
      7. 18.7. Questions
    3. Chapter 19. Deploying SysML in an Organization
      1. 19.1. Improvement Process
      2. 19.2. Elements of a Deployment Strategy
      3. 19.3. Summary
      4. 19.4. Questions
  12. Appendix A: SysML Reference Guide
  13. References
  14. Index