Part II. The Kernel Modeling Language

The Kernel Modeling Language (KerML) is a domain-independent modeling language for describing existing systems or for defining designs of planned systems, including not only digital software/hardware systems such as information systems, but also socio-cyber-physical systems such as spacecrafts or smart cities, and possibly also biological and social systems.

While digital systems and social systems can be viewed, and modeled, as discrete dynamical systems, where system state changes are discrete (as modeled by discrete events), physical systems are typically continuous dynamical systems, where system state changes are continuous (as modeled by differential equations). Surprisingly, this fundamental conceptual distinction between two kinds of system state changes has not been taken into consideration in KerML/SysML.

SysML v2 and its underlying foundation, KerML, represent an ambitious effort to improve both upon UML 2 and upon SysML v1. In this effort, very bold design choices have been made for obtaining a well-integrated parsimonious and profound systems modeling language, but at the expense of backwards compatibility, thus possibly hampering its usability.

While the UML was the foundation of SysML version 1, KerML is the foundation of SysML version 2, and is built upon 20 years of experience with SysML version 1 and 30 years of experience with UML. KerML keeps many of the modeling concepts of UML, but it also changes several of its concepts, introduces new concepts, and changes some of its terminology.