Book description
Systems engineers and architects must understand how all the parts of a system work together to satisfy its requirements. SysML is a general purpose graphical modeling language used to specify, analyze, and design systems that may include hardware, software, and personnel. It allows engineers to describe how a system interacts with its environment, and how its parts must interact to achieve the desired system behavior and performance. The SysML model provides a shared view of the system, enabling a design team to surface issues early and prevent problems that would otherwise delay development and degrade design quality. Since SysML is based on UML, it also facilitates integration between systems and software development. SysML is now being adopted by companies across a broad range of industry, including Aerospace and Defense, Automotive, and IT System Developers. This book provides a comprehensive and practical guide for modeling systems with SysML. It includes a full description of the language along with a quick reference guide, and shows how the language can be applied to specify, analyze, and design systems. It contains examples to help readers understand how SysML can be used in practice. The book also includes guidance on how an organization or project can transition to model based systems engineering using SysML, with considerations for processes, methods, tools, and training.
Table of contents
- Copyright
- Morgan Kaufmann OMG Press
- Preface
- About the Authors
-
I. Introduction
- 1. Systems Engineering Overview
-
2. Model-Based Systems Engineering
- 2.1. Contrasting the Document-Based and Model-Based Approach
-
2.2. Modeling Principles
- 2.2.1. Model and MBSE Method Definition
- 2.2.2. The Purpose for Modeling a System
-
2.2.3. Establishing Criteria to Meet the Model Purpose
- Is the model’s scope sufficient to meet its purpose?
- Is the model complete relative to its scope?
- Is the model well formed such that model constraints are adhered to?
- Is the model consistent?
- Is the model understandable?
- Are modeling conventions documented and used consistently?
- Is the model self-documenting in terms of providing sufficient supporting information?
- Does the model integrate with other models?
- 2.2.4. Model-Based Metrics
- 2.2.5. Other Model-Based Metrics
- 2.3. Summary
- 2.4. Questions
-
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.4.1. Example Background and Scope
- 3.4.2. Problem Summary
- 3.4.3. Capturing the Automobile Specification in a Requirement Diagram
- 3.4.4. Defining the Vehicle and Its External Environment Using a Block Definition Diagram
- 3.4.5. Use Case Diagram for Operate Vehicle
- 3.4.6. Representing Drive Vehicle Behavior with a Sequence Diagram
- 3.4.7. Referenced Sequence Diagram to Start Vehicle
- 3.4.8. Control Power Activity Diagram
- 3.4.9. State Machine Diagram for Drive Vehicle States
- 3.4.10. Vehicle Context Using an Internal Block Diagram
- 3.4.11. Vehicle Hierarchy Represented on a Block Definition Diagram
- 3.4.12. Activity Diagram for Provide Power
- 3.4.13. Internal Block Diagram for the Power Subsystem
- 3.4.14. Defining the Equations to Analyze Vehicle Performance
- 3.4.15. Analyzing Vehicle Acceleration Using the Parametric Diagram
- 3.4.16. Analysis Results from Analyzing Vehicle Acceleration
- 3.4.17. Using the Vehicle Controller to Optimize Engine Performance
- 3.4.18. Specifying the Vehicle and Its Components
- 3.4.19. Requirements Traceability
- 3.4.20. Package Diagram for Organizing the Model
- 3.4.21. Model Interchange
- 3.5. Summary
- 3.6. Questions
-
II. Language Description
- 4. SysML Language Architecture
-
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 Interfaces Using Ports and Flows
- 6.5. Modeling Block Behavior
-
6.6. Modeling Classification Hierarchies Using Generalization
- 6.6.1. Classification and the Structural Features of a Block
- 6.6.2. Modeling Overlapping Classifications Using Generalization Sets
- 6.6.3. Modeling Variants Using Classification
- 6.6.4. Using Property-Specific Types to Model Context-Specific Block Characteristics
- 6.6.5. Modeling Block Configurations as Specialized Blocks
- 6.6.6. Classification and Behavioral Features
- 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
- 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
-
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
-
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
-
III. Modeling Examples
- 15. Water Distiller Example Using Functional Analysis
-
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.3.1. Analyze Stakeholder Needs
- 16.3.2. Analyze System Requirements
- 16.3.3. Define Logical Architecture
- 16.3.4. Synthesize Candidate Physical Architectures
- 16.3.5. Optimize and Evaluate Alternatives
- 16.3.6. Manage Requirements Traceability
- 16.3.7. Integrate and Verify System
- 16.3.8. Develop Enabling Systems
- 16.4. Summary
- 16.5. Questions
-
IV. Transitioning to Model-Based Systems Engineering
-
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.2.1. Classes of Tools in a Systems Development Environment
- 17.2.2. An Interconnected Set of Tools
- 17.2.3. Interface with Requirements Management Tool
- 17.2.4. Interface with Performance Analysis and Other Engineering Analysis Tools
- 17.2.5. Interface with Documentation Generation Tool
- 17.2.6. Interface with Configuration Management Tool
- 17.2.7. Interface with Project Management Tool
- 17.2.8. Interface with Verification Tool
- 17.2.9. Interface with Development Tool
- 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
-
17. Integrating SysML into a Systems Development Environment
- SysML Reference Guide
- References
Product information
- Title: A Practical Guide to SysML: The Systems Modeling Language
- Author(s):
- Release date: July 2008
- Publisher(s): Morgan Kaufmann
- ISBN: 9780123743794
You might also like
book
A Practical Guide to SysML, 2nd Edition
A Practical Guide to SysML: The Systems Modeling Language is a comprehensive guide for understanding and …
book
Modeling and Simulation-Based Systems Engineering Handbook
The capability modeling and simulation (M&S) supplies for managing systems complexity and investigating systems behaviors has …
book
A Practical Guide to SysML, 3rd Edition
A Practical Guide to SysML, Third Edition, fully updated for SysML version 1.4, provides a comprehensive …
book
Unified Modeling Language Reference Manual, The, Second Edition
“If you are a serious user of UML, there is no other book quite like this …