Skip to main content

KerML (Kernel Modeling Language)

KerML (Kernel Modeling Language) is the foundation language standardised by the OMG (Object Management Group) on which SysML v2 is built. It defines the core modelling concepts and the formal semantics that languages built on top of it reuse and specialise — above all SysML v2, but the kernel is open to other languages as well.

Why a kernel language?

SysML v1 was defined as a profile of UML and inherited a foundation designed for software modelling, including its semantic gaps. With v2, the OMG separated the concerns: KerML provides a small, formally defined core; SysML v2 adds the systems engineering vocabulary on top. This layering keeps the language stack clean and opens the foundation for reuse: domain-specific extensions and custom languages can build on the same kernel and remain interoperable with SysML v2 models.

Three layers

KerML is organised in three layers that build on each other:

LayerContent
RootBasic syntactic elements: elements, relationships, annotations — the raw material every model consists of
CoreThe formal basis: types, classifiers, features and specialisation, with precisely defined semantics
KernelGeneral modelling constructs: classes, structures, behaviours, functions, associations and connections

SysML v2 specialises these kernel constructs into systems engineering concepts: a part def is ultimately a specialised KerML classifier, a connection a specialised association. The definition/usage principle that shapes all of SysML v2 originates here.

Formal semantics

The decisive difference from the UML foundation is semantic precision. KerML grounds the meaning of its concepts mathematically, via a semantic model library and formal logic, instead of describing it in prose. Model elements therefore have a machine-interpretable meaning: tools can check consistency, derive views and reason about models instead of merely storing diagrams. This precision is what SysML v2’s automated analysis capabilities and its cross-tool interoperability rest on.

KerML in practice

Most systems engineers never write KerML directly; they model in SysML v2 and benefit from the kernel indirectly, through a language that behaves consistently across constructs and tools. KerML becomes directly relevant for tool vendors implementing SysML v2, for language engineers extending it, and for teams considering a domain-specific language: the kernel offers a standardised, formally grounded foundation to build on instead of starting from scratch.

Related terms

Frequently asked questions

What is the relationship between KerML and SysML v2?
KerML is the foundation, SysML v2 the systems engineering language built on top of it. KerML defines the core concepts (types, features, specialisation, connections) and the formal semantics; SysML v2 specialises them into systems engineering vocabulary such as part definitions, requirements and actions. The split replaces the UML profile mechanism that SysML v1 was based on.
Do systems engineers need to learn KerML?
Usually not. Practitioners model in SysML v2 and encounter KerML only indirectly, through the consistent behaviour of the language. KerML matters for tool vendors, language engineers and method owners — anyone who implements SysML v2, extends it, or builds their own modelling language on the same foundation.
How does KerML differ from UML as a foundation?
UML was designed for software modelling, and SysML v1 had to work around that heritage as a profile. KerML is purpose-built as a kernel language: a small set of concepts with mathematically grounded, machine-interpretable semantics and a first-class textual notation. That precision is what enables automated analysis and reliable tool interoperability in SysML v2.
Reviewed by Benjamin Alders, Principal Systems Engineer on August 14, 2026