E-Book, Englisch, 640 Seiten
Reihe: The MK/OMG Press
Friedenthal / Moore / Steiner A Practical Guide to SysML
2. Auflage 2011
ISBN: 978-0-12-385207-6
Verlag: Elsevier Science & Techn.
Format: EPUB
Kopierschutz: 6 - ePub Watermark
The Systems Modeling Language
E-Book, Englisch, 640 Seiten
Reihe: The MK/OMG Press
ISBN: 978-0-12-385207-6
Verlag: Elsevier Science & Techn.
Format: EPUB
Kopierschutz: 6 - ePub Watermark
A Practical Guide to SysML: The Systems Modeling Language is a comprehensive guide for understanding and applying SysML to model systems. The Object Management Group's OMG SysML is a general-purpose graphical modeling language for representing systems that may include combinations of hardware, software, data, people, facilities, and natural objects. SysML supports the practice of model-based systems engineering (MBSE) used to develop system solutions in response to complex and often technologically challenging problems. The book is organized into four parts. Part I provides an overview of systems engineering, a summary of key MBSE concepts, a chapter on getting started with SysML, and a sample problem highlighting the basic features of SysML. Part II presents a detailed description of the SysML language, while Part III illustrates how SysML can support different model-based methods. Part IV discusses how to transition MBSE with SysML into an organization. This book can serve as an introduction and reference for industry practitioners, and as a text for courses in systems modeling and model-based systems engineering. Because SysML reuses many Unified Modeling Language (UML) concepts, software engineers familiar with UML can use this information as a basis for understanding systems engineering concepts. - Authoritative and comprehensive guide to understanding and implementing SysML - A quick reference guide, including language descriptions and practical examples - Application of model-based methodologies to solve complex system problems - Guidance on transitioning to model-based systems engineering using SysML - Preparation guide for OMG Certified Systems Modeling Professional (OCSMP)
Sanford Friedenthal is an MBSE Consultant. He has been an advocate for model-based systems engineering and a leader of the industry team that developed SysML from its inception through its adoption by the OMG.
Autoren/Hrsg.
Weitere Infos & Material
1;Front Cover;1
2;Morgan Kaufmann OMG Press;3
3;A Practical Guide to SysML: The Systems Modeling Language;4
4;Copyright;5
5;Contents;6
6;Preface;18
6.1;Book Organization;18
6.2;Uses of this Book;19
6.3;How to Read This Book;20
6.4;Changes from Previous Edition;21
7;Acknowledgments;22
8;About the Authors;24
9;Part I Introduction;26
9.1;Chapter 1 - Systems Engineering Overview;28
9.1.1;1.1 Motivation for Systems Engineering;28
9.1.2;1.2 The Systems Engineering Process;29
9.1.3;1.3 Typical Application of the Systems Engineering Process;30
9.1.4;1.4 Multidisciplinary Systems Engineering Team;34
9.1.5;1.5 Codifying Systems Engineering Practice through Standards;35
9.1.6;1.6 Summary;38
9.1.7;1.7 Questions;39
9.2;Chapter 2 - Model-Based Systems Engineering;40
9.2.1;2.1 Contrasting the Document-Based and Model-Based Approach;40
9.2.2;2.2 Modeling Principles;46
9.2.3;2.3 Summary;52
9.2.4;2.4 Questions;52
9.3;Chapter 3 - Getting Started with SysML;54
9.3.1;3.1 SysML Purpose and Key Features;54
9.3.2;3.2 SysML Diagram Overview;54
9.3.3;3.3 Introducing SysML-Lite;56
9.3.4;3.4 A Simplified MBSE Method;69
9.3.5;3.5 The Learning Curve for SysML and MBSE;72
9.3.6;3.6 Summary;73
9.3.7;3.7 Questions;73
9.4;Chapter 4 - An Automobile Example Using the SysML Basic Feature Set;76
9.4.1;4.1 SysML Basic Feature Set;76
9.4.2;4.2 Automobile Example Overview;76
9.4.3;4.3 Automobile Model;77
9.4.4;4.4 Model Interchange;107
9.4.5;4.5 Summary;107
9.4.6;4.6 Questions;108
10;Part II Language Description;110
10.1;Chapter 5 - SysML Language Architecture;112
10.1.1;5.1 The OMG SysML Language Specification;112
10.1.2;5.2 The Architecture of the SysML Language;113
10.1.3;5.3 SysML Diagrams;118
10.1.4;5.4 The Surveillance System Case Study;125
10.1.5;5.5 Organization of Part II;126
10.1.6;5.6 Questions;127
10.2;Chapter 6 - Organizing the Model with Packages;128
10.2.1;6.1 Overview;128
10.2.2;6.2 The Package Diagram;129
10.2.3;6.3 Defining Packages Using a Package Diagram;129
10.2.4;6.4 Organizing a Package Hierarchy;131
10.2.5;6.5 Showing Packageable Elements on a Package Diagram;132
10.2.6;6.6 Packages as Namespaces;134
10.2.7;6.7 Importing Model Elements into Packages;134
10.2.8;6.8 Showing Dependencies between Packageable Elements;137
10.2.9;6.9 Specifying Views and Viewpoints;139
10.2.10;6.10 Summary;140
10.2.11;6.11 Questions;141
10.3;Chapter 7 - Modeling Structure with Blocks;144
10.3.1;7.1 Overview;144
10.3.2;7.2 Modeling Blocks on a Block Definition Diagram;146
10.3.3;7.3 Modeling the Structure and Characteristics of Blocks Using Properties;148
10.3.4;7.4 Modeling Flows;167
10.3.5;7.5 Modeling Block Behavior;172
10.3.6;7.6 Modeling Interfaces Using Ports;177
10.3.7;7.7 Modeling Classification Hierarchies Using Generalization;192
10.3.8;7.8 Modeling Block Configurations Using Instances;201
10.3.9;7.9 Deprecated Features;203
10.3.10;7.10 Summary;205
10.3.11;7.11 Questions;207
10.4;Chapter 8 - Modeling Constraints with Parametrics;210
10.4.1;8.1 Overview;210
10.4.2;8.2 Using Constraint Expressions to Represent System Constraints;212
10.4.3;8.3 Encapsulating Constraints in Constraint Blocks to Enable Reuse;213
10.4.4;8.4 Using Composition to Build Complex Constraint Blocks;215
10.4.5;8.5 Using a Parametric Diagram to Bind Parameters of Constraint Blocks;216
10.4.6;8.6 Constraining Value Properties of a Block;218
10.4.7;8.7 Capturing Values in Block Configurations;220
10.4.8;8.8 Constraining Time-Dependent Properties to Facilitate Time-Based Analysis;220
10.4.9;8.9 Using Constraint Blocks to Constrain Item Flows;222
10.4.10;8.10 Describing an Analysis Context;223
10.4.11;8.11 Modeling Evaluation of Alternatives and Trade Studies;225
10.4.12;8.12 Summary;227
10.4.13;8.13 Questions;228
10.5;Chapter 9 - Modeling Flow-Based Behavior with Activities;230
10.5.1;9.1 Overview;230
10.5.2;9.2 The Activity Diagram;231
10.5.3;9.3 Actions—The Foundation of Activities;233
10.5.4;9.4 The Basics of Modeling Activities;234
10.5.5;9.5 Using Object Flows to Describe the Flow of Items between Actions;238
10.5.6;9.6 Using Control Flows to Specify the Order of Action Execution;245
10.5.7;9.7 Handling Signals and Other Events;249
10.5.8;9.8 Structuring Activities;250
10.5.9;9.9 Advanced Flow Modeling;253
10.5.10;9.10 Modeling Constraints on Activity Execution;256
10.5.11;9.11 Relating Activities to Blocks and Other Behaviors;259
10.5.12;9.12 Modeling Activity Hierarchies Using Block Definition Diagrams;265
10.5.13;9.13 Enhanced Functional Flow Block Diagram;268
10.5.14;9.14 Executing Activities;268
10.5.15;9.15 Summary;273
10.5.16;9.16 Questions;274
10.6;Chapter 10 - Modeling Message-Based Behavior with Interactions;276
10.6.1;10.1 Overview;276
10.6.2;10.2 The Sequence Diagram;277
10.6.3;10.3 The Context for Interactions;277
10.6.4;10.4 Using Lifelines to Represent Participants in an Interaction;279
10.6.5;10.5 Exchanging Messages between Lifelines;281
10.6.6;10.6 Representing Time on a Sequence Diagram;286
10.6.7;10.7 Describing Complex Scenarios Using Combined Fragments;289
10.6.8;10.8 Using Interaction References to Structure Complex Interactions;295
10.6.9;10.9 Decomposing Lifelines to Represent Internal Behavior;295
10.6.10;10.10 Summary;298
10.6.11;10.11 Questions;299
10.7;Chapter 11 - Modeling Event-Based Behavior with State Machines;302
10.7.1;11.1 Overview;302
10.7.2;11.2 State Machine Diagram;303
10.7.3;11.3 Specifying States in a State Machine;303
10.7.4;11.4 Transitioning between States;306
10.7.5;11.5 State Machines and Operation Calls;312
10.7.6;11.6 State Hierarchies;313
10.7.7;11.7 Contrasting Discrete and Continuous States;322
10.7.8;11.8 Summary;324
10.7.9;11.9 Questions;325
10.8;Chapter 12 - Modeling Functionality with Use Cases;328
10.8.1;12.1 Overview;328
10.8.2;12.2 Use Case Diagram;328
10.8.3;12.3 Using Actors to Represent the Users of a System;329
10.8.4;12.4 Using Use Cases to Describe System Functionality;330
10.8.5;12.5 Elaborating Use Cases with Behaviors;335
10.8.6;12.6 Summary;339
10.8.7;12.7 Questions;340
10.9;Chapter 13 - Modeling Text-Based Requirements and Their Relationship to Design;342
10.9.1;13.1 Overview;342
10.9.2;13.2 Requirement Diagram;343
10.9.3;13.3 Representing a Text Requirement in the Model;345
10.9.4;13.4 Types of Requirements Relationships;347
10.9.5;13.5 Representing Cross-Cutting Relationships in SysML Diagrams;347
10.9.6;13.6 Depicting Rationale for Requirements Relationships;350
10.9.7;13.7 Depicting Requirements and Their Relationships in Tables;351
10.9.8;13.8 Modeling Requirement Hierarchies in Packages;353
10.9.9;13.9 Modeling a Requirements Containment Hierarchy;353
10.9.10;13.10 Modeling Requirement Derivation;354
10.9.11;13.11 Asserting That a Requirement Is Satisfied;356
10.9.12;13.12 Verifying That a Requirement Is Satisfied;357
10.9.13;13.13 Reducing Requirements Ambiguity Using the Refine Relationship;360
10.9.14;13.14 Using the General-Purpose Trace Relationship;363
10.9.15;13.15 Reusing Requirements with the Copy Relationship;363
10.9.16;13.16 Summary;364
10.9.17;13.17 Questions;365
10.10;Chapter 14 - Modeling Cross-Cutting Relationships with Allocations;368
10.10.1;14.1 Overview;368
10.10.2;14.2 Allocation Relationship;368
10.10.3;14.3 Allocation Notation;370
10.10.4;14.4 Types of Allocation;372
10.10.5;14.5 Planning for Reuse: Specifying Definition and Usage in Allocation;374
10.10.6;14.6 Allocating Behavior to Structure Using Functional Allocation;377
10.10.7;14.7 Connecting Functional Flow with Structural Flow Using Functional Flow Allocation;383
10.10.8;14.8 Modeling Allocation between Independent Structural Hierarchies;386
10.10.9;14.9 Modeling Structural Flow Allocation;389
10.10.10;14.10 Evaluating Allocation across a User Model;391
10.10.11;14.11 Taking Allocation to the Next Step;391
10.10.12;14.12 Summary;392
10.10.13;14.13 Questions;392
10.11;Chapter 15 - Customizing SysML for Specific Domains;394
10.11.1;15.1 Overview;394
10.11.2;15.2 Defining Model Libraries to Provide Reusable Constructs;398
10.11.3;15.3 Defining Stereotypes to Extend Existing SysML Concepts;399
10.11.4;15.4 Extending the SysML Language Using Profiles;404
10.11.5;15.5 Applying Profiles to User Models in Order to Use Stereotypes;406
10.11.6;15.6 Applying Stereotypes when Building a Model;407
10.11.7;15.7 Summary;413
10.11.8;15.8 Questions;414
11;Part III Modeling Examples;416
11.1;Chapter 16 - Water Distiller Example Using Functional Analysis;418
11.1.1;16.1 Stating the Problem – The Need for Clean Drinking Water;418
11.1.2;16.2 Defining the Model-Based Systems Engineering Approach;419
11.1.3;16.3 Organizing the Model;419
11.1.4;16.4 Establishing Requirements;421
11.1.5;16.5 Modeling Structure;434
11.1.6;16.6 Analyze Performance;442
11.1.7;16.7 Modify the Original Design;445
11.1.8;16.8 Summary;454
11.1.9;16.9 Questions;454
11.2;Chapter 17 - Residential Security System Example Using the Object-Oriented Systems Engineering Method;456
11.2.1;17.1 Method Overview;456
11.2.2;17.2 Residential Security Example Overview;462
11.2.3;17.3 Applying OOSEM to Specify and Design the Residential Security System;463
11.2.4;17.4 Summary;543
11.2.5;17.5 Questions;544
12;Part IV Transitioning to Model-Based Systems Engineering;546
12.1;Chapter 18 - Integrating SysML into a Systems Development Environment;548
12.1.1;18.1 Understanding the System Model’s Role in the Broader Modeling Context;548
12.1.2;18.2 Tool Roles in a Systems Development Environment;555
12.1.3;18.3 An Overview of Information Flow between Tools;560
12.1.4;18.4 Data Exchange Mechanisms;567
12.1.5;18.5 Data Exchange Applications;573
12.1.6;18.6 Selecting a System Modeling Tool;578
12.1.7;18.7 Summary;579
12.1.8;18.8 Questions;580
12.2;Chapter 19 - Deploying SysML into an Organization;582
12.2.1;19.1 Improvement Process;582
12.2.2;19.2 Summary;588
12.2.3;19.3 Questions;588
13;Appendix A - SysML Reference Guide;590
13.1;A.1 Overview;590
13.2;A.2 Notational Conventions;590
13.3;A.3 Package Diagram;592
13.4;A.4 Block Definition Diagram;594
13.5;A.5 Internal Block Diagram;600
13.6;A.6 Parametric Diagram;602
13.7;A.7 Activity Diagram;603
13.8;A.8 Sequence Diagram;607
13.9;A.9 State Machine Diagram;610
13.10;A.10 Use Case Diagram;613
13.11;A.11 Requirement Diagram;614
13.12;A.12 Allocation;617
13.13;A.13 Stereotypes;618
14;References;620
15;Index;624
Preface
Systems engineering is a multidisciplinary approach for developing solutions to complex engineering problems. The continuing increase in system complexity is demanding more rigorous and formalized systems engineering practices. In response to this demand, along with advancements in computer 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 coherent model of the system. Model-based systems engineering (MBSE) can help to manage complexity, while at the same time improve design quality and cycle time, improve communications among a diverse development team, and facilitate 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, software, data, personnel, procedures, and facilities. SysML is a graphical modeling language 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 so on. SysML is an extension of the Unified Modeling Language (UML), version 2, which has become 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 2 was selected as the basis for SysML because it is a robust language that addresses many of the systems engineering 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 book is intended to reflect the SysML v1.3 specification, which was close to finalization at the time of this writing. 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, Modeling Examples, and Transitioning to Model-Based Systems Engineering. Part I, Introduction, contains four chapters that provide an overview of systems engineering, a summary 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 the language architecture, and Chapters 6 through 14 describe key concepts related to model organization, blocks, parametrics, activities, interactions, states, use cases, requirements, and allocations, and Chapter 15 describes the language extension mechanisms to further 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 readers’ 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, Modeling Examples, includes two examples to illustrate how SysML can support different model-based methods. The first example in Chapter 16 applies to the design of a water distiller system. It uses a simplified version of a classic functional analysis and allocation method. The second example in Chapter 17 applies to the design of a residential security system. It uses a comprehensive object-oriented systems engineering method (OOSEM) and emphasizes how the language is used to address a wide variety of systems engineering concerns, 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 model-based systems engineering using SysML can be applied to model systems, SysML is intended to support a variety of other model-based systems engineering methods as well. Part IV, Transitioning to Model-Based Systems Engineering, addresses how to transition MBSE with SysML into an organization. Chapter 18 describes how to integrate SysML into a systems development environment. It describes the different tool roles in a systems development environment, and the type of data that are exchanged between a SysML tool and other classes of tools. The chapter also describes some of the types of data exchange mechanisms and applications, and a discussion on the criteria for selecting a SysML modeling tool. Chapter 19 is the last chapter of the book, and describes how to deploy MBSE with SysML into an organization as part of an improvement process. 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 following Web site 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 modeling and model-based systems engineering. In addition, because SysML reuses many UML concepts, 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 expressive language, and as such, this book can 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 interested in trying to introduce SysML and MBSE to 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 consists of eleven (11) 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. Using this course as an example course that introduces the language concepts, the instructor can create a course that includes both the language concepts and tool instruction on how to create and update the modeling artifacts using a selected tool. 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. Refer to the End-User License Agreement included with the download instructions on The Johns Hopkins site for how...