SysML® v2 Summit Reston VA 20 March 2025 Ed
Description: SysML v2 Summit Reston VA 20 March 2025 Ed Seidewitz Model Driven Solutions Co-Chair, OMG Systems Modeling Community Domain-Specific Modeling with SysML v2 A general-purpose modeling language (GPML) is broadly applicable for all kinds of
Related Topics
Download Presentation
"SysML® v2 Summit Reston VA 20 March 2025 Ed" is the property of its rightful owner. Permission is granted to download and print the materials on this website for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Presentation Transcript
slide1. SysML® v2 Summit
Reston VA
20 March 2025 Ed Seidewitz
Model Driven Solutions
Co-Chair, OMG Systems Modeling Community Domain-Specific Modeling with SysML v2<br>
slide2. A general-purpose modeling language (GPML) is broadly applicable for all kinds of modeling.
A domain-specific modeling language (DSML) is specialized to a specific application domain (e.g., aerospace, automotive, etc.), engineering domain (e.g., control, electrical, aerodynamics, etc.) or other purpose (e.g., supporting specific organizational processes).
Domain-specific modeling is systematically using DSMLs to model various facets of a system…
or
…systematically adapting a GPML to model different domains. 20 March 2025 2 Copyright © 2025 Model Driven Solutions, Inc. Domain-Specific Modeling<br>
slide3. SysML is a GPML for systems modeling.
SysML v1 was typically adapted for domain-specific modeling using profiles.
Stereotypes adapt specific SysML v1 elements for domain-specific concepts
Tools can key off stereotypes to provide domain-specific visualization, validation, etc.
SysML v1 was itself defined as a profile of UML.
However, stereotypes provide only a syntactic marker, with no formal specification of semantics.
How is domain-specific modeling done in SysML v2? 20 March 2025 3 Copyright © 2025 Model Driven Solutions, Inc. Domain-Specific Modeling in SysML<br>
slide4. 20 March 2025 KerML/SysML v2 Language Architecture semantic
specification Kernel Modeling Language(KerML) metamodel semantic library metamodel semantic library Systems Modeling Language(SysML) Copyright © 2025 Model Driven Solutions, Inc. 4 Direct semantic mapping to formal logic Declarative semantic base elements and domain-specific libraries modeled using SysML Declarative semantic base elements modeled using KerML<br>
slide5. 20 March 2025 Copyright © 2025 Model Driven Solutions, Inc. 5 Simple Car Example «part def»Car drivePort drivenPort part def Car {
part engine: Engine[1];
part wheels: Wheel[4];
interface drive: DriveTrain
connect [1] drivePort ::> engine.enginePort
to [2] drivenPort ::> wheels.wheelPort;
}<br>
slide6. 20 March 2025 Copyright © 2025 Model Driven Solutions, Inc. 6 Systems Library Concepts item def Item specializes Object {
item subitems : Item [0..*];
part subparts : Part [0..*];
}
part def Part specializes Item {
port ownedPorts : Port [0..*];
}
port def Port specializes Object;
connection def Connection specializes Association {
end ref source : Anything;
end ref target : Anything;
}
interface def Interface specializes Connection {
end port redefines source : Port;
end port redefines target : Port;
} Each ”kind” of thing in SysML v2 has a corresponding concept in the Systems Library. Ultimately, Systems Library concepts specialize KerML Semantic Library concepts.<br>
slide7. Car Example package Car_Example {
port def DrivePort {
out attribute torque: ISQ::TorqueValue;
}
part def Engine {
port enginePort: DrivePort;
}
part def Wheel {
port wheelPort: ~DrivePort;
}
interface def DriveTrain {
end [0..1] port drivePort: DrivePort;
end [0..*] port drivenPort: ~DrivePort;
}
part def Car {
part engine: Engine[1];
part wheels: Wheel[4];
interface drive: DriveTrain
connect [1] engine.enginePort to [2] wheels.wheelPort;
}
} Copyright © 2025 Model Driven Solutions, Inc. 7 20 March 2025<br>
slide8. Car Example (with implied specializations) package Car_Example {
port def DrivePort specializes Port {
out attribute torque: ISQ::TorqueValue subsets attributeValues;
}
part def Engine specializes Part {
port enginePort: DrivePort subsets ownedPorts;
}
part def Wheel specializes Part {
port wheelPort: ~DrivePort subsets ownedPorts;
}
interface def DriveTrain specializes Interface {
end [0..1] port drivePort: DrivePort redefines source;
end [0..*] port drivenPort: ~DrivePort redefines target;
}
part def Car specializes Part {
part engine: Engine[1] subsets subparts;
part wheels: Wheel[4] subsets subparts;
interface drive: DriveTrain subsets subparts, interfaces
connect [1] engine.enginePort to [2] wheels.wheelPort;
}
} Copyright © 2025 Model Driven Solutions, Inc. 8 20 March 2025 Definitions in user models have implied specializations of library base types. Keywords act as “semantic markers” for semantic concepts.<br>
slide9. Vehicle Library library package Vehicle_Library {
port def DrivePort {
out attribute torque: ISQ::TorqueValue;
}
part def Engine {
port enginePort: DrivePort;
}
part engines: Engine[0..*];
part def Wheel {
port wheelPort: ~DrivePort;
}
part wheels: Wheel[0..*];
interface def DriveTrain {
end [0..1] port drivePort: DrivePort;
end [0..*] port drivenPort: ~DrivePort;
}
abstract interface driveTrains: DriveTrain[0..*];
part def Vehicle {
part redefines engines;
part redefines wheels;
part redefines driveTrains;
}
} 20 March 2025 Copyright © 2025 Model Driven Solutions, Inc. 9 A model library defines concepts in a specialized domain. Providing both base definitions and base usages. Redefines base usages as features in a specific context.<br>
slide10. Car Example Using Vehicle Library package Car_System {
private import Vehicle_Library::*;
part def Car specializes Vehicle {
part carEngine[1] subsets engines;
part carWheels[4] subsets wheels;
interface drive: DriveTrain subsets driveTrains
connect [1] carEngine.enginePort
to [2] carWheels.wheelPort;
}
} 20 March 2025 Copyright © 2025 Model Driven Solutions, Inc. 10 Specializes base concept of Vehicle. Specializes features from the Vehicle context.<br>
slide11. Vehicle Metadata package Vehicle_Metadata {
private import Vehicle_Library::*;
private import Metaobjects::SemanticMetadata;
metadata def drive specializes SemanticMetadata {
redefines baseType = driveTrains meta SysML::Usage;
subsets annotatedElement : SysML::InterfaceUsage;
}
metadata def engine specializes SemanticMetadata {
redefines baseType = engines meta SysML::Usage;
subsets annotatedElement : SysML::Usage;
}
metadata def wheel specializes SemanticMetadata {
redefines baseType = wheels meta SysML::Usage;
subsets annotatedElement : SysML::Usage;
}
metadata def vehicle specializes SemanticMetadata {
redefines baseType = Vehicle meta SysML::Definition;
subsets annotatedElement : SysML::Definition;
}
} Metadata are user-definable, model-level annotations of an element. 20 March 2025 Copyright © 2025 Model Driven Solutions, Inc. 11 Semantic metadata links an element to a base type in a semantic library.<br>
slide12. Car Example Using Vehicle Metadata (DSML) package Car_Example {
private import Vehicle_Metadata::*;
#vehicle def Car {
#engine carEngine[1];
#wheel carWheels[4];
#drive interface
connect [1] carEngine.enginePort
to [2] carWheels.wheelPort;
}
} A user defined keyword is a shorthand for annotating an element with the named metadata. Semantic metadate implies specialization by the base type. Copyright © 2025 Model Driven Solutions, Inc. 12 20 March 2025<br>
slide13. Used to develop architectural descriptions of enterprises in commercial industries, federal governments and military organizations
Developed by Object Management Group (OMG) with the leadership from Dassault Systemes, Lockheed Martin and INCOSE
International ISO standard ISO/IEC 19540:1 and ISO/IEC 19540:2
Current version of UAF specification is 1.2, work is ongoing on UAF v2 20 March 2025 13 Copyright © 2025 Model Driven Solutions, Inc. Unified Architecture Framework (UAF) metadata def <operationalPerformer> OperationalPerformerMetadata :> SemanticMetadata{
:> annotatedElement : SysML::PartDefinition;
:> annotatedElement : SysML::PartUsage;
:>> baseType = operationalPerformers meta SysML::PartUsage;
}
metadata def <operationalActivity> operationalActivityMetadata :> SemanticMetadata {
:> annotatedElement : SysML::ActionDefinition;
:> annotatedElement : SysML::ActionUsage;
:>> baseType = operationalActivities meta SysML::ActionUsage;
} Source: Aurelius Morkevičius, “UAF V2 SML (Standard Model Libraries), Best Practices of Extending SysML V2”, Dassault Systèmes, INCOSE IW 2025<br>
slide14. 20 March 2025 Copyright © 2025 Model Driven Solutions, Inc. 14 UAF Operational Example (graphical notation) Source: Aurelius Morkevičius, “UAF V2 SML (Standard Model Libraries), Best Practices of Extending SysML V2”, Dassault Systèmes, INCOSE IW 2025<br>
slide15. SAE-standardized language (V2.3, 2022)
Safety-critical embedded system modeling, analysis, and generation
Strongly typed language with well-defined semantics for the execution of threads, processes on partitions and processor, sampled/queued communication, modes, and end-to-end flows
Standardized AADL extensions
OMG Systems Modeling Community Real-Time Embedded Safety Critical Systems Working Group
Vision: “Merging SysML v2 and AADL will extend the principles of Digital Engineering to address safety-critical systems, enabling end-to-end traceability”
AADL concepts as a SysMLv2/KerML library 20 March 2025 15 Copyright © 2025 Model Driven Solutions, Inc. Architecture Analysis and Design Language (AADL) 14 November 2024 part def Accelero :> Abstract {
port Accelero_Out : EventDataPort;
:> Dispatch_Protocol = Periodic;
:> Period = 4 [ms]; } Source: RTESC WG presentation to SMC plenary, September 2024<br>
slide16. Method originally developed by Thales from 2001 to 2009
Standardized by Association Française de Normalisation (AFNOR) in 2018
Conforms to ISO/IEC/IEEE 24641:2023 Systems and Software Engineering: Methods and tools for model-based systems and software engineering
Capella is the (open source) tool for the Arcadia method
Arcadia/Capella and SysML v2 both address issues with SysML v1
Capella models can be represented using a SysML v2 model of syntactic and semantic concepts from Arcadia/Capella Arcadia (Architecture Analysis and Design Integrated Approach) Library of basic Arcadia / Capella concepts Source: Seidewitz, Komar, Ryan (Siemens), “Integrating Arcadia and Capella with SysML v2”, INCOSE IS 2024 20 March 2025 Copyright © 2025 Model Driven Solutions, Inc. 16<br>
slide17. SysML v2 is a general-purpose modeling language with powerful capabilities for domain-specific modeling.
SysML v2 concepts of concepts of metadata and model libraries replace the v1 concepts of stereotypes and profiles.
Model libraries to define domain-specific semantics.
Metadata to annotate user model elements and tie them to semantic library base types.
Already being used for standard domain-specific language specification.
Allow domain-specific modeling at project, organization and community levels. 20 March 2025 17 Copyright © 2025 Model Driven Solutions, Inc. Conclusion<br>
Reston VA
20 March 2025 Ed Seidewitz
Model Driven Solutions
Co-Chair, OMG Systems Modeling Community Domain-Specific Modeling with SysML v2<br>
slide2. A general-purpose modeling language (GPML) is broadly applicable for all kinds of modeling.
A domain-specific modeling language (DSML) is specialized to a specific application domain (e.g., aerospace, automotive, etc.), engineering domain (e.g., control, electrical, aerodynamics, etc.) or other purpose (e.g., supporting specific organizational processes).
Domain-specific modeling is systematically using DSMLs to model various facets of a system…
or
…systematically adapting a GPML to model different domains. 20 March 2025 2 Copyright © 2025 Model Driven Solutions, Inc. Domain-Specific Modeling<br>
slide3. SysML is a GPML for systems modeling.
SysML v1 was typically adapted for domain-specific modeling using profiles.
Stereotypes adapt specific SysML v1 elements for domain-specific concepts
Tools can key off stereotypes to provide domain-specific visualization, validation, etc.
SysML v1 was itself defined as a profile of UML.
However, stereotypes provide only a syntactic marker, with no formal specification of semantics.
How is domain-specific modeling done in SysML v2? 20 March 2025 3 Copyright © 2025 Model Driven Solutions, Inc. Domain-Specific Modeling in SysML<br>
slide4. 20 March 2025 KerML/SysML v2 Language Architecture semantic
specification Kernel Modeling Language(KerML) metamodel semantic library metamodel semantic library Systems Modeling Language(SysML) Copyright © 2025 Model Driven Solutions, Inc. 4 Direct semantic mapping to formal logic Declarative semantic base elements and domain-specific libraries modeled using SysML Declarative semantic base elements modeled using KerML<br>
slide5. 20 March 2025 Copyright © 2025 Model Driven Solutions, Inc. 5 Simple Car Example «part def»Car drivePort drivenPort part def Car {
part engine: Engine[1];
part wheels: Wheel[4];
interface drive: DriveTrain
connect [1] drivePort ::> engine.enginePort
to [2] drivenPort ::> wheels.wheelPort;
}<br>
slide6. 20 March 2025 Copyright © 2025 Model Driven Solutions, Inc. 6 Systems Library Concepts item def Item specializes Object {
item subitems : Item [0..*];
part subparts : Part [0..*];
}
part def Part specializes Item {
port ownedPorts : Port [0..*];
}
port def Port specializes Object;
connection def Connection specializes Association {
end ref source : Anything;
end ref target : Anything;
}
interface def Interface specializes Connection {
end port redefines source : Port;
end port redefines target : Port;
} Each ”kind” of thing in SysML v2 has a corresponding concept in the Systems Library. Ultimately, Systems Library concepts specialize KerML Semantic Library concepts.<br>
slide7. Car Example package Car_Example {
port def DrivePort {
out attribute torque: ISQ::TorqueValue;
}
part def Engine {
port enginePort: DrivePort;
}
part def Wheel {
port wheelPort: ~DrivePort;
}
interface def DriveTrain {
end [0..1] port drivePort: DrivePort;
end [0..*] port drivenPort: ~DrivePort;
}
part def Car {
part engine: Engine[1];
part wheels: Wheel[4];
interface drive: DriveTrain
connect [1] engine.enginePort to [2] wheels.wheelPort;
}
} Copyright © 2025 Model Driven Solutions, Inc. 7 20 March 2025<br>
slide8. Car Example (with implied specializations) package Car_Example {
port def DrivePort specializes Port {
out attribute torque: ISQ::TorqueValue subsets attributeValues;
}
part def Engine specializes Part {
port enginePort: DrivePort subsets ownedPorts;
}
part def Wheel specializes Part {
port wheelPort: ~DrivePort subsets ownedPorts;
}
interface def DriveTrain specializes Interface {
end [0..1] port drivePort: DrivePort redefines source;
end [0..*] port drivenPort: ~DrivePort redefines target;
}
part def Car specializes Part {
part engine: Engine[1] subsets subparts;
part wheels: Wheel[4] subsets subparts;
interface drive: DriveTrain subsets subparts, interfaces
connect [1] engine.enginePort to [2] wheels.wheelPort;
}
} Copyright © 2025 Model Driven Solutions, Inc. 8 20 March 2025 Definitions in user models have implied specializations of library base types. Keywords act as “semantic markers” for semantic concepts.<br>
slide9. Vehicle Library library package Vehicle_Library {
port def DrivePort {
out attribute torque: ISQ::TorqueValue;
}
part def Engine {
port enginePort: DrivePort;
}
part engines: Engine[0..*];
part def Wheel {
port wheelPort: ~DrivePort;
}
part wheels: Wheel[0..*];
interface def DriveTrain {
end [0..1] port drivePort: DrivePort;
end [0..*] port drivenPort: ~DrivePort;
}
abstract interface driveTrains: DriveTrain[0..*];
part def Vehicle {
part redefines engines;
part redefines wheels;
part redefines driveTrains;
}
} 20 March 2025 Copyright © 2025 Model Driven Solutions, Inc. 9 A model library defines concepts in a specialized domain. Providing both base definitions and base usages. Redefines base usages as features in a specific context.<br>
slide10. Car Example Using Vehicle Library package Car_System {
private import Vehicle_Library::*;
part def Car specializes Vehicle {
part carEngine[1] subsets engines;
part carWheels[4] subsets wheels;
interface drive: DriveTrain subsets driveTrains
connect [1] carEngine.enginePort
to [2] carWheels.wheelPort;
}
} 20 March 2025 Copyright © 2025 Model Driven Solutions, Inc. 10 Specializes base concept of Vehicle. Specializes features from the Vehicle context.<br>
slide11. Vehicle Metadata package Vehicle_Metadata {
private import Vehicle_Library::*;
private import Metaobjects::SemanticMetadata;
metadata def drive specializes SemanticMetadata {
redefines baseType = driveTrains meta SysML::Usage;
subsets annotatedElement : SysML::InterfaceUsage;
}
metadata def engine specializes SemanticMetadata {
redefines baseType = engines meta SysML::Usage;
subsets annotatedElement : SysML::Usage;
}
metadata def wheel specializes SemanticMetadata {
redefines baseType = wheels meta SysML::Usage;
subsets annotatedElement : SysML::Usage;
}
metadata def vehicle specializes SemanticMetadata {
redefines baseType = Vehicle meta SysML::Definition;
subsets annotatedElement : SysML::Definition;
}
} Metadata are user-definable, model-level annotations of an element. 20 March 2025 Copyright © 2025 Model Driven Solutions, Inc. 11 Semantic metadata links an element to a base type in a semantic library.<br>
slide12. Car Example Using Vehicle Metadata (DSML) package Car_Example {
private import Vehicle_Metadata::*;
#vehicle def Car {
#engine carEngine[1];
#wheel carWheels[4];
#drive interface
connect [1] carEngine.enginePort
to [2] carWheels.wheelPort;
}
} A user defined keyword is a shorthand for annotating an element with the named metadata. Semantic metadate implies specialization by the base type. Copyright © 2025 Model Driven Solutions, Inc. 12 20 March 2025<br>
slide13. Used to develop architectural descriptions of enterprises in commercial industries, federal governments and military organizations
Developed by Object Management Group (OMG) with the leadership from Dassault Systemes, Lockheed Martin and INCOSE
International ISO standard ISO/IEC 19540:1 and ISO/IEC 19540:2
Current version of UAF specification is 1.2, work is ongoing on UAF v2 20 March 2025 13 Copyright © 2025 Model Driven Solutions, Inc. Unified Architecture Framework (UAF) metadata def <operationalPerformer> OperationalPerformerMetadata :> SemanticMetadata{
:> annotatedElement : SysML::PartDefinition;
:> annotatedElement : SysML::PartUsage;
:>> baseType = operationalPerformers meta SysML::PartUsage;
}
metadata def <operationalActivity> operationalActivityMetadata :> SemanticMetadata {
:> annotatedElement : SysML::ActionDefinition;
:> annotatedElement : SysML::ActionUsage;
:>> baseType = operationalActivities meta SysML::ActionUsage;
} Source: Aurelius Morkevičius, “UAF V2 SML (Standard Model Libraries), Best Practices of Extending SysML V2”, Dassault Systèmes, INCOSE IW 2025<br>
slide14. 20 March 2025 Copyright © 2025 Model Driven Solutions, Inc. 14 UAF Operational Example (graphical notation) Source: Aurelius Morkevičius, “UAF V2 SML (Standard Model Libraries), Best Practices of Extending SysML V2”, Dassault Systèmes, INCOSE IW 2025<br>
slide15. SAE-standardized language (V2.3, 2022)
Safety-critical embedded system modeling, analysis, and generation
Strongly typed language with well-defined semantics for the execution of threads, processes on partitions and processor, sampled/queued communication, modes, and end-to-end flows
Standardized AADL extensions
OMG Systems Modeling Community Real-Time Embedded Safety Critical Systems Working Group
Vision: “Merging SysML v2 and AADL will extend the principles of Digital Engineering to address safety-critical systems, enabling end-to-end traceability”
AADL concepts as a SysMLv2/KerML library 20 March 2025 15 Copyright © 2025 Model Driven Solutions, Inc. Architecture Analysis and Design Language (AADL) 14 November 2024 part def Accelero :> Abstract {
port Accelero_Out : EventDataPort;
:> Dispatch_Protocol = Periodic;
:> Period = 4 [ms]; } Source: RTESC WG presentation to SMC plenary, September 2024<br>
slide16. Method originally developed by Thales from 2001 to 2009
Standardized by Association Française de Normalisation (AFNOR) in 2018
Conforms to ISO/IEC/IEEE 24641:2023 Systems and Software Engineering: Methods and tools for model-based systems and software engineering
Capella is the (open source) tool for the Arcadia method
Arcadia/Capella and SysML v2 both address issues with SysML v1
Capella models can be represented using a SysML v2 model of syntactic and semantic concepts from Arcadia/Capella Arcadia (Architecture Analysis and Design Integrated Approach) Library of basic Arcadia / Capella concepts Source: Seidewitz, Komar, Ryan (Siemens), “Integrating Arcadia and Capella with SysML v2”, INCOSE IS 2024 20 March 2025 Copyright © 2025 Model Driven Solutions, Inc. 16<br>
slide17. SysML v2 is a general-purpose modeling language with powerful capabilities for domain-specific modeling.
SysML v2 concepts of concepts of metadata and model libraries replace the v1 concepts of stereotypes and profiles.
Model libraries to define domain-specific semantics.
Metadata to annotate user model elements and tie them to semantic library base types.
Already being used for standard domain-specific language specification.
Allow domain-specific modeling at project, organization and community levels. 20 March 2025 17 Copyright © 2025 Model Driven Solutions, Inc. Conclusion<br>