Back

Naked SysML! Please, Put Some Methodology On!

In theory, you can model everything in plain SysML. But in practice? Working with “naked” SysML, that is, using only the standard without any methodological or domain-specific extensions, can quickly become limiting.

Let’s take a concrete example: the System Context.

SysML (both v1 and v2) does not include the concept of a system context as a built-in modeling element. But in systems engineering practice, the system context is fundamental. It defines the boundary between the system of interest and its environment, including all relevant external entities that interact with the system. Without explicitly modeling this, we risk missing critical interfaces and assumptions early in the development process.

Now here’s the problem:

You can create a system context in naked SysML using parts and connections (or blocks in SysML v1), and display it in a view (or diagram in SysML v1). But how can a tool understand that this particular part represents the system context? The model is probably full of part elements. A script or API client can iterate over hundreds of model elements but without semantic markers, it can’t answer the simple question:

“What is the system context of this system?”

If you follow the club’s live sessions or learning units on developing a Python server for the SysML v2 API, you have already encountered this problem.

Methodologies to the Rescue

This is where MBSE methodologies like SYSMOD come in. SYSMOD defines modeling concepts missing from naked SysML, such as system context, and provides language extensions to encode them.

Here’s how a system context is defined with the SYSMOD language extension (skipping the system of interest and actors to keep it simple):

#systemContext part def MySystemContext;

This declaration does more than just label the element for human readers. It tells tools:

  • This is a system context definition.
  • It includes the system of interest and relevant actors.
  • It has a semantic meaning that can be interpreted programmatically.

The syntax “#systemContext” is a user-defined keyword in SysML v2, which integrates the concept of “SystemContext” modeled in SysML.

part def SystemContext {
    doc
    /* The SYSMOD System Context includes all system actors, the system of interest, 
     * the relationships between the actors and the system, as well as the use cases.
     */
    part actors [1..*];
    part <soi> systemOfInterest;
    connection act2sys [1..*] {
        end [1] part 'actor' ::> actors;
        end [1] part soi ::> soi;
    }
    use case useCases [0..*] {
        subject theSubject :> soi;
    }
}

By incorporating this information into the modeling language, we move from merely drawing models to engineering systems that enable automation, validation, and integration across the toolchain.

Why Language Extensions Matter

Language extensions are not just convenience features. They:

  • Make models understandable to machines, not just humans.
  • Enable automated analysis and validation based on semantics.
  • Improve consistency and reusability across projects and teams.
  • Bridge the gap between method and model, ensuring that best practices are embedded directly into the model structure.

Without these extensions, we rely on naming conventions or documentation, which are approaches that are fragile and prone to misinterpretation.

Conclusion

“Naked SysML” may look clean, but it often lacks the practical expressiveness needed in real-world MBSE projects. Adding a methodology like SYSMOD doesn’t just enhance clarity it enables models to be more useful, more robust, and more intelligent.

This blog post is based on the blog post by MBSE4U: https://mbse4u.com/2026/01/18/naked-sysml-please-put-some-methodology-on/.

Tim is a member of the executive board of the German consulting company oose, an MBSE consultant and trainer, and an active member of the OMG and INCOSE communities. He is a co-author of the SysML v1 specification, was co-chair of the task forces responsible for the last SysML v1 versions, and is actively involved in the ongoing work on SysML v2. He was co-chair of the task force responsible for the final submission of SysML v2, and is now co-chair of the SysML v2.1 revision task force (RTF). Tim is involved in numerous MBSE activities, and you can meet him at several conferences focused on MBSE and related topics.

As a consultant, he has advised many companies in different domains. His insights into their challenges are one source of his experience that he shares in books and presentations.