A Practical Guide to SysML book cover

A Practical Guide to SysML

The Systems Modeling Language

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.

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

,

Published: July 2008

Imprint: Morgan Kaufmann

ISBN: 978-0-12-374379-4

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
    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
    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
    12. 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
    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
    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
    16. 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
    17. 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
    18. Deploying SysML into an Organization
    18.1 Improvement Process
    18.2 Summary
    18.3 Questions

Advertisement

advert image