Limit search to available items
Book Cover
E-book
Author Friedenthal, Sanford.

Title A practical guide to SysML : the systems modeling language / Sanford Friedenthal, Alan Moore, Rick Steiner
Edition 2nd ed
Published Waltham, MA : Morgan Kaufmann, ©2012

Copies

Description 1 online resource (xxiii, 615 pages) : illustrations
Series The MK/OMG Press
MK/OMG Press
Contents Machine generated contents note: ch. 1 Systems Engineering Overview -- 1.1. Motivation for Systems Engineering -- 1.2. 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 -- ch. 2 Model-Based Systems Engineering -- 2.1. Contrasting the Document-Based and Model-Based Approach -- 2.1.1. Document-Based Systems Engineering Approach -- 2.1.2. Model-Based Systems Engineering Approach -- 2.2. Modeling Principles -- 2.2.1. Model and MBSE Method Definition -- 2.2.2. Purpose for Modeling a System -- 2.2.3. Establishing Criteria to Meet the Model Purpose -- 2.2.4. Model-Based Metrics -- 2.2.5. Other Model-Based Metrics -- 2.3. Summary -- 2.4. Questions -- ch. 3 Getting Started with SysML -- 3.1. SysML Purpose and Key Features -- 3.2. SysML Diagram Overview -- 3.3. Introducing SysML-Lite -- 3.3.1. SysML-Lite Diagrams and Language Features -- 3.3.2. SysML-Lite Air Compressor Example -- 3.3.3. SysML Modeling Tool Tips -- 3.4. Simplified MBSE Method -- 3.5. Learning Curve for SysML and MBSE -- 3.6. Summary -- 3.7. Questions -- ch. 4 Automobile Example Using the SysML Basic Feature Set -- 4.1. SysML Basic Feature Set -- 4.2. Automobile Example Overview -- 4.2.1. Problem Summary -- 4.3. Automobile Model -- 4.3.1. Package Diagram for Organizing the Model -- 4.3.2. Capturing the Automobile Specification in a Requirement Diagram -- 4.3.3. Defining the Vehicle and Its External Environment Using a Block Definition Diagram -- 4.3.4. Use Case Diagram for Operate Vehicle -- 4.3.5. Representing Drive Vehicle Behavior with a Sequence Diagram -- 4.3.6. Referenced Sequence Diagram to Turn On Vehicle -- 4.3.7. Control Power Activity Diagram -- 4.3.8. State Machine Diagram for Drive Vehicle States -- 4.3.9. Vehicle Context Using an Internal Block Diagram -- 4.3.10. Vehicle Hierarchy Represented on a Block Definition Diagram -- 4.3.11. Activity Diagram for Provide Power -- 4.3.12. Internal Block Diagram for the Power Subsystem -- 4.3.13. Defining the Equations to Analyze Vehicle Performance -- 4.3.14. Analyzing Vehicle Acceleration Using the Parametric Diagram -- 4.3.15. Analysis Results from Analyzing Vehicle Acceleration -- 4.3.16. Defining the Vehicle Controller Actions to Optimize Engine Performance -- 4.3.17. Specifying the Vehicle and Its Components -- 4.3.18. Requirements Traceability -- 4.3.19. View and Viewpoint -- 4.4. Model Interchange -- 4.5. Summary -- 4.6. Questions -- ch. 5 SysML Language Architecture -- 5.1. OMG SysML Language Specification -- 5.2. Architecture of the SysML Language -- 5.2.1. General-Purpose Systems Modeling Domain -- 5.2.2. Modeling Language (or Metamodel) -- 5.2.3. System Model (or User Model) -- 5.2.4. Model Interchange -- 5.3. SysML Diagrams -- 5.3.1. Diagram Frames -- 5.3.2. Diagram Header -- 5.3.3. Diagram Description -- 5.3.4. Diagram Content -- 5.3.5. Additional Notations -- 5.4. Surveillance System Case Study -- 5.4.1. Case Study Overview -- 5.4.2. Modeling Conventions -- 5.5. Organization of Part II -- 5.5.1. OCSMP Certification Coverage and SysML 1.3 -- 5.6. Questions -- ch. 6 Organizing the Model with Packages -- 6.1. Overview -- 6.2. 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 -- ch. 7 Modeling Structure with Blocks -- 7.1. Overview -- 7.1.1. Block Definition Diagram -- 7.1.2. Internal Block Diagram -- 7.2. Modeling Blocks on a Block Definition Diagram -- 7.3. Modeling the Structure and Characteristics of Blocks Using Properties -- 7.3.1. Modeling Block Composition Hierarchies Using Part Properties -- 7.3.2. Modeling Relationships between Blocks Using Reference Properties -- 7.3.3. Using Associations to Type Connectors between Parts -- 7.3.4. Modeling Quantifiable Characteristics of Blocks Using Value Properties -- 7.4. Modeling Flows -- 7.4.1. Modeling Items That Flow -- 7.4.2. Flow Properties -- 7.4.3. Modeling Flows between Parts on an Internal Block Diagram -- 7.5. Modeling Block Behavior -- 7.5.1. Modeling the Main Behavior of a Block -- 7.5.2. Specifying the Behavioral Features of Blocks -- 7.5.3. Modeling Block-Defined Methods -- 7.5.4. Routing Requests Across Connectors -- 7.6. Modeling Interfaces Using Ports -- 7.6.1. Full Ports -- 7.6.2. Proxy Ports -- 7.6.3. Connecting Ports -- 7.6.4. Modeling Flows between Ports -- 7.6.5. Using Interfaces with Ports -- 7.7. Modeling Classification Hierarchies Using Generalization -- 7.7.1. Classification and the Structural Features of a Block -- 7.7.2. Classification and Behavioral Features -- 7.7.3. Modeling Overlapping Classifications Using Generalization Sets -- 7.7.4. Modeling Variants Using Classification -- 7.7.5. Using Property-Specific Types to Model Context-Specific Block Characteristics -- 7.7.6. Modeling Block Configurations as Specialized Blocks -- 7.8. Modeling Block Configurations Using Instances -- 7.9. Deprecated Features -- 7.9.1. Flow Ports -- 7.10. Summary -- 7.11. Questions -- ch. 8 Modeling Constraints with Parametrics -- 8.1. Overview -- 8.1.1. Defining Constraints Using the Block Definition Diagram -- 8.1.2. Parametric Diagram -- 8.2. Using Constraint Expressions to Represent System Constraints -- 8.3. Encapsulating Constraints in Constraint Blocks to Enable Reuse -- 8.3.1. Additional Parameter Characteristics -- 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 -- ch. 9 Modeling Flow-Based Behavior with Activities -- 9.1. Overview -- 9.2. Activity Diagram -- 9.3. Actions-The Foundation of Activities -- 9.4. Basics of Modeling Activities -- 9.4.1. Specifying Input and Output Parameters for an Activity -- 9.4.2. Composing Activities Using Call Behavior Actions -- 9.5. Using Object Flows to Describe the Flow of Items between Actions -- 9.5.1. Routing Object Flows -- 9.5.2. Routing Object Flows from Parameter Sets -- 9.5.3. Buffers and Data Stores -- 9.6. Using Control Flows to Specify the Order of Action Execution -- 9.6.1. Depicting Control Logic with Control Nodes -- 9.6.2. Using Control Operators to Enable and Disable Actions -- 9.7. Handling Signals and Other Events -- 9.8. Structuring Activities -- 9.8.1. Interruptible Regions -- 9.8.2. Using Structured Activity Nodes -- 9.9. Advanced Flow Modeling -- 9.9.1. Modeling Flow Rates -- 9.9.2. Modeling Flow Order -- 9.9.3. Modeling Probabilistic Flow -- 9.10. Modeling Constraints on Activity Execution -- 9.10.1. Modeling Pre- and Post-conditions and Input and Output States -- 9.10.2. Adding Timing Constraints to Actions -- 9.11. Relating Activities to Blocks and Other Behaviors -- 9.11.1. Linking Behavior to Structure Using Partitions -- 9.11.2. Specifying an Activity in a Block Context -- 9.11.3. Relationship between Activities and Other Behaviors -- 9.12. Modeling Activity Hierarchies Using Block Definition Diagrams -- 9.12.1. Modeling Activity Invocation Using Composite Associations -- 9.12.2. Modeling Parameter and Other Object Nodes Using Associations -- 9.12.3. Adding Parametric Constraints to Activities -- 9.13. Enhanced Functional Flow Block Diagram -- 9.14. Executing Activities -- 9.14.1. Foundational UML Subset (fUML) -- 9.14.2. Action Language for Foundational UML (Alf) -- 9.14.3. Primitive Actions -- 9.14.4. Executing Continuous Activities -- 9.15. Summary -- 9.16. Questions -- ch. 10 Modeling Message-Based Behavior with Interactions -- 10.1. Overview -- 10.2. Sequence Diagram -- 10.3. Context for Interactions -- 10.4. Using Lifelines to Represent Participants in an Interaction -- 10.4.1. Occurrence Specifications -- 10.5. Exchanging Messages between Lifelines -- 10.5.1. Synchronous and Asynchronous Messages -- 10.5.2. Lost and Found Messages -- 10.5.3. Weak Sequencing -- 10.5.4. Executions -- 10.5.5. Lifeline Creation and Destruction -- 10.6. Representing Time on a Sequence Diagram -- 10.7. Describing Complex Scenarios Using Combined Fragments -- 10.7.1. Basic Interaction Operators -- 10.7.2. Additional Interaction Operators -- 10.7.3. State Invariants -- 10.8. Using Interaction References to Structure Complex Interactions -- 10.9. Decomposing Lifelines to Represent Internal Behavior -- 10.10. Summary -- 10.11. Questions -- ch. 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.3.1. Region -- 11.3.2. State -- 11.4. Transitioning between States -- 11.4.1. Transition Fundamentals -- 11.4.2. Routing Transitions Using Pseudostates
Note continued: 11.4.3. Showing Transitions Graphically -- 11.5. State Machines and Operation Calls -- 11.6. State Hierarchies -- 11.6.1. Composite State with a Single Region -- 11.6.2. Composite State with Multiple (Orthogonal) Regions -- 11.6.3. Transition Firing Order in Nested State Hierarchies -- 11.6.4. Using the History Pseudostate to Return to a Previously Interrupted State -- 11.6.5. Reusing State Machines -- 11.7. Contrasting Discrete and Continuous States -- 11.8. Summary -- 11.9. Questions -- ch. 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.3.1. Further Descriptions of Actors -- 12.4. Using Use Cases to Describe System Functionality -- 12.4.1. Use Case Relationships -- 12.4.2. Use Case Descriptions -- 12.5. Elaborating Use Cases with Behaviors -- 12.5.1. Context Diagrams -- 12.5.2. Sequence Diagrams -- 12.5.3. Activity Diagrams -- 12.5.4. State Machine Diagrams -- 12.6. Summary -- 12.7. Questions -- ch. 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.5.1. Depicting Requirements Relationships Directly -- 13.5.2. Depicting Requirements Relationships Using Compartment Notation -- 13.5.3. Depicting Requirements Relationships Using Callout Notation -- 13.6. Depicting Rationale for Requirements Relationships -- 13.7. Depicting Requirements and Their Relationships in Tables -- 13.7.1. Depicting Requirement Relationships in Tables -- 13.7.2. Depicting Requirement Relationships as Matrices -- 13.8. Modeling Requirement Hierarchies in Packages -- 13.9. Modeling a Requirements Containment Hierarchy -- 13.9.1. Browser View of a 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 -- ch. 14 Modeling Cross-Cutting Relationships with Allocations -- 14.1. Overview -- 14.2. Allocation Relationship -- 14.3. Allocation Notation -- 14.4. Types of Allocation -- 14.4.1. Allocation of Requirements -- 14.4.2. Allocation of Behavior or Function -- 14.4.3. Allocation of Flow -- 14.4.4. Allocation of Structure -- 14.4.5. Allocation of Properties -- 14.4.6. Summary of Relationships Associated with the Term "Allocation" -- 14.5. Planning for Reuse: Specifying Definition and Usage in Allocation -- 14.5.1. Allocating Usage -- 14.5.2. Allocating Definition -- 14.5.3. Allocating Asymmetrically -- 14.5.4. Guidelines for Allocating Definition and Usage -- 14.6. Allocating Behavior to Structure Using Functional Allocation -- 14.6.1. Modeling Functional Allocation of Usage -- 14.6.2. Modeling Functional Allocation of Definition -- 14.6.3. Modeling Functional Allocation Using Allocate Activity Partitions (Allocate Swimlanes) -- 14.7. Connecting Functional Flow with Structural Flow Using Functional Flow Allocation -- 14.7.1. Options for Functionally Allocating Flow -- 14.7.2. Allocating an Object Flow to a Connector -- 14.7.3. Allocating Object Flow to Item Flow -- 14.8. Modeling Allocation between Independent Structural Hierarchies -- 14.8.1. Modeling Structural Allocation of Usage -- 14.8.2. Allocating a Logical Connector to a Physical Structure -- 14.8.3. Modeling Structural Allocation of Definition -- 14.9. Modeling Structural Flow Allocation -- 14.10. Evaluating Allocation across a User Model -- 14.10.1. Establishing Balance and Consistency -- 14.11. Taking Allocation to the Next Step -- 14.12. Summary -- 14.13. Questions -- ch. 15 Customizing SysML for Specific Domains -- 15.1. Overview -- 15.1.1. Brief Review of Metamodeling Concepts -- 15.2. Defining Model Libraries to Provide Reusable Constructs -- 15.3. Defining Stereotypes to Extend Existing SysML Concepts -- 15.3.1. Adding Properties and Constraints to Stereotypes -- 15.4. Extending the SysML Language Using Profiles -- 15.4.1. Referencing a Metamodel or Metaclass from a Profile -- 15.5. Applying Profiles to User Models in Order to Use Stereotypes -- 15.6. Applying Stereotypes when Building a Model -- 15.6.1. Specializing Model Elements with Applied Stereotypes -- 15.7. Summary -- 15.8. Questions -- ch. 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.4.1. Characterizing Stakeholder Needs -- 16.4.2. Characterizing System Requirements -- 16.4.3. Characterizing Required Behaviors -- 16.4.4. Refining Behavior -- 16.5. Modeling Structure -- 16.5.1. Defining Distiller's Blocks in the Block Definition Diagram -- 16.5.2. Allocating Behavior -- 16.5.3. Defining the Ports on the Blocks -- 16.5.4. Creating the Internal Block Diagram with Parts, Ports, Connectors, and Item Flows -- 16.5.5. Allocation of Flow -- 16.6. Analyze Performance -- 16.6.1. Item Flow Heat Balance Analysis -- 16.6.2. Resolving Heat Balance -- 16.7. Modify the Original Design -- 16.7.1. Updating Behavior -- 16.7.2. Updating Allocation and Structure -- 16.7.3. Controlling the Distiller and the User Interaction -- 16.7.4. Developing a User Interface and a Controller -- 16.7.5. Startup and Shutdown Considerations -- 16.8. Summary -- 16.9. Questions -- ch. 17 Residential Security System Example Using the Object-Oriented Systems Engineering Method -- 17.1. Method Overview -- 17.1.1. Motivation and Background -- 17.1.2. System Development Process Overview -- 17.1.3. OOSEM System Specification and Design Process -- 17.2. Residential Security Example Overview -- 17.2.1. Problem Background -- 17.2.2. Project Startup -- 17.3. Applying OOSEM to Specify and Design the Residential Security System -- 17.3.1. Setup Model -- 17.3.2. Analyze Stakeholder Needs -- 17.3.3. Analyze System Requirements -- 17.3.4. Define Logical Architecture -- 17.3.5. Synthesize Candidate Physical Architectures -- 17.3.6. Optimize and Evaluate Alternatives -- 17.3.7. Manage Requirements Traceability -- 17.3.8. OOSEM Support to Integrate and Verify System -- 17.3.9. Develop Enabling Systems -- 17.4. Summary -- 17.5. Questions -- ch. 18 Integrating SysML into a Systems Development Environment -- 18.1. Understanding the System Model's Role in the Broader Modeling Context -- 18.1.1. System Model as an Integrating Framework -- 18.1.2. Types of Models and Simulations -- 18.1.3. Using the System Model with Other Models -- 18.2. Tool Roles in a Systems Development Environment -- 18.2.1. Use of Tools to Model and Specify the System -- 18.2.2. Use of Tools to Manage the Design Configuration and Related Data -- 18.2.3. Use of Tools to View and Document the Data -- 18.2.4. Verification and Validation Tools -- 18.2.5. Use of Project Management Tools to Manage the Development Process -- 18.3. Overview of Information Flow between Tools -- 18.3.1. Interconnecting the System Modeling Tool with Other Tools -- 18.3.2. Interface with Requirements Management Tool -- 18.3.3. Interface with SoS/Business Modeling Tools -- 18.3.4. Interface with Simulation and Analysis Tools -- 18.3.5. Interface with Verification Tools -- 18.3.6. Interface with Development Tools -- 18.3.7. Interface with Documentation & View Generation Tool -- 18.3.8. Interface with Configuration Management Tool -- 18.3.9. Interface with Project Management Tool -- 18.4. Data Exchange Mechanisms -- 18.4.1. Considerations for Data Exchange -- 18.4.2. File-Based Exchange -- 18.4.3. API-based Exchange -- 18.4.4. Performing Transformations -- 18.5. Data Exchange Applications -- 18.5.1. SysML to Modelica (bidirectional transformation) -- 18.5.2. Interchanging SysML Models and Ontologies -- 18.5.3. Document Generation from Models (unidirectional transformation) -- 18.6. Selecting a System Modeling Tool -- 18.6.1. Tool Selection Criteria -- 18.6.2. SysML Compliance -- 18.7. Summary -- 18.8. Questions -- ch. 19 Deploying SysML into an Organization -- 19.1. Improvement Process -- 19.1.1. Monitor and Assess -- 19.1.2. Plan the Improvement -- 19.1.3. Define Changes to Process, Methods, Tools, and Training -- 19.1.4. Pilot the Approach -- 19.1.5. Deploy Changes Incrementally -- 19.2. Summary -- 19.3. Questions
Summary Annotation This book is the bestselling, authoritative guide to SysML for systems and software engineers, providing a comprehensive and practical resource for modeling systems with SysML. Fully updated to cover newly released version 1.3, it includes a full description of the modeling language along with a quick reference guide, and shows how an organization or project can transition to model-based systems engineering using SysML, with considerations for processes, methods, tools, and training. Numerous examples help readers understand how SysML can be used in practice, while reference material facilitates studying for the OMG Systems Modeling Professional (OCSMP) Certification Program, designed to test candidates' knowledge of SysML and their ability to use models to represent real-world systems. Authoritative and comprehensive guide to understanding and implementing SysMLA quick reference guide, including language descriptions and practical examplesApplication of model-based methodologies to solve complex system problemsGuidance on transitioning to model-based systems engineering using SysMLPreparation guide for OMG Certified Systems Modeling Professional (OCSMP)
Bibliography Includes bibliographical references and index
Notes English
Print version record
Subject Systems engineering.
SysML (Computer science)
systems engineering.
TECHNOLOGY & ENGINEERING -- Engineering (General)
TECHNOLOGY & ENGINEERING -- Reference.
SysML (Computer science)
Systems engineering
Form Electronic book
Author Moore, Alan
Steiner, Rick (Consulting engineer)
LC no. 2011035350
ISBN 9780123852076
0123852072