A Practical Guide to SysML - 2nd Edition - ISBN: 9780123852069, 9780123852076

A Practical Guide to SysML

2nd Edition

The Systems Modeling Language

Authors: Sanford Friedenthal Alan Moore Rick Steiner
eBook ISBN: 9780123852076
Paperback ISBN: 9780123852069
Imprint: Morgan Kaufmann
Published Date: 17th October 2011
Page Count: 640
Tax/VAT will be calculated at check-out
File Compatibility per Device

PDF, EPUB, VSB (Vital Source):
PC, Apple Mac, iPhone, iPad, Android mobile devices.

Amazon Kindle eReader.

Institutional Access

Table of Contents

  • Preface
    • Book Organization
    • Uses of this Book
    • How to Read This Book
    • Changes from Previous Edition
  • Acknowledgments
  • About the Authors
  • Part I: Introduction
    • Chapter 1. Systems Engineering Overview
      • Publisher Summary
      • 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
    • Chapter 2. Model-Based Systems Engineering
      • Publisher Summary
      • 2.1 Contrasting the Document-Based and Model-Based Approach
      • 2.2 Modeling Principles
      • 2.3 Summary
    • Chapter 3. Getting Started with SysML
      • Publisher Summary
      • 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
    • Chapter 4. An Automobile Example Using the SysML Basic Feature Set
      • Publisher Summary
      • 4.1 SysML Basic Feature Set
      • 4.2 Automobile Example Overview
      • 4.3 Automobile Model
      • 4.4 Model Interchange
      • 4.5 Summary
  • Part II: Language Description
    • Chapter 5. SysML Language Architecture
      • Publisher Summary
      • 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
    • Chapter 6. Organizing the Model with Packages
      • Publisher Summary
      • 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
    • Chapter 7. Modeling Structure with Blocks
      • Publisher Summary
      • 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
    • Chapter 8. Modeling Constraints with Parametrics
      • Publisher Summary
      • 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
    • Chapter 9. Modeling Flow-Based Behavior with Activities
      • Publisher Summary
      • 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
    • Chapter 10. Modeling Message-Based Behavior with Interactions
      • Publisher Summary
      • 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
    • Chapter 11. Modeling Event-Based Behavior with State Machines
      • Publisher Summary
      • 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
    • Chapter 12. Modeling Functionality with Use Cases
      • Publisher Summary
      • 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
    • Chapter 13. Modeling Text-Based Requirements and Their Relationship to Design
      • Publisher Summary
      • 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
    • Chapter 14. Modeling Cross-Cutting Relationships with Allocations
      • Publisher Summary
      • 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
    • Chapter 15. Customizing SysML for Specific Domains
      • Publisher Summary
      • 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
  • Part III: Modeling Examples
    • Chapter 16. Water Distiller Example Using Functional Analysis
      • Publisher Summary
      • 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
    • Chapter 17. Residential Security System Example Using the Object-Oriented Systems Engineering Method
      • Publisher Summary
      • 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
  • Part IV: Transitioning to Model-Based Systems Engineering
    • Chapter 18. Integrating SysML into a Systems Development Environment
      • Publisher Summary
      • 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
    • Chapter 19. Deploying SysML into an Organization
      • Publisher Summary
      • 19.1 Improvement Process
      • 19.2 Summary
  • Appendix A. SysML Reference Guide
    • A.1 Overview
    • A.2 Notational Conventions
    • A.3 Package Diagram
    • A.4 Block Definition Diagram
    • A.5 Internal Block Diagram
    • A.6 Parametric Diagram
    • A.7 Activity Diagram
    • A.8 Sequence Diagram
    • A.9 State Machine Diagram
    • A.10 Use Case Diagram
    • A.11 Requirement Diagram
    • A.12 Allocation
    • A.13 Stereotypes
  • References
  • Index


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.

Key Features

  • 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)


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 2012
Morgan Kaufmann
eBook ISBN:
Paperback ISBN:


"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

About the Authors

Sanford Friedenthal Author

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 Author

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 Author

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