Skip to main content

A Practical Guide to SysML

The Systems Modeling Language

A Practical Guide to SysML: The Systems Modeling Language is a comprehensive guide to SysML for systems and software engineers. It provides an advanced and practical resource for… Read more

World Book Day celebration

Where learning shapes lives

Up to 25% off trusted resources that support research, study, and discovery.

Description

A Practical Guide to SysML: The Systems Modeling Language is a comprehensive guide to SysML for systems and software engineers. It provides an advanced and practical resource for modeling systems with SysML. The source describes the modeling language and offers information about employing SysML in transitioning an organization or project to model-based systems engineering. The book also presents various examples to help readers understand the OMG Systems Modeling Professional (OCSMP) Certification Program. The text is organized into four parts. The first part provides an overview of systems engineering. It explains the model-based approach by comparing it with the document-based approach and providing the modeling principles. The overview of SYsML is also discussed. The second part of the book covers a comprehensive description of the language. It discusses the main concepts of model organization, parametrics, blocks, use cases, interactions, requirements, allocations, and profiles. The third part presents examples that illustrate how SysML supports different model-based procedures. The last part discusses how to transition and deploy SysML into an organization or project. It explains the integration of SysML into a systems development environment. Furthermore, it describes the category of data that are exchanged between a SysML tool and other types of tools, and the types of exchange mechanisms that can be used. It also covers the criteria that must be considered when selecting a SysML. Software and systems engineers, programmers, IT practitioners, experts, and non-experts will find this book useful.

Key features

  • The authoritative guide for understanding and applying SysML
  • Authored by the foremost experts on the language
  • Language description, examples, and quick reference guide included

Readership

Systems Engineers and Software Engineers, Designers and Programmers. Particularly the intersection between these two groups, often termed "Systems Software Engineers"

Table of contents

PrefaceAbout the AuthorsPart I 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 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.5 Summary         3.6 QuestionsPart II Language Description    Chapter 4 SysML Language Architecture         4.1 The OMG SysML Language Specification         4.2 The Architecture of the SysML Language         4.3 SysML Diagrams         4.4 The Surveillance System Case Study         4.5 Chapter Organization for Part II         4.6 Questions    Chapter 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    Chapter 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.7 Summary         6.8 Questions    Chapter 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    Chapter 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    Chapter 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    Chapter 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 and Continuous States         10.8 Summary         10.9 Questions    Chapter 11 Modeling Functionality with Use Cases         11.1 Overview         11.2 Use Case Diagram         11.3 Using Actors to Represent the Users of a System         11.4 Using Use Cases to Describe System Functionality         11.5 Elaborating Use Cases with Behaviors         11.6 Summary         11.7 Questions    Chapter 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    Chapter 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    Chapter 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 QuestionsPart III Modeling Examples    Chapter 15 Water Distiller Example Using Functional Analysis         15.1 Stating the Problem         15.2 Defining the Model-Based Systems Engineering Approach         15.3 Organizing the Model         15.4 Establishing Requirements         15.5 Modeling Behavior         15.6 Modeling Structure         15.7 Analyzing Performance         15.8 Modifying the Original Design         15.9 Summary          15.10 Questions    Chapter 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.4 Summary         16.5 QuestionsPart IV Transitioning to Model-Based Systems Engineering    Chapter 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.3 Data Exchange Mechanisms in an Integrated Systems Development Environment         17.4 Selecting a System Modeling Tool         17.5 Summary         17.6 Questions    Chapter 18 Deploying SysML into an Organization         18.1 Improvement Process         18.2 Summary         18.3 QuestionsAppendix SysML Reference Guide    A.1 Overview    A.2 Notational Conventions    A.3 Package Diagram    A.4 Block Definition Diagram    A.5 Internal Block Diagram    A.6 Parametric Diagram    A.7 Activity Diagram    A.8 Sequence Diagram    A.9 State Machine Diagram    A.10 Use Case Diagram    A.11 Requirement Diagram    A.12 Allocation    A.13 StereotypesReferencesIndex

Review quotes

"SysML is the new industry-standard language designed specifically to support modern systems engineering. I cannot imagine a better way to learn SysML than to read about it from the masters: Friedenthal, Moore, and Steiner led the design of this important new language and now cap that effort with this comprehensive and highly readable guide for both novices and experts." —Bran Selic, Malina Software Corporation

"This book is just the ticket you need to get started on the road to adopting standards-based, model-based systems engineering (MBSE) methods. The authors have done an outstanding job in providing detailed coverage of the SysML language and semantics supported through worked examples." —Jeff Estefan, Principal Engineer, NASA's Jet Propulsion Laboratory

"The authors of this book have been invovlded in SysML development since its inception, and have the understanding necessary to explain it clearly. In particular, the activity diagrams chapter accurately and concisely describes the SysML extensions to UML for functional flow modeling."—Conrad Bock, OMG Lead for Activity Modeling in SysML

Product details

About the authors

SF

Sanford Friedenthal

Sanford Friedenthal. Sanford Friedenthal is an industry leader and independent consultant in model-based systems engineering (MBSE). He was formerly a Technical Fellow at Lockheed Martin, where he led the effort to enable Model-Based Systems Development (MBSD) and other advanced practices across the company. Dr. Friedenthal has been a leader of the industry standards effort through the Object Management Group (OMG) and INCOSE to develop the Systems Modeling Language (OMG SysML ®) that was adopted by the OMG in 2007. He is co-author of ‘A Practical Guide to SysML’ and ‘Architecting Spacecraft with SysML’. Dr. Friedenthal more recently co-led the effort to develop the next generation of SysML (v2) and co-chairs the OMG Systems Modeling Community (SMC) to further advance systems modeling practices.
Affiliations and expertise
MBSE Consultant, Reston, VA USA

AM

Alan Moore

Alan Moore is an Architecture Modeling Specialist at The MathWorks. He has extensive experience in the development of real-time and object-oriented methodologies and their application. Alan was co-chair of the OMG's Real-time Analysis and Design Working Group and served as the language architect during the development of SysML.
Affiliations and expertise
Architecture Modeling Specialist, The MathWorks, Ltd.

RS

Rick Steiner

Rick Steiner is an independent consultant focusing on pragmatic application of systems engineering modeling techniques. He culminated his 29 year career at Raytheon as an Engineering Fellow, Raytheon Certified Architect and INCOSE Expert Systems Engineering Professional (ESEP).

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.

Affiliations and expertise
Independent Consultant, San Diego, California