A practical guide to SysML : the systems modeling language /
Annotation
Clasificación: | Libro Electrónico |
---|---|
Autor principal: | |
Otros Autores: | , |
Formato: | Electrónico eBook |
Idioma: | Inglés |
Publicado: |
Waltham, MA :
Morgan Kaufmann,
©2012.
|
Edición: | 2nd ed. |
Colección: | MK/OMG Press.
|
Temas: | |
Acceso en línea: | Texto completo Texto completo |
Tabla de Contenidos:
- 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.