A Practical Guide to SysML
The Systems Modeling Language
Third edition
Sanford Friedenthal
Alan Moore
Rick Steiner
AMSTERDAM • BOSTON • HEIDELBERG • LONDON
NEW YORK • OXFORD • PARIS • SAN DIEGO
SAN FRANCISCO • SINGAPORE • SYDNEY • TOKYO
Morgan Kaufmann is an imprint of Elsevier
Acquiring Editor: Steve Elliot
Editorial Project Manager: Kaitlin Herbert
Project Manager: Priya Kumaraguruparan
Cover Designer: Mark Rogers
Morgan Kaufmann is an imprint of Elsevier
225 Wyman Street, Waltham, MA, 02451, USA
Copyright © 2015, 2012, 2009 Elsevier Inc. All rights reserved.
No part of this publication may be reproduced or transmitted in any form or by any means, electronic or
mechanical, including photocopying, recording, or any information storage and retrieval system, without
permission in writing from the publisher. Details on how to seek permission, further information about the
Publisher’s permissions policies and our arrangements with organizations such as the Copyright Clearance
Center and the Copyright Licensing Agency, can be found at our website: www.elsevier.com/permissions.
This book and the individual contributions contained in it are protected under copyright by the Publisher (other
than as may be noted herein).
Notices
Knowledge and best practice in this field are constantly changing. As new research and experience broaden our
understanding, changes in research methods or professional practices, may become necessary. Practitioners and
researchers must always rely on their own experience and knowledge in evaluating and using any information
or methods described herein. In using such information or methods they should be mindful of their own safety
and the safety of others, including parties for whom they have a professional responsibility. To the fullest extent
of the law, neither the Publisher nor the authors, contributors, or editors, assume any liability for any injury and/
or damage to persons or property as a matter of products liability,negligence or otherwise, or from any use or
operation of any methods, products, instructions, or ideas contained in the material herein.
Library of Congress Cataloging-in-Publication Data
Friedenthal, Sanford.
A practical guide to SysML: the systems modeling language / Sanford Friedenthal, Alan Moore, Rick
Steiner. -- Third edition.
1. Systems engineering. 2. Computer simulation. 3. SysML (Computer science) I. Moore, Alan, 1961-II. Steiner,
Rick. III. Title.
TA168.F745 2014
620.001’171--dc23
pages cm
2014027624
British Library Cataloguing-in-Publication Data
A catalogue record for this book is available from the British Library.
ISBN: 978-0-12-800202-5
Printed in the United States of America
For information on all MK publications
visit our website at www.mkp.com
Preface
Systems engineering is a multidisciplinary and holistic approach to develop solutions for complex
engineering problems. The continuing increase in system complexity demands more rigorous and for-
malized systems engineering practices. In response to this demand—along with advancements in com-
puter technology—the practice of systems engineering is undergoing a fundamental transition from a
document-based approach to a model-based approach. In a model-based approach, the emphasis shifts
from producing and controlling documentation about the system to producing and controlling a coher-
ent model of the system. Model-based systems engineering (MBSE) can help to manage complexity,
while improving design quality and cycle time, enhancinging communication among a diverse
development team, and facilitating knowledge capture and design evolution.
A standardized and robust modeling language is considered a critical enabler for MBSE. The
Systems Modeling Language (OMG SysML™) is one such general-purpose modeling language that
supports the specification, design, analysis, and verification of systems that may include hardware and
equipment, software, data, personnel, procedures, and facilities. SysML is a graphical modeling lan-
guage with a semantic foundation for representing requirements, behavior, structure, and properties of
the system and its components. It is intended to model systems from a broad range of industry domains
such as aerospace, automotive, health care, and others.
SysML is an extension of the Unified Modeling Language (UML), version 2, which is the de facto
standard software modeling language. Requirements were issued by the Object Management Group
(OMG) in March 2003 to extend UML to support systems modeling. UML was selected as the basis for
SysML because it is a robust language that addresses many of the systems modeling needs, while
enabling the systems engineering community to leverage the broad base of experience and tool vendors
that support UML. This approach also facilitates the integration of systems and software modeling,
which has become increasingly important for today’s software-intensive systems.
The development of the language specification was a collaborative effort between members of the
OMG, the International Council on Systems Engineering (INCOSE), and the AP233 Working Group of
the International Standards Organization (ISO). Following three years of development, the OMG
SysML specification was adopted by the OMG in May 2006, and the formal version 1.0 language
specification was released in September 2007. Since that time, new versions of the language have been
adopted by the OMG. This edition is intended to reflect the SysML 1.4 specification. It is expected that
SysML will continue to evolve in its expressiveness, precision, usability, and interoperability through
further revisions to the specification based on feedback from end users, tool vendors, and research
activities. Information on the latest version of SysML, tool implementations of SysML, and related
resources, are available on the official OMG SysML web site at http://www.omgsysml.org/.
BOOK ORGANIZATION
This book provides the foundation for understanding and applying SysML to model systems as part of
a model-based systems engineering approach. The book is organized into four parts: Introduction,
Language Description, Examples of Model-Based Systems Engineering Methods, and Transitioning to
Model-Based Systems Engineering.
xvii
xviii
Preface
Part I, Introduction, contains four chapters that provide an overview of systems engineering, a sum-
mary of key MBSE concepts, a chapter on getting started with SysML, and a sample problem to
highlight the basic features of SysML. The systems engineering overview and MBSE concepts in
Chapters 1 and 2 set the context for SysML, and Chapters 3 and 4 provide an introduction to SysML.
Part II, Language Description, provides the detailed description of the language. Chapter 5 provides an
overview of SysML diagrams and some common diagrammatic notations. Chapters 6 through 14 describe
key concepts related to model organization, blocks, parametrics, activities, interactions, states, use cases,
requirements, and allocations. Chapter 15 describes the SysML specification and language architecture, and
extension mechanisms to customize the language. The ordering of the chapters and the concepts are not
based on the ordering of activities in the systems engineering process but are based on the dependencies
between the language concepts. Each chapter builds the reader’s understanding of the language concepts by
introducing SysML constructs: their meaning, notation, and examples of how they are used. The example
used to demonstrate the language throughout Part II is a security surveillance system. This example should
be understandable to most readers and has sufficient complexity to demonstrate the language concepts.
Part III, Examples of Model-Based Systems Engineering Methods, includes two examples to illus-
trate how SysML can support different MBSE methods. The first example in Chapter 16 is a functional
analysis and allocation method to specify and design a water distiller system. The second example in
Chapter 17 applies to the design of a security system consisting of a central monitoring station and
multiple sites that are monitored. It uses a comprehensive object-oriented systems engineering method
(OOSEM) and emphasizes how the language is used to address a range of systems engineering con-
cerns, including black-box versus white-box design, logical versus physical design, and the design of
distributed systems. While these two methods are considered representative of how MBSE with SysML
can be applied to model systems, SysML is intended to support other MBSE methods as well.
Part IV, Transitioning to Model-Based Systems Engineering, addresses key considerations for tran-
sitioning to an MBSE approach with SysML. Chapter 18 describes how to integrate SysML into a
systems development environment consisting of multi-disciplinary engineering tools. It describes the
different types of models and tools, the type of data that is exchanged, and mechanisms and standards
for data exchange. It also includes a discussion on the selection criteria for a SysML modeling tool.
Chapter 19 is the last chapter of the book and describes processes and strategies for deploying MBSE
with SysML in an organization. Emphasis is placed on leveraging the organization’s improvement
process to assess, plan, and pilot the MBSE capability prior to deploying the capability to projects, and
on other essential elements for a successful implementation of MBSE.
Questions are included at the end of each chapter to test readers’ understanding of the material. The
answers to the questions can be found on the web site for this book at http://www.elsevierdirect.com/
companions/9780123852069/.
The Appendix contains the SysML notation tables. These tables provide a reference guide for
SysML notation along with a cross reference to the applicable sections in Part II of the book where the
language constructs are described in detail.
USES OF THIS BOOK
This book is a practical guide targeted at a broad spectrum of industry practitioners and students. It can
serve as an introduction and reference for practitioners, as well as a text for courses in systems model-
ing and model-based systems engineering. In addition, because SysML reuses many UML concepts,
Preface
xix
software engineers familiar with UML can use this information as a basis for understanding systems
engineering concepts. Also, many systems engineering concepts come to light when using an expres-
sive language, which enables this book to be used to help teach systems engineering concepts. Finally,
this book can serve as a primary reference to prepare for the OMG Certified System Modeling
Professional (OCSMP) exam (refer to http://www.omg.org/ocsmp/).
HOW TO READ THIS BOOK
A first-time reader should pay close attention to the introductory chapters, including Getting Started
with SysML in Chapter 3 and the application of the basic feature set of SysML to the Automobile
Example in Chapter 4. The introductory reader may also choose to do a cursory reading of the overview
sections in Part II, and then review the simplified distiller example in Part III. A more advanced reader
may choose to read the introductory chapters, do a more comprehensive review of Part II, and then
review the residential security example in Part III. Part IV is of general interest to those may be involved
in deploying MBSE with SysML in their organization or project.
The following recommendations apply when using this book as a primary reference for a course in
SysML and MBSE. An instructor may refer to the course on SysML that was prepared and delivered
by the Johns Hopkins University Applied Physics Lab that is available for download at http://www.
jhuapl.edu/ott/Technologies//Copyright/SysML.asp. This course provides an introduction to the basic
features of SysML so that students can begin to apply the language to their projects. This course con-
sists of eleven modules that use this book as the basis for the course material. The course material for
the language concepts is included in the download, but the course material for the tool instruction is not
included. A shorter version of this course is also included on the Johns Hopkins site, which has been
used as a full-day tutorial to provide an introductory short course on SysML. A second course on the
same website summarizes the Object-Oriented Systems Engineering Method (OOSEM) that is the
subject of Chapter 17 in Part III of this book. This provides an example of applying a MBSE method to
the specification and design of a security system.
Refer to the End-User License Agreement for each course (included with the download instructions
on the Johns Hopkins site) for how this material can be used. An instructor can further tailor this
material to their needs.
A typical use of the book is to require the students to review Chapters 1 and 2, and then study
Chapter 3 on Getting Started with SysML. This chapter includes an introduction to SysML Lite, a sim-
plified MBSE method, and a general SysML modeling tool. The student then studies the automobile
example in Chapter 4.
The instructor may then teach the language concepts in more depth, depending on the time allotted
to this subject, and require the students to review the chapters in Part II. The instructor may focus on
the SysML basic feature set, which is identified by the shaded sections throughout each chapter in Part
II. The notation tables in the appendix can be used as a summary reference for the language syntax.
It is helpful for the instructor to present a simple example model of a system, such as the compressor
model in Chapter 3, the automobile model in Chapter 4, or the distiller model in Chapter 16, and require
student projects of similar complexity. The student projects may be performed by teams or individuals.
The projects require the student or teams to incrementally develop their models throughout the course
in alignment with the sequence of course modules. If a tool is required, the course should also include
introductory tool instruction for the selected tool. Alternatively, if a modeling tool is not required, the
xx
Preface
students can use the Visio SysML template available for download on the OMG SysML website (http:
//www.omgsysml.org/).
This book is also intended to be used to prepare for the OMG Certified Systems Modeling
Professional (OCSMP) exams to become certified as a model user or model builder. For the first two
levels of certification, the emphasis is on the basic SysML feature set. The automobile example in
Chapter 4 covers most of the basic feature set of SysML, so this is an excellent place to start. One can
also review the shaded paragraphs in each of the chapters in Part II, which cover the basic feature set,
as do the shaded rows in the notation tables in the Appendix. The unshaded rows in the Appendix reflect
the additional features of the full feature set, which is covered in the third level of OCSMP
certification.
CHANGES FROM PREVIOUS EDITION
This edition is intended to update the book content to be current with version 1.4 of the SysML
specification, which was recently adopted as of the time of this writing. The SysML specification ver-
sions are available from the OMG website at http://www.omg.org/spec/SysML/, and the specific
changes to the SysML 1.4 specification can be identified by change bars in the specification
document.
In addition to reflecting the SysML 1.4 changes in Part II, this edition includes refinements to the
MBSE methods in Chapters 16 and 17 in Part III, and substantive changes to the contents of Chapters
18 and 19 in Part IV. The discussion on the Integrated Systems Development Environment in Chapter
18 was substantially rewritten to address model and tool integration, along with emerging tool integra-
tion standards such as OSLC and FMI. A new section that discusses elements of a deployment strategy
is added to Chapter 19. In addition to content changes, all of the chapters are updated to improve quality
and readability.
Acknowledgments
The authors wish to acknowledge the many individuals and their supporting organizations who partici-
pated in the development of SysML and provided valuable insights throughout the language develop-
ment process. The individuals are too numerous to mention here but are listed in the OMG SysML
specification. The authors wish to especially thank the reviewers of this book for their valuable
feedback; they include Conrad Bock, Roger Burkhart, Lenny Delligatti, Jeff Estefan, Doug Ferguson,
Dr. Kathy Laskey, Dr. Leon McGinnis, Dr. Øystein Haugen, Robert Karban, Dr. Chris Paredis,
Dr. Russell Peak, Ed Seidewitz, Bran Selic, and Joe Wolfrom. The authors also wish to thank Yves
Bernard, Paul Pearce, Axel Reichwein, JohnWatson, and Dirk Zimmer for contributing to the review of
the third edition. Finally, the authors recognize Joe Wolfrom as the primary author of the Johns Hopkins
University Applied Physics Lab course material on SysML and OOSEM referred to above.
SysML is implemented in many different tools. For this book, we selected certain tools for repre-
senting the examples but are not endorsing them over other tools. We do wish, however, to acknowl-
edge some vendors for the use of their tools, including Enterprise Architect by Sparx Systems,
MagicDraw by No Magic, ParaMagic® for MagicDraw by InterCAX, and the Microsoft Visio SysML
template provided by Pavel Hruby.
xxi
About the Authors
Sanford Friedenthal is an industry leader in model-based systems engineering (MBSE) and an inde-
pendent consultant. As a Lockheed Martin Fellow, he led the corporate engineering effort to enable
Model-Based Systems Development (MBSD) and other advanced practices across the company. In this
capacity, he was responsible for developing and implementing strategies to institutionalize the practice
of MBSD across the company and to provide direct model-based systems engineering support to
multiple programs.
His experience includes the application of systems engineering throughout the system lifecycle from
conceptual design through development and production on a broad range of systems. He has also been a
systems engineering department manager responsible for ensuring that systems engineering is imple-
mented on programs. He has been a lead developer of advanced systems engineering processes and
methods, including the Object-Oriented Systems Engineering Method (OOSEM). Sandy also was a
leader of the industry team that developed SysML from its inception through its adoption by the OMG.
Mr. Friedenthal is well known within the systems engineering community for his role in leading the
SysML effort and for his expertise in model-based systems engineering methods. He has been recog-
nized as an International Council on Systems Engineering (INCOSE) Fellow for these contributions.
He has given many presentations on these topics to a wide range of professional and academic audi-
ences, both within and outside the US, and he teaches an MBSE course as part of a master’s program
in systems engineering.
Alan Moore is an Architecture Modeling Specialist at the MathWorks and has extensive experience
in the development of real-time and object-oriented methods and their application in a variety of prob-
lem domains. Previously at ARTiSAN Software Tools, he was responsible for the development and
evolution of Real-time Perspective, ARTiSAN’s process for real-time systems development. Alan has
been a user and developer of modeling tools throughout his career, from early structured programming
tools to UML-based modeling environments.
Mr. Moore has been an active member of the Object Management Group and chaired both the final-
ization and revision task forces for the UML Profile for Schedulability and Performance and Time, and
was a co-chair of the OMG’s Real-time Analysis and Design Working Group. Alan also served as the
language architect for the SysML Development Team.
Rick Steiner is an independent consultant focusing on pragmatic application of systems modeling
techniques. He culminated his twenty-nine-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 twenty years. He served as chief engineer, architect, or lead system modeler for several large-
scale electronics programs, incorporating the practical application of MBSE methods including
OOSEM and the 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 the SysML specification. His main technical contribution to the specification is in the areas of allocations,
requirements, and the sample problem. Mr. Steiner 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.
xxiii