A Practical Guide to SysML,
Edition 3 The Systems Modeling Language
By Sanford Friedenthal, Alan Moore and Rick Steiner

Publication Date: 24 Oct 2014
Description

A Practical Guide to SysML, Third Edition, fully updated for SysML version 1.4, provides a comprehensive and practical guide for modeling systems with SysML. With their unique perspective as leading contributors to the language, Friedenthal, Moore, and Steiner provide a full description of the language along with a quick reference guide and practical examples to help you use SysML.

The book begins with guidance on the most commonly used features to help you get started quickly. Part 1 explains the benefits of a model-based approach, providing an overview of the language and how to apply SysML to model systems. Part 2 includes a comprehensive description of SysML that provides a detailed understanding that can serve as a foundation for modeling with SysML, and as a reference for practitioners. Part 3 includes methods for applying model-based systems engineering using SysML to specify and design systems, and how these methods can help manage complexity. Part 4 deals with topics related to transitioning MBSE practice into your organization, including integration of the system model with other engineering models, and strategies for adoption of MBSE.

Key Features

  • Learn how and why to deploy MBSE in your organization with an introduction to systems and model-based systems engineering
  • Use SysML to describe systems with this general overview and a detailed description of the Systems Modeling Language
  • Review practical examples of MBSE methodologies to understand their application to specifying and designing a system
  • Includes comprehensive modeling notation tables as an appendix that can be used as a standalone reference
About the author
By Sanford Friedenthal, MBSE Consultant; Alan Moore, Architecture Modeling Specialist, The MathWorks, Ltd. and Rick Steiner, Independent Consultant, San Diego, California
Table of Contents
  • Preface
  • Acknowledgments
  • About the Authors
  • Part I. Introduction
    • 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. The SysML Basic Feature Set and SysML Certification
      • 4.2. Automobile Example Overview
      • 4.3. Automobile Model
      • 4.4. Model Interchange
      • 4.5. Summary
      • 4.6. Questions
  • Part II. Language Description
    • Introduction
      • The Surveillance System Case Study
      • OCSMP Certification Coverage and SysML 1.3
    • Chapter 5. Viewing SysML Models with Diagrams
      • 5.1. Overview
      • 5.2. SysML Diagrams
      • 5.3. Diagram Notations
      • 5.4. Tabular, Matrix, and Tree Views
      • 5.5. General Purpose Model Elements
      • 5.6. View and Viewpoint
      • 5.7. Summary
      • 5.8. 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. Summary
      • 6.10. 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. Semantics of Blocks
      • 7.10. Deprecated Features
      • 7.11. Summary
      • 7.12. 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 Requirement 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. Allocate Relationship
      • 14.3. Allocation Notation
      • 14.4. Kinds of allocation
      • 14.5. Planning for Reuse: Specifying Definition and Usage in Allocation
      • 14.6. Allocating Behavior to Structure Using Functional Allocation
      • 14.7. Allocating Behavioral Flows to Structural Flows
      • 14.8. Allocating between Independent Structural Hierarchies
      • 14.9. Modeling Structural Flow Allocation
      • 14.10. Allocating Deeply Nested Properties
      • 14.11. Evaluating Allocation across a User Model
      • 14.12. Taking Allocation to the Next Step
      • 14.13. Summary
      • 14.14. Questions
    • Chapter 15. Customizing SysML for Specific Domains
      • 15.1. Overview
      • 15.2. The SysML Specification and Language Architecture
      • 15.3. Defining Model Libraries to Provide Reusable Constructs
      • 15.4. Defining Stereotypes to Extend SysML Concepts
      • 15.5. Extending the SysML Language Using Profiles
      • 15.6. Applying Profiles to User Models in Order to Use Stereotypes
      • 15.7. Applying Stereotypes when Building a Model
      • 15.8. Defining and Using Viewpoints to Generate Views of the Model
      • 15.9. Summary
      • 15.10. Questions
  • Part III. Examples Of Model-Based Systems Engineering Methods
    • Introduction
    • 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
    • Introduction
    • Chapter 18. Integrating SysML into a Systems Development Environment
      • 18.1. The System Model in the Broader Development Context
      • 18.2. Specifying an Integrated Systems Development Environment
      • 18.3. Data Exchange Mechanisms
      • 18.4. Data Exchange Examples based on Current and Emerging Standards
      • 18.5. Selecting a System Modeling Tool
      • 18.6. Summary
      • 18.7. Questions
    • Chapter 19. Deploying SysML in an Organization
      • 19.1. Improvement Process
      • 19.2. Elements of a Deployment Strategy
      • 19.3. Summary
      • 19.4. Questions
  • Appendix A: SysML Reference Guide
  • References
  • Index
Book details
ISBN: 9780128002025
Page Count: 630
Retail Price : £46.99
  • Weilkiens, Systems Engineering with SysML/UML, 9780123742742
  • Selic, Modeling and Analysis of Real-Time and Embedded Systems with UML and MARTE, 9780124166196
  • Desfray, Modeling Enterprise Architecture with TOGAF: A Practical Guide Using UML and BPMN, 9780124199842
  • Harmon, Business Process Change 2e, 9780123741523
  • Weilkens, UML 2 Certification Guide, 9780123735850
Instructor Resources
Audience

Systems Engineers and Software Engineers, Designers and Programmers. Systems Software Engineers. Academia and students studying software systems engineering.