All features supporting the SysML v2 BETA specification are currently ALPHA and subject to change. The final SysML 2.0.0 specification is expected to be officially adopted in the second half of 2025. While there have been many questions during the finalization, we believe this implementation provides enough value for early adopters to start preparing to create and execute models using the new specification. We will be expanding support for the specification through finalization, into SysML v2.1, and beyond. There are a small number of remaining issues related to execution scheduled for revision in SysMLv2.1. We will be expanding and clarifying support for SysML v2.x throughout the upcoming language revision process. Consult the What's New and Modeling with SysML v2 pages for more information about what is currently supported.

Model Configuration Files

After loading a model, Behavior Execution Engine requires a model configuration file that contains all the relevant information necessary to execute a simulation.

See the <BEE Install Directory>/samples/sysml2 directory for sample configuration files.

Model configuration file breakdown

The configuration file format is a JSON file with the fields that are defined in the table below.

Field Description
“configVersion”

This is the version number of the config format. Do not change this number, it's for Behavior Execution Engine to interpret.

“delegateModules”

A list of delegate modules needed to load prior to starting each simulation. If you are not using any, it can be empty "[]".

  • "identifier" – The UUID that matches the delegate module's identity.
  • "name" – The name associated with the identifier. This name is displayed when there is an error locating this module.

You don't need to specify the transitive dependencies of delegate modules here.

“additionalDelegateModuleSearchDirectories”

A list of additional directories to search for delegate modules. You can install your delegate module directly to the <BEE Install Directory>/delegates directory or specify one here.

All relative paths are relative to the config file not the installation directory.

“simConfigs”

A list of the configurations that define what a simulation can be. At least one entry needs to be defined for the configuration file to be valid. By default, the first entry is selected for execution in the drop-down box.

  • "name" – The name associated with this entry. You can define multiple entries with varying target elements or simulation times. Make sure this name is identifiable and unique to the other entries.
  • "startTime" – The start time of the simulation. Set this to when the simulation should start be (in ISO 8601 format, e.g., 2025-02-26T00:00:00Z).
  • "stopTime" – The stop time of the simulation. Set this to when the simulation should stop execution if reached (in ISO 8601 format, e.g., 2025-02-27T00:00:00Z).
  • "targetElement" – The complete fully qualified name for the element to execute. Currently, we only support choosing SysML Analysis, Verification, and Use Cases as targets.

Example model configuration file

Listed below is a template you can use for creating a module configuration file. Copy the text and paste it into a new file with the .config extension. Change the empty string values to match the table above.

{
    "configVersion" : "0.1.0",
    "delegateModules" : [],
    "additionalDelegateModuleSearchDirectories" : [],
    "simConfigs" : [
        {
            "name" : "",
            "startTime" : "",
            "stopTime" : "",
            "targetElement" : ""
        }
    ]
}

For example, listed below is a filled out configuration file for an example project and case.

{
    "configVersion" : "0.1.0",
    "delegateModules" : [
        {
            "identifier" : "46c69d44-0adf-4a0c-aff4-e5f5ae0ed042",
            "name" : "ExampleDelegateModule"
        }
    ],
    "additionalDelegateModuleSearchDirectories" : [
        "../delegateModule"
    ],
    "simConfigs" : [
        {
            "name" : "Example case",
            "startTime" : "2001-07-06T12:00:00.000000Z",
            "stopTime" : "2001-07-07T12:00:00.000000Z",
            "targetElement" : "My Project::exampleCase"
        }
    ]
}