Modeling Requirements, Architectures, Behaviour... The System Modeling Language (SysML) and the SYSMOD modeling approach Budapest University of Technology and Economics Department of Measurement and Information Systems
Acknowledgement Portions of this presentation are from o Systems Engineering with SysML/UML, by Tim Weilkiens, published by Morgan Kaufmann Publishers, Copyright 2007 Elsevier Inc. All rights reserved. o A Practical Guide to SysML, by Sanford Friedenthal, Alan Moore, and Rick Steiner, published by Morgan Kaufmann Publishers, Copyright 2009 Elsevier Inc. All rights reserved. o IBM course, Requirements management 2
Overview Context SysML Overview SysML details + the SYSMOD Systems Engineering Methodology 3
Systems Engineering Systems Engineering is a multidisciplinary approach to develop balanced system solutions in response to diverse stakeholder needs ~ Integration Engineering o Software engineering o Hardware engineering o Mechanical engineering o Safety engineering o Security engineering o... ~ Process Engineering System o Military, airplane, car, aviation, railway interlocking, notebook, etc. 4
Systems Engineering Process V-model 5
V-model v2 EN50129 6
V-model v3 7 Vision Operational Use Stakeholder Requirements Problem Space Acceptance Tests Solution Space System Requirements Component Requirements Component Tests System Tests
Differentiating Problem and Solution 8 Problem Solution Stakeholder requirements A description of the problem and its context Describes what stakeholders want from the system Not the definition of the solution (except for environment) Quality of results Created by stakeholders System requirements An abstract representation of the solution Describes what the system will do Not the definition of the design How well it does it Created by systems engineers The user shall be able to... The system shall do.
9 Input Specification agree with customer Acceptance Strategy Request Change analyze & model Request Change Models derive requirements and acceptance strategy Request Change Output Specification agree with supplier Acceptance Strategy
10 Vision Operational Use Stakeholder Requirements Acceptance Tests System Requirements System Tests Component Requirements Component Tests
Models Bridge Layers of Requirements 11 Vision e.g Goal / Usage modeling Stakeholder Requirements Functional e.g. Functional modeling modeling System Requirements Functional Functional e.g. Performance modeling modeling modeling Subsystem Requirements
Vision Importance of Traceability Impact Analysis Operational Use satisfies Accepting the product Stakeholder Requirements Acceptance Strategy satisfies Validating the product System Requirements System Test satisfies Verifying the product Architecture Acceptance Strategy Evaluating subsystems 12
Vision Importance of Traceability Coverage analysis Operational Use satisfies Stakeholder Requirements Acceptance Strategy satisfies? System Requirements System Test satisfies? Architecture Acceptance Strategy 13
Overview Context SysML Overview SysML details + the SYSMOD Systems Engineering Methodology 14
SysML overview UML for Systems Engineering o Supports the specification, analysis, design, verification and validation of systems that include hardware, software, data, personnel, procedures, and facilities Developed by OMG and International Council on Systems Engineering (INCOSE) OMG SysML (http://www.omgsysml.org) o RFP March 2003 o Version 1.0 September 2007 o Version 1.1 November 2008 o Version 1.2 June 2010 o Version 1.3 June 2012 15
Relationship Between SysML and UML UML 2 UML4SysML SysML UML not required by SysML (UML - UML4SysML) UML reused by SysML UML 2 Reuse (1, 2) SysML extensions to UML SysML Profile 16
SysML Diagram Taxonomy 17
Aspects of SysML 18
Overview Context SysML Overview SysML details + the SYSMOD Systems Engineering Methodology 19
Language vs. Methodology Modeling Language o Defines elements and their relationship o Defines syntax and semantics o What type of elements can be used during modeling? o E.g. SysML Development Methodology o Defines the steps of analyzing and designing the system o Defines the usage of the model elements and diagrams o How shall the model be built? o E.g. SYSMOD (SYStem MODeling) by Tim Weilkiens 20
The SYSMOD approach Analyzing Requirements 21
The SYSMOD approach for design 22
SysML Activity diagram Name of activity Action in activity Pin Object Parameter of activity Object flow Represents behavior in terms of the ordering of actions based on the availability of inputs, outputs, and control, and how the actions transform the inputs to outputs 23
Describe Project Context Car rental system o Works without staff Customer identification needed o Central computer in radio compartment Communicates with central reservation system Collects usage data Comfort features Navigation Radio Phone... 24
Determine requirements 25
Identify stakeholders 26
Identify stakeholders 27
Collect requirements 28
SysML Requirements diagram Name of diagram Type of context element Name of context element Requirement composition Requirement Requirements diagram Represents text-based requirements and their relationship with other requirements, design elements, and test cases to support requirements traceability 29
Collect requirements 30
Model System Context 31
Identify System Actors 32
SysML Block definition diagram Block Actor Block Definition Diagram Represents structural elements called blocks, and their composition and classification 33
Model System-Actor Information Flow 34
Identify System Interaction Points 35
System Context 36
Model Use Cases 38
Model Use Cases 39
SysML Use case diagram Object flow Actor Use case Use Case Diagram Represents functionality in terms of how a system or other entity is used by external entities (i.e., actors) to accomplish a set of goals 40
Model Use Cases Organizing use cases into packages 41
SysML Requirements traceability 42
Describe Use Cases Essences 43
Describe Use Cases Essences 44
Describe Use Cases Essences 45
Model Use Case Flows 46
Model Object Flows 47
Model Domain Knowledge 48
Create Glossary Supports better understanding 49
The SYSMOD approach for design 50
Model System/Actor Interaction 51
SysML Sequence diagram Sequence Diagram Represents behavior in terms of a sequence of messages exchanged between parts 52
Derive System Interfaces 53
Model System Structures Identify system components 54
Model System Structures Identify relation of components 55
SysML Internal block diagram Standard port Flow port Item flow Interfaces Part: usage of block type Internal Block Diagram Represents interconnection and interfaces between the parts of a block 56
Model System Structures Structural allocation 57
Model System Structures Functional allocation: Actions to System components 58
Model System Structures Traceability to requirements: Blocks satisfying a req. 59
Derive State Model 60
Derive State Model 61
SysML State Machine Diagram Represents behavior of an entity in terms of its transitions between states triggered by events 62
Parametrics Constraints on block properties 66
SysML Parametric diagram Parametric Diagram Represents constraints on property values used to support engineering analysis Constraint property node Block value Value binding 67
Variant Management 68