A Practical Guide to SysML

A Practical Guide to SysML

The Systems Modeling Language

1st Edition - August 20, 2009

Write a review

  • Authors: Sanford Friedenthal, Alan Moore, Rick Steiner
  • eBook ISBN: 9780123838575

Purchase options

Purchase options
DRM-free (EPub, PDF, Mobi)
Sales tax will be calculated at check-out

Institutional Subscription

Free Global Shipping
No minimum order


A Practical Guide to SysML: The Systems Modeling Language is a comprehensive guide to SysML for systems and software engineers. It provides an advanced and practical resource for modeling systems with SysML. The source describes the modeling language and offers information about employing SysML in transitioning an organization or project to model-based systems engineering. The book also presents various examples to help readers understand the OMG Systems Modeling Professional (OCSMP) Certification Program. The text is organized into four parts. The first part provides an overview of systems engineering. It explains the model-based approach by comparing it with the document-based approach and providing the modeling principles. The overview of SYsML is also discussed. The second part of the book covers a comprehensive description of the language. It discusses the main concepts of model organization, parametrics, blocks, use cases, interactions, requirements, allocations, and profiles. The third part presents examples that illustrate how SysML supports different model-based procedures. The last part discusses how to transition and deploy SysML into an organization or project. It explains the integration of SysML into a systems development environment. Furthermore, it describes the category of data that are exchanged between a SysML tool and other types of tools, and the types of exchange mechanisms that can be used. It also covers the criteria that must be considered when selecting a SysML. Software and systems engineers, programmers, IT practitioners, experts, and non-experts will find this book useful.

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"

Table of Contents

  • Preface

    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 SysML Language Overview

             3.1 SysML Purpose and Key Features

             3.2 SysML Diagram 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

        Chapter 4 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

        Chapter 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

        Chapter 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 Interfaces Using Ports and Flows

             6.5 Modeling Block Behavior

             6.6 Modeling Classification Hierarchies Using Generalization

             6.7 Summary

             6.8 Questions

        Chapter 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

        Chapter 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

             8.12 Executing Activities

             8.13 Summary

             8.14 Questions

        Chapter 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

        Chapter 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 and Continuous States

             10.8 Summary

             10.9 Questions

        Chapter 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

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

             12.1 Overview

             12.2 Requirement Diagram

             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 Requirements 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 That 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

        Chapter 13 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

        Chapter 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

    Part III Modeling Examples

        Chapter 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 Performance

             15.8 Modifying the Original Design

             15.9 Summary

             15.10 Questions

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

             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

        Chapter 17 Integrating SysML into a Systems Development Environment

             17.1 Understanding the System Model’s Role in a Systems Development Environment

             17.2 Integrating the Systems 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

        Chapter 18 Deploying SysML into an Organization

             18.1 Improvement Process

             18.2 Summary

             18.3 Questions

    Appendix 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



Product details

  • No. of pages: 576
  • Language: English
  • Copyright: © Morgan Kaufmann 2009
  • Published: August 20, 2009
  • Imprint: Morgan Kaufmann
  • eBook ISBN: 9780123838575

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

Ratings and Reviews

Write a review

There are currently no reviews for "A Practical Guide to SysML"