A Practical Guide to SysML
The Systems Modeling Language
- 3rd Edition - October 23, 2014
- Authors: Sanford Friedenthal, Alan Moore, Rick Steiner
- Language: English
- Paperback ISBN:9 7 8 - 0 - 1 2 - 8 0 0 2 0 2 - 5
- eBook ISBN:9 7 8 - 0 - 1 2 - 8 0 0 8 0 0 - 3
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 pe… Read more
Purchase options
Institutional subscription on ScienceDirect
Request a sales quoteA 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.
- 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
Systems Engineers and Software Engineers, Designers and Programmers. Systems Software Engineers. Academia and students studying software systems engineering.
- Cover image
- Title page
- Table of Contents
- Copyright
- 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
- No. of pages: 630
- Language: English
- Edition: 3
- Published: October 23, 2014
- Imprint: Morgan Kaufmann
- Paperback ISBN: 9780128002025
- eBook ISBN: 9780128008003
SF
Sanford Friedenthal
AM
Alan Moore
RS
Rick Steiner
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.