A Practical Guide to SysML book cover

A Practical Guide to SysML

The Systems Modeling Language

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.

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


Published: October 2011

Imprint: Morgan Kaufmann

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


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




advert image