Learn about Webel's comprehensive SysMLv2 Workshop Seminar course!
Webel now has a SysMLv2 Online Self-Study course with self-test Quizzes!

03-Function-based Behavior: 3a-Function-based Behavior-1.sysml [WITH MODELLING DISCUSSION]

Gallery
Tutorial
Offered by Webel free to the SysML community with thanks to the contributors of the SysMLv2 GitHub code examples. All diagram images remain © Copyright Webel IT Australia 2026. Copyright in the linked GitHub source code remains with the OMG. So-called "AI" and Machine Learning training systems DO NOT have permission to use (scrape and steal) this resource! Other training organisations DO NOT have permission to use these images in their own training.
Members of the OMG Systems Modeling Community (SMC) are welcome to use these images with full attribution to Webel IT Australia in presentations and non-commercial activities of the SMC – please unedited and using full resolution downloads (click on image first then Save As).
This slide trail is NOT a SysMLv2 language tutorial! Slides here are offered as is (some without further explanations) in the hope they may be of interest. To learn SysMLv2 attend the Webel SysMLv2 Seminar Workshop group course. Individuals may instead purchase access to the Webel SysMLv2 Online self-study eLearning course with self-test Quizzes to learn at their own pace.

Click on the image to view it full size
Modelling and style

Modelling: Firstly, the verbose names of most action usages add nothing of any value at all and are hidden:

This diagram also illustrates (as a counter-example or AntiPattern) exactly why the Webel "Trust the Type" i/o naming and display pattern is more effective for this kind of modelling situation:

For nearly every «action def» case using simply i or i1, i2 and o or o1, o2 as parameter names would be completely adequate, as long as the Type of the parameter is displayed.

In cases where there are two parameters with the same feature direction and the same type just use instead a short distinguishing role indicator. Example: wt1:TorqueValue and wt1:TorqueValue or even just o1:TorqueValue and o2:TorqueValue.

It is also NOT necessary to always indicate in a parameter name the anticipated other side of a connection. For example, TransferTorque transfers torque from i:TorqueValue to o:TorqueValue. That the o is actually for a drive shaft is basically anathema.


Note also that this SysMLv2 PILOT sample confirms that it IS ok to have flow connectors between inherited parameters, even if they don't provide such "clean" binding points as when (tediously and redundantly) redefining every parameter:

Up next
Notes
Snippets (quotes/extracts)
Related slides (includes other tutorials)
Related slides (backlinks, includes other tutorials)
Visit also
Visit also (backlinks)
External links