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

Product information

  • Title: A Practical Guide to SysML, 2nd Edition
  • Author(s): Sanford Friedenthal, Alan Moore, Rick Steiner
  • Release date: November 2011
  • Publisher(s): Morgan Kaufmann
  • ISBN: 9780123852076