A Practical Guide to SysML

The Systems Modeling Language


  • Sanford Friedenthal, MBSE Consultant
  • Alan Moore, Architecture Modeling Specialist, The MathWorks, Ltd.
  • Rick Steiner, Independent Consultant, San Diego, California

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.
View full description


Systems Engineers and Software Engineers, Designers and Programmers. Particularly the intersection between these two groups, often termed "Systems Software Engineers"


Book information

  • Published: October 2011
  • ISBN: 978-0-12-385206-9


"SysML is the new industry-standard language designed specifically to support modern systems engineering. I cannot imagine a better way to learn SysML than to read about it from the masters: Friedenthal, Moore, and Steiner led the design of this important new language and now cap that effort with this comprehensive and highly readable guide for both novices and experts."

-Bran Selic, Malina Software Corporation

"This book is just the ticket you need to get started on the road to adopting standards-based, model-based systems engineering (MBSE) methods. The authors have done an outstanding job in providing detailed coverage of the SysML language and semantics supported through worked examples."

-Jeff Estefan, Principal Engineer, NASA's Jet Propulsion Laboratory

"The authors of this book have been invovlded in SysML development since its inception, and have the understanding necessary to explain it clearly. In particular, the activity diagrams chapter accurately and concisely describes the SysML extensions to UML for functional flow modeling."

-Conrad Bock, OMG Lead for Activity Modeling in SysML

Table of Contents



About the Authors

Part I Introduction

Chapter 1 Systems Engineering Overview

1.1 Motivation for Systems Engineering

1.2 The Systems Engineering Process

1.3 Typical Application of the Systems Engineering Process

1.4 Multidisciplinary Systems Engineering Team

1.5 Codifying Systems Engineering Practice through Standards

1.6 Summary

1.7 Questions

Chapter 2 Model-Based Systems Engineering

2.1 Contrasting the Document-Based and Model-Based Approach

2.2 Modeling Principles

2.3 Summary

2.4 Questions

Chapter 3 Getting Started with SysML

3.1 SysML Purpose and Key Features

3.2 SysML Diagram Overview

3.3 Introducing SysML-Lite

3.4 A Simplified MBSE Method

3.5 The Learning Curve for SysML and MBSE

3.6 Summary

3.7 Questions

Chapter 4 An Automobile Example Using the SysML Basic Feature Set

4.1 SysML Basic Feature Set

4.2 Automobile Example Overview

4.3 Automobile Model

4.4 Model Interchange

4.5 Summary

4.6 Questions

Part II Language Description

Chapter 5 SysML Language Architecture

5.1 The OMG SysML Language Specification

5.2 The Architecture of the SysML Language

5.3 SysML Diagrams

5.4 The Surveillance System Case Study

5.5 Organization of Part II

5.6 Questions

Chapter 6 Organizing the Model with Packages

6.1 Overview

6.2 The Package Diagram

6.3 Defining Packages Using a Package Diagram

6.4 Organizing a Package Hierarchy

6.5 Showing Packageable Elements on a Package Diagram

6.6 Packages as Namespaces

6.7 Importing Model Elements into Packages

6.8 Showing Dependencies between Packageable Elements

6.9 Specifying Views and Viewpoints

6.10 Summary

6.11 Questions

Chapter 7 Modeling Structure with Blocks

7.1 Overview

7.2 Modeling Blocks on a Block Definition Diagram

7.3 Modeling the Structure and Characteristics of Blocks Using Properties

7.4 Modeling Flows

7.5 Modeling Block Behavior

7.6 Modeling Interfaces Using Ports

7.7 Modeling Classification Hierarchies Using Generalization

7.8 Modeling Block Configurations Using Instances

7.9 Deprecated Features

7.10 Summary

7.11 Questions

Chapter 8 Modeling Constraints with Parametrics

8.1 Overview

8.2 Using Constraint Expressions to Represent System Constraints

8.3 Encapsulating Constraints in Constraint Blocks to Enable Reuse

8.4 Using Composition to Build Complex Constraint Blocks

8.5 Using a Parametric Diagram to Bind Parameters of Constraint Blocks

8.6 Constraining Value Properties of a Block

8.7 Capturing Values in Block Configurations

8.8 Constraining Time-Dependent Properties to Facilitate Time-Based Analysis

8.9 Using Constraint Blocks to Constrain Item Flows

8.10 Describing an Analysis Context

8.11 Modeling Evaluation of Alternatives and Trade Studies

8.12 Summary

8.13 Questions

Chapter 9 Modeling Flow-Based Behavior with Activities

9.1 Overview

9.2 The Activity Diagram

9.3 Actions-The Foundation of Activities

9.4 The Basics of Modeling Activities

9.5 Using Object Flows to Describe the Flow of Items between Actions

9.6 Using Control Flows to Specify the Order of Action Execution

9.7 Handling Signals and Other Events

9.8 Structuring Activities

9.9 Advanced Flow Modeling

9.10 Modeling Constraints on Activity Execution

9.11 Relating Activities to Blocks and Other Behaviors

9.12 Modeling Activity Hierarchies Using Block Definition Diagrams

9.13 Enhanced Functional Flow Block Diagram

9.14 Executing Activities

9.15 Summary

9.16 Questions

Chapter 10 Modeling Message-Based Behavior with Interactions

10.1 Overview

10.2 The Sequence Diagram

10.3 The Context for Interactions

10.4 Using Lifelines to Represent Participants in an Interaction

10.5 Exchanging Messages between Lifelines

10.6 Representing Time on a Sequence Diagram

10.7 Describing Complex Scenarios Using Combined Fragments

10.8 Using Interaction References to Structure Complex Interactions

10.9 Decomposing Lifelines to Represent Internal Behavior

10.10 Summary

10.11 Questions

Chapter 11 Modeling Event-Based Behavior with State Machines

11.1 Overview

11.2 State Machine Diagram

11.3 Specifying States in a State Machine

11.4 Transitioning between States

11.5 State Machines and Operation Calls

11.6 State Hierarchies

11.7 Contrasting Discrete and Continuous States

11.8 Summary

11.9 Questions

Chapter 12 Modeling Functionality with Use Cases

12.1 Overview

12.2 Use Case Diagram

12.3 Using Actors to Represent the Users of a System

12.4 Using Use Cases to Describe System Functionality

12.5 Elaborating Use Cases with Behaviors

12.6 Summary

12.7 Questions

Chapter 13 Modeling Text-Based Requirements and Their Relationship to Design

13.1 Overview

13.2 Requirement Diagram

13.3 Representing a Text Requirement in the Model

13.4 Types of Requirements Relationships

13.5 Representing Cross-Cutting Relationships in SysML Diagrams

13.6 Depicting Rationale for Requirements Relationships

13.7 Depicting Requirements and Their Relationships in Tables

13.8 Modeling Requirement Hierarchies in Packages

13.9 Modeling a Requirements Containment Hierarchy

13.10 Modeling Requirement Derivation

13.11 Asserting That a Requirement is Satisfied

13.12 Verifying That a Requirement is Satisfied

13.13 Reducing Requirements Ambiguity Using the Refine Relationship

13.14 Using the General-Purpose Trace Relationship

13.15 Reusing Requirements with the Copy Relationship

13.16 Summary

13.17 Questions

Chapter 14 Modeling Cross-Cutting Relationships with Allocations

14.1 Overview

14.2 Allocation Relationship

14.3 Allocation Notation

14.4 Types of Allocation

14.5 Planning for Reuse: Specifying Definition and Usage in Allocation

14.6 Allocating Behavior to Structure Using Functional Allocation

14.7 Connecting Functional Flow with Structural Flow Using Functional Flow Allocation

14.8 Modeling Allocation between Independent Structural Hierarchies

14.9 Modeling Structural Flow Allocation

14.10 Evaluating Allocation across a User Model

14.11 Taking Allocation to the Next Step

14.12 Summary

14.13 Questions

Chapter 15 Customizing SysML for Specific Domains

15.1 Overview

15.2 Defining Model Libraries to Provide Reusable Constructs

15.3 Defining Stereotypes to Extend Existing SysML Concepts

15.4 Extending the SysML Language Using Profiles

15.5 Applying Profiles to User Models in Order to Use Stereotypes

15.6 Applying Stereotypes when Building a Model

15.7 Summary

15.8 Questions

Part III Modeling Examples

Chapter 16 Water Distiller Example Using Functional Analysis

16.1 Stating the Problem - The Need for Clean Drinking Water

16.2 Defining the Model-Based Systems Engineering Approach

16.3 Organizing the Model

16.4 Establishing Requirements

16.5 Modeling Structure

16.6 Analyze Performance

16.7 Modify the Original Design

16.8 Summary

16.9 Questions

Chapter 17 Residential Security System Example Using the Object-Oriented Systems Engineering Method

17.1 Method Overview

17.2 Residential Security Example Overview

17.3 Applying OOSEM to Specify and Design the Residential Security System

17.4 Summary

17.5 Questions

Part IV Transitioning to Model-Based Systems Engineering

Chapter 18 Integrating SysML into a Systems Development Environment

18.1 Understanding the System Model’s Role in the Broader Modeling Context

18.2 Tool Roles in a Systems Development Environment

18.3 An Overview of Information Flow between Tools

18.4 Data Exchange Mechanisms

18.5 Data Exchange Applications

18.6 Selecting a System Modeling Tool

18.7 Summary

18.8 Questions

Chapter 19 Deploying SysML into an Organization

19.1 Improvement Process

19.2 Summary

19.3 Questions

Appendix A