SST
SysML v2 Overview & Demo
January 30, 2023
Sanford Friedenthal
SST Co-Lead
[email protected]
Agenda SST
SysML v2 Overview
Language Demo
API Demo
Summary
2 30 January 2023
SysML v2 Objectives SST
Increase adoption and effectiveness of MBSE with SysML by enhancing…
Precision and expressiveness of the language
Consistency and integration among language concepts
Interoperability with other engineering models and tools
Usability by model developers and consumers
Extensibility to support domain specific applications
Migration path for SysML v1 users and implementors
3 30 January 2023
Key Elements of SysML v2 SST
New Metamodel that is not constrained by UML
Preserves most of UML modeling capabilities with a focus on systems modeling
Grounded in formal semantics
Robust visualizations based on flexible view & viewpoint specification
Graphical, Tabular, Textual
Standardized API to access the model
4 30 January 2023
SysML v2 Language
Capabilities
SST
Requirements
Behavior
- function-based Analysis
- state-based - analysis cases
- sequence-based - expression language
- use cases SysML v2
Structure
Language
- decomposition Verification
- interconnection - verification cases
- classification
View & Viewpoint
5 30 January 2023
Vehicle Part Definition
Replaces SysML v1 Block
SST
The vehicle part definition is
characterized by different kinds of
features including
Attributes
Ports
Actions
States
…
6 30 January 2023
Vehicle Part Definition
Textual Syntax
SST
The textual syntax reflects the same model as the graphical syntax
7 30 January 2023
Vehicle States SST
States are hierarchical and can
include:
parallel states (e.g., concurrent states)
and mutually exclusive states
entry, exit, and do actions
constraints
8 30 January 2023
Vehicle States
Textual Syntax
SST
9 30 January 2023
SysML v2 Reuse Patterns SST
Definition and usage
A definition element defines an element such as a part, action, or requirement
A usage element is a usage of a definition element in a particular context
Pattern is applied consistently throughout the language
Variability
Variation points represent elements that can vary
▪ Variation applies to all definition and usage elements
A variant represents a particular choice at a variation point
A choice at one variation point can constrain choices at other variation points
A system can be configured by making choices at each variation point
consistent with the specified constraints
10 30 January 2023
Vehicle Part Defined by
Vehicle Part Definition
SST
Parts are specializations of their definitions (defined by)
Enables adaptation of each usage to its context by inheriting and redefining its features
11 30 January 2023
Vehicle Part
Textual Syntax
SST
nested part
connection
12 30 January 2023
Vehicle Usage Example
Modifying Usages to their Context
SST
Different usages
of Axle Assembly
Tire pressure is different
on front and rear tires
13 30 January 2023
Vehicle Part Decomposition SST
15 30 January 2023
Vehicle Part Interconnection SST
Part interconnection contains parts, ports, connections, and flows
16 30 January 2023
Vehicle Part Interconnection
with Variation
SST
Define vehicle configuration by specializing vehicle family with variation,
identifying variants, and redefining features as required
17 30 January 2023
Requirements SST
A constraint definition that a valid design «requirement group»
vehicleSpecification
solution must satisfy that can include:
Identifier «requirement»
Shall statement <1> massReqt:MassRequirement
doc The actual vehicle mass shall be
Constraint expression that can be evaluated to less than the required vehicle mass.
true or false
▪ can apply to performance, functional, interface and
other kinds of requirements if desired
constraints
Assumed constraint expression that is asserted to ^require {massActual<=massRequired}
be true for the requirement to be valid assume {massFluid<=40 [kg]}
18 30 January 2023
4D Model & Occurrences SST
Each entity called an occurrence has a lifetime
Distinct from attributes which do not have a lifetime
Reference clock
Can specify time slices and snapshots
Spatial items are kinds of occurrences that have spatial extent that can change
over their lifetime
Specified by shapes with position and orientation within coordinate frames
Individuals
Unique occurrence with a lifetime
19 30 January 2023
SysML v2 to v1
Terminology Mapping (partial)
SST
SysML v2 SysML v1
part / part def part property / block
attribute / attribute def value property / value type
port / port def proxy port / interface block
action / action def action / activity
state / state def state / state machine
constraint / constraint def constraint property / constraint block
requirement / requirement def requirement
connection / connection def connector / association block
view / view def view
20 30 January 2023
Connecting SysML v2 through the API SST
Systems Modeling API
SysML v2
CM of the Digital Thread
Source: Syndeia with SysML v2
• Structure
• Behavior CAD/CAD Viewer
• Requirements Source: FreeCAD with SysML v2
• Analysis
• Verification
• View & Viewpoint
Graph Visualization Analysis Solver
Source: Tom Sawyer with SysML v2 Source: Maple with SysML v2
22 17 January 2023
Contrasting SysML v2 with SysML v1 SST
Simpler to learn and use More expressive
Systems engineering concepts designed into Variant modeling
metamodel versus added-on Analysis case
Consistent application of definition and Trade-off analysis
usage pattern Individuals, snapshots, time slices
More consistent terminology
More robust quantitative properties (e.g., vectors, ..)
Ability to decompose parts, actions,
Simple geometry
More flexible model organization (unowned
Query/filter expressions
members, package filters)…
Metadata
More precise
More extensible
Textual syntax and expression language
Simpler language extension capability
Formal semantic grounding
▪ Based on model libraries
Requirements as constraints
More interoperable
Standardized API
23 30 January 2023
SysML v1 to SysML v2 Transformation SST
SysML v1 Model SysML v2 XMl SysML v2 Textual Notation
package eVehicleLibrary {
attribute def ElectricEnergy;
attribute def BatteryCapacity :> ScalarValues::Integer;
attribute def Speed :> ScalarValues::Integer;
port def PowerOutPort { out energy : ElectricEnergy;
}
interface def PowerInterface {
end supplierPort : PowerOutPort;
end consumerPort : ~PowerOutPort;
}
}
package eVehicleDefinitions {
import eVehicleLibrary::*;
part def Wheel {
value size : ScalarValues::Integer;
Source: SST Track 3 Presentation }
part def Battery {
Yves Bernard, Tim Weilkiens }
value capacity : BatteryCapacity;
08 February 2022 }
part def Engine;
…
Planned vs Completed Work
Since IW 2022
SST
Language API & Services
Finalize specification of graphical syntax Cross project element referencing
Time semantics and change/time events Conformance tests
Simple geometry (spatial semantics and OSLC PSM
shape library) Query specification updates
Language extension API Recipes
Behavior execution guidance
Model interchange Work completed in 2022
Additional work to be done during finalization
Conformance cases
SysML v1 to v2 transformation
28 January 2023
SysML v2 Milestones SST
December, 2017 SysML v2 RFP issued
June, 2018 SysML v2 API & Services RFP issued
August, 2020 Initial Submission
February, 2021 Stakeholder Review
August, 2021 Revised Submission
November, 2021 2nd Revised Submission (OMG evaluation initiated)
September, 2023 Specification Review at OMG
November, 2022 3rd Revised Submission
1st Qtr 2023 Final Submission (beta specification pending OMG approval)
2024 Adopted Specification (pending OMG approvals)
27 30 January 2023
SST
Language Demo
28 30 January 2023
SST
API & Services Demo
29 30 January 2023
SST
Summary
30 30 January 2023
Summary SST
SysML v2 is addressing SysML v1limitations to improve MBSE adoption and effectiveness
Precision, expressiveness
Regularity, usability
Interoperability with other engineering models and tools
Approach
SysML v2 metamodel with formal semantics architected to overcome fundamental UML limitations
Flexible graphical notations and textual notation
Standardized API for interoperability
Transformation specification from SysML v1 to SysML v2
Plan
Final submission (beta specification) - Q1 2023
Final adopted specification - 2024
31 30 January 2023
SST Public Repositories
Current Release: 2022-12
SST
Monthly release repository
https://github.com/Systems-Modeling/SysML-v2-Release
Release content
Specification documents (for KerML, SysML and API)
Training material for SysML textual notation
Training material for SysML graphical notation
Example models (in textual notation)
Pilot implementation
▪ Installer for Jupyter tooling
▪ Installation site for Eclipse plug-in
Web access to prototype repository via SysML v2 API
Web access to Tom Sawyer visualization tooling
Open-source repositories
https://github.com/Systems-Modeling
Google group for comments and questions
https://groups.google.com/g/SysML-v2-Release
(to request membership, provide name, affiliation and interest)
32 30 January 2023
SST
Thank You!!
33 30 January 2023