COVID-19 Update: We are currently shipping orders daily. However, due to transit disruptions in some geographies, deliveries may be delayed. To provide all customers with timely access to content, we are offering 50% off Science and Technology Print & eBook bundle options. Terms & conditions.
A Practical Guide to SysML - 1st Edition - ISBN: 9780123743794

A Practical Guide to SysML

1st Edition

The Systems Modeling Language

Authors: Sanford Friedenthal Alan Moore Rick Steiner
Paperback ISBN: 9780123743794
Imprint: Morgan Kaufmann
Published Date: 24th July 2008
Page Count: 576


This product is currently not available for sale.

Secure Checkout

Personal information is secured with SSL technology.

Free Shipping

Free global shipping
No minimum order.

Table of Contents

Part I Introduction
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 Multi-Disciplinary Systems Engineering Team

1.5 Codifying Systems Engineering Practice through Standards
1.6 Summary
1.7 Questions

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

3 SysML Language Overview
3.1 SysML Purpose and Key Features
3.2 SysML Diagrams Overview
3.3 Using SysML in Support of MBSE
3.4 A Simple Example Using SysML for an Automobile Design
3.5 Summary
3.6 Questions

Part II Language Description

  1. SysML Language Architecture
    4.1 The OMG SysML Language Specification
    4.2 The Architecture of the SysML Language
    4.3 SysML Diagrams
    4.4 The Surveillance System Case Study
    4.5 Chapter Organization for Part II
    4.6 Questions

5 Organizing the Model with Packages
5.1 Overview
5.2 The Package Diagram
5.3 Defining Packages Using a Package Diagram
5.4 Organizing a Package Hierarchy
5.5 Showing Packageable Elements on a Package Diagram
5.6 Packages as Namespaces
5.7 Importing Model Elements into Packages
5.8 Showing Dependencies Between Packageable Elements
5.9 Specifying Views and Viewpoints
5.10 Summary
5.11 Questions

6 Modeling Structure with Blocks
6.1 Overview
6.2 Modeling Blocks on a Block Definition Diagram
6.3 Modeling the Structure and Characteristics of Blocks Using Properties
6.4 Modeling Block Interfaces Using Ports and Flows
6.5 Modeling Block Behavior
6.6 Modeling Classification Hierarchies Using Generalization
6.7 Summary
6.8 Questions

7 Modeling Constraints with Parametrics
7.1 Overview
7.2 Using Constraint Expressions to Represent System Constraints
7.3 Encapsulating Constraints in Constraint Blocks to Enable Reuse
7.4 Using Composition to Build Complex Constraint Blocks
7.5 Using a Parametric Diagram to Bind Parameters of Constraint Blocks
7.6 Constraining Value Properties of a Block
7.7 Capturing Values in Block Configurations
7.8 Constraining Time-Dependent Properties to Facilitate Time-Based Analysis
7.9 Using Constraint Blocks to Constrain Item Flows
7.10 Describing an Analysis Context
7.11 Modeling Evaluation of Alternatives and Trade Studies
7.12 Summary
7.13 Questions

8 Modeling Flow-Based Behavior with Activities
8.1 Overview
8.2 The Activity Diagram
8.3 Actions—The Foundation of Activities
8.4 The Basics of Modeling Activities
8.5 Using Object Flows to Describe the Flow of Items Between Actions
8.6 Using Control Flows to Specify the Order of Action Execution
8.7 Handling Signals and Other Events
8.8 Advanced Activity Modeling
8.9 Relating Activities to Blocks and Other Behaviors
8.10 Modeling Activity Hierarchies using Block Definition Diagrams
8.11 Enhanced Functional Flow Block Diagram (EFFBD)
8.12 Executing Activities
8.13 Summary
8.14 Questions

9 Modeling Message-Based Behavior with Interactions
9.1. Overview
9.2. The Sequence Diagram
9.3. The Context for Interactions
9.4. Using Lifelines to Represent Participants in an Interaction
9.5. Exchanging Messages Between Lifelines
9.6. Representing Time on a Sequence Diagram
9.7. Describing Complex Scenarios Using Combined Fragments
9.8. Using Interaction References to Structure Complex Interactions
9.9. Decomposing Lifelines to Represent Internal Behavior
9.10. Summary
9.11. Questions

10 Modeling Event-Based Behavior with State Machines
10.1 Overview
10.2 State Machine Diagram
10.3 Specifying States in a State Machine
10.4 Transitioning Between States
10.5 State Machines and Operation Calls
10.6 State Hierarchies
10.7 Contrasting Discrete versus Continuous States
10.8 Summary
10.9 Questions

11 Modeling Functionality with Use Cases
11.1 Overview
11.2 Use Case Diagram
11.3 Using Actors to Represent the Users of a System
11.4 Using Use Cases to Describe System Functionality
11.5 Elaborating Use Cases with Behaviors
11.6 Summary
11.7 Questions

  1. Modeling Text-Based Requirements and Their Relationship to Design
    12.1 Overview
    12.2 Requirement Diagrams
    12.3 Representing a Text Requirement in the Model
    12.4 Types of Requirements Relationships
    12.5 Representing Cross-Cutting Relationships in SysML Diagrams
    12.6 Depicting Rationale for Requirement Relationships
    12.7 Depicting Requirements and Their Relationships in Tables
    12.8 Modeling Requirement Hierarchies in Packages
    12.9 Modeling a Requirements Containment Hierarchy
    12.10 Modeling Requirement Derivation
    12.11 Asserting a Requirement Is Satisfied
    12.12 Verifying that a Requirement Is Satisfied
    12.13 Reducing Requirements Ambiguity Using the Refine Relationship
    12.14 Using the General-Purpose Trace Relationship
    12.15 Summary
    12.16 Questions

  2. Modeling Cross-Cutting Relationships with Allocations
    13.1 Overview
    13.2 Allocation Relationship
    13.3 Allocation Notation
    13.4 Types of Allocation
    13.5 Planning for Reuse: Specifying Definition and Usage in Allocation
    13.6 Allocating Behavior to Structure Using Functional Allocation
    13.7 Connecting Functional Flow with Structural Flow Using Functional Flow Allocation
    13.8 Modeling Allocation Between Independent Structural Hierarchies
    13.9 Modeling Structural Flow Allocation
    13.10 Evaluating Allocation Across a User Model
    13.11 Taking Allocation to the Next Step
    13.12 Summary
    13.13 Questions

14 Customizing SysML for Specific Domains
14.1 Overview
14.2 Defining Model Libraries to Provide Reusable Constructs
14.3 Defining Stereotypes to Extend Existing SysML Concepts
14.4 Extending the SysML Language Using Profiles
14.5 Applying Profiles to User Models in Order to Use Stereotypes
14.6 Applying Stereotypes When Building a Model
14.7 Summary
14.8 Questions

PartIII Modeling Examples
15 Water Distiller Example Using Functional Analysis
15.1 Stating the Problem
15.2 Defining the Model-Based Systems Engineering Approach
15.3 Organizing the Model
15.4 Establishing Requirements
15.5 Modeling Behavior
15.6 Modeling Structure
15.7 Analyzing Peformance
15.8 Modifying the Original Design
15.9 Summary
15.10 Questions

  1. Residential Security System Example Using the Object-Oriented Systems Engineering Method (OOSEM)
    16.1 Method Overview
    16.2 Residential Security Example Overview and Project Setup
    16.3 Applying the Method to Specify and Design the System
    16.4 Summary
    16.5 Questions

Part IV Transitioning to Model-Based Systems Engineering

  1. Integrating SysML into a Systems Development Environment
    17.1 Understanding System Model’s Role in a Systems Development Environment
    17.2 Integrating the System Modeling Tool with Other Tools
    17.3 Data Exchange Mechanisms in an Integrated Systems Development Environment
    17.4 Selecting a System Modeling Tool
    17.5 Summary
    17.6 Questions

  2. Deploying SysML into an Organization
    18.1 Improvement Process
    18.2 Summary
    18.3 Questions


Systems engineers must understand how all the parts of a digital system work together, including hardware AND software. SysML is the first design language to cover both hardware and software, allowing engineers to consider how all the parts of a system will successfully interact, from the very beginning of a project. This can prevent huge problems and delays down the line. Therefore, SysML use is becoming a widespread phenomenon, and many companies, especially in the defense, automotive, aerospace, medical device and telecommunications industries, are already using SysML, or are planning to switch over in the near future.

Until now, little consolidated information has been available on the market regarding SysML. However, this book changes all that! It provides the hundreds of thousands of new users with a comprehensive guide to SysML, including a full description of the language itself, detailed instructions on how to implement it, exercises to help readers gain practical experience working with SysML, and extensive, real-world examples of actual successful projects, demonstrating all the benefits SysML can provide.

Key Features

The authoritative guide for understanding and applying SysML Authored by the foremost experts on the language *Language description, examples, and quick reference guide included


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


No. of pages:
© Morgan Kaufmann 2008
24th July 2008
Morgan Kaufmann
Paperback ISBN:

About the Authors

Sanford Friedenthal

Sanford Friedenthal is an MBSE Consultant. He has been an advocate for model-based systems engineering and a leader of the industry team that developed SysML from its inception through its adoption by the OMG.

Affiliations and Expertise

MBSE Consultant

Alan Moore

Alan Moore is an Architecture Modeling Specialist at The MathWorks. He has extensive experience in the development of real-time and object-oriented methodologies and their application. Alan was co-chair of the OMG's Real-time Analysis and Design Working Group and served as the language architect during the development of SysML.

Affiliations and Expertise

Architecture Modeling Specialist, The MathWorks, Ltd.

Rick Steiner

Rick Steiner is an independent consultant focusing on pragmatic application of systems engineering modeling techniques. He culminated his 29 year career at Raytheon as an Engineering Fellow, Raytheon Certified Architect and INCOSE Expert Systems Engineering Professional (ESEP).

Mr. Steiner has been an advocate, consultant, and instructor of model driven systems development for over 20 years. He has served as chief engineer, architect, or lead system modeler for several large scale electronics programs, incorporating the practical application of the OOSEM methodology and generation of Department of Defense Architecture Framework (DoDAF) artifacts from complex system models.

Mr. Steiner has been a key contributor to both the original requirements for SysML and the development of SysML specification. While his main technical contribution has been in the area of allocations, requirements, and the sample problem, Mr. Steiner has also served as co-chair of the SysML Revision Task Force (RTF). He continues to provide frequent tutorials and workshops on SysML and model driven engineering topics at INCOSE events, NDIA conferences, and other corporate engagements.

Affiliations and Expertise

Independent Consultant, San Diego, California