Skip to content

msosa

adh.msosa ¤

MSoSA: Model-Based System-of-Systems Architecture.

  • Guidelines for developing and describing complex Systems-of-Systems.

Modules:

  • architecture

    ADH Architecture (Arch) Models.

  • behavior

    ADH Behavior (Behv) Models.

  • metadata

    Shared node metadata, provenance, and fidelity models.

  • performance

    ADH Performance (Perf) Models.

  • requirements

    ADH Requirements (Reqs) Models.

Classes:

  • Activity

    An individual activity or task within a behaviour sequence.

  • ActivityState

    Lifecycle state of an activity.

  • Architecture

    Base model for all WBS architecture nodes.

  • Author

    Author or contributor to an ADH node.

  • Behavior

    Behavioural model of a system, combining an activity sequence with DaveML tables.

  • Behaviors

    Container for a list of behaviours.

  • Discipline

    A specific discipline organizing associated tools, models, and methodologies.

  • ExternalReference

    Reference to an external file or document.

  • FidelityLevel

    L0-L4 fidelity taxonomy for ADH domain blocks.

  • MSoSAMixin

    Add recursive MSoSA child views to a true architecture node.

  • Metadata

    Key-value metadata for annotating architecture nodes.

  • NodeMetaMixin

    Shared top-level metadata for ADH node-like models.

  • PerfDisciplines

    Taxonomy for performance measures.

  • Performances

    Container for a list of performance disciplines.

  • Priority

    Requirement priority levels per INCOSE guidance.

  • ReqsCategories

    Taxonomy for system requirements based on ISO/IEC/IEEE 29148 and

  • Requirement

    A single requirement including specification, tracking and validation.

  • RequirementStatus

    Lifecycle status of a requirement.

  • Requirements

    Container for a list of requirements.

  • SourceInfo

    Source and authorship metadata for an ADH node.

  • VerificationMethod

    Verification methods per ISO/IEC/IEEE 15288:2023.

Activity pydantic-model ¤

Bases: BaseModel

An individual activity or task within a behaviour sequence.

Show JSON schema:
{
  "$defs": {
    "ActivityState": {
      "description": "Lifecycle state of an activity.",
      "enum": [
        "pending",
        "in_progress",
        "completed",
        "cancelled"
      ],
      "title": "ActivityState",
      "type": "string"
    }
  },
  "description": "An individual activity or task within a behaviour sequence.",
  "properties": {
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "A unique name identifying the activity.",
      "title": "Name"
    },
    "description": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "A brief description of the activity's purpose and objectives.",
      "title": "Description"
    },
    "state": {
      "anyOf": [
        {
          "$ref": "#/$defs/ActivityState"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The current state of the activity."
    },
    "dependencies": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "List of activity names that this activity depends on.",
      "title": "Dependencies"
    }
  },
  "title": "Activity",
  "type": "object"
}

Fields:

Validators:

dependencies pydantic-field ¤

dependencies: Optional[list[str]] = None

List of activity names that this activity depends on.

description pydantic-field ¤

description: Optional[str] = None

A brief description of the activity's purpose and objectives.

name pydantic-field ¤

name: Optional[str] = None

A unique name identifying the activity.

state pydantic-field ¤

state: Optional[ActivityState] = None

The current state of the activity.

ActivityState ¤

Bases: str, Enum

Lifecycle state of an activity.

Architecture pydantic-model ¤

Bases: NodeMetaMixin, BaseModel

Base model for all WBS architecture nodes.

Show JSON schema:
{
  "$defs": {
    "Author": {
      "description": "Author or contributor to an ADH node.",
      "properties": {
        "name": {
          "description": "Full name of the author.",
          "title": "Name",
          "type": "string"
        },
        "organisation": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Organisation or affiliation.",
          "title": "Organisation"
        },
        "email": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Email address.",
          "title": "Email"
        }
      },
      "required": [
        "name"
      ],
      "title": "Author",
      "type": "object"
    },
    "ExternalReference": {
      "description": "Reference to an external file or document.",
      "properties": {
        "title": {
          "description": "Title or name of the referenced resource.",
          "title": "Title",
          "type": "string"
        },
        "path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "File path or URI to the external resource.",
          "title": "Path"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description of the reference and its relevance.",
          "title": "Description"
        },
        "classification": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Type classification of the reference (e.g. 'STEP file', 'CFD mesh', 'test report').",
          "title": "Classification"
        }
      },
      "required": [
        "title"
      ],
      "title": "ExternalReference",
      "type": "object"
    },
    "SourceInfo": {
      "description": "Source and authorship metadata for an ADH node.",
      "properties": {
        "authors": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/Author"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Authors or contributors.",
          "title": "Authors"
        },
        "creation_date": {
          "anyOf": [
            {
              "format": "date",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Date this node was created.",
          "title": "Creation Date"
        },
        "modification_date": {
          "anyOf": [
            {
              "format": "date",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Date this node was last modified.",
          "title": "Modification Date"
        },
        "version": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Version string.",
          "title": "Version"
        },
        "references": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/ExternalReference"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "References to external files or documents.",
          "title": "References"
        }
      },
      "title": "SourceInfo",
      "type": "object"
    }
  },
  "additionalProperties": true,
  "description": "Base model for all WBS architecture nodes.",
  "properties": {
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "A unique model name.",
      "title": "Name"
    },
    "description": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "A brief description of the model.",
      "title": "Description"
    },
    "source_info": {
      "anyOf": [
        {
          "$ref": "#/$defs/SourceInfo"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Source and authorship metadata."
    },
    "uuid": {
      "anyOf": [
        {
          "format": "uuid4",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "A globally unique identifier for the model.",
      "title": "Uuid"
    },
    "wbs_no": {
      "default": "",
      "title": "Wbs No",
      "type": "string"
    }
  },
  "title": "Architecture",
  "type": "object"
}

Config:

  • validate_assignment: True
  • extra: allow
  • str_strip_whitespace: True
  • str_min_length: 1

Fields:

Validators:

  • validate_wbs_nowbs_no

description pydantic-field ¤

description: Optional[str] = None

A brief description of the model.

name pydantic-field ¤

name: Optional[str] = None

A unique model name.

source_info pydantic-field ¤

source_info: Optional[SourceInfo] = None

Source and authorship metadata.

uuid pydantic-field ¤

uuid: Optional[UUID4] = None

A globally unique identifier for the model.

Author pydantic-model ¤

Bases: BaseModel

Author or contributor to an ADH node.

Show JSON schema:
{
  "description": "Author or contributor to an ADH node.",
  "properties": {
    "name": {
      "description": "Full name of the author.",
      "title": "Name",
      "type": "string"
    },
    "organisation": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Organisation or affiliation.",
      "title": "Organisation"
    },
    "email": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Email address.",
      "title": "Email"
    }
  },
  "required": [
    "name"
  ],
  "title": "Author",
  "type": "object"
}

Fields:

email pydantic-field ¤

email: Optional[str] = None

Email address.

name pydantic-field ¤

name: str

Full name of the author.

organisation pydantic-field ¤

organisation: Optional[str] = None

Organisation or affiliation.

Behavior pydantic-model ¤

Bases: TablesMixin

Behavioural model of a system, combining an activity sequence with DaveML tables.

Show JSON schema:
{
  "$defs": {
    "Activity": {
      "description": "An individual activity or task within a behaviour sequence.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A unique name identifying the activity.",
          "title": "Name"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A brief description of the activity's purpose and objectives.",
          "title": "Description"
        },
        "state": {
          "anyOf": [
            {
              "$ref": "#/$defs/ActivityState"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The current state of the activity."
        },
        "dependencies": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "List of activity names that this activity depends on.",
          "title": "Dependencies"
        }
      },
      "title": "Activity",
      "type": "object"
    },
    "ActivityState": {
      "description": "Lifecycle state of an activity.",
      "enum": [
        "pending",
        "in_progress",
        "completed",
        "cancelled"
      ],
      "title": "ActivityState",
      "type": "string"
    },
    "Author": {
      "description": "Author or contributor to an ADH node.",
      "properties": {
        "name": {
          "description": "Full name of the author.",
          "title": "Name",
          "type": "string"
        },
        "organisation": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Organisation or affiliation.",
          "title": "Organisation"
        },
        "email": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Email address.",
          "title": "Email"
        }
      },
      "required": [
        "name"
      ],
      "title": "Author",
      "type": "object"
    },
    "Bounds": {
      "description": "Statistical limits of a parameter.",
      "properties": {
        "value": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "$ref": "#/$defs/DataTable"
            },
            {
              "$ref": "#/$defs/VariableDef"
            },
            {
              "$ref": "#/$defs/VariableRef"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The bound value or reference",
          "title": "Value"
        }
      },
      "title": "Bounds",
      "type": "object"
    },
    "BpRef": {
      "description": "Reference to a breakpoint set.",
      "properties": {
        "bp_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the referenced breakpoint set",
          "title": "Bp Id"
        }
      },
      "title": "BpRef",
      "type": "object"
    },
    "BreakpointDef": {
      "description": "Definition of a breakpoint set.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the breakpoint set",
          "title": "Name"
        },
        "bp_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The unique identifier for this breakpoint set",
          "title": "Bp Id"
        },
        "units": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The units of measure for the breakpoints",
          "title": "Units"
        },
        "description": {
          "anyOf": [
            {
              "$ref": "#/$defs/Description"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A description of the breakpoint set"
        },
        "bp_vals": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The breakpoint values",
          "title": "Bp Vals"
        }
      },
      "title": "BreakpointDef",
      "type": "object"
    },
    "Calculation": {
      "description": "Calculation using MathML content markup.",
      "properties": {
        "math": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The MathML content markup describing the calculation",
          "title": "Math"
        }
      },
      "title": "Calculation",
      "type": "object"
    },
    "CheckData": {
      "description": "Check data for model verification.",
      "properties": {
        "static_shot": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/StaticShot"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Static check cases",
          "title": "Static Shot"
        }
      },
      "title": "CheckData",
      "type": "object"
    },
    "CheckInputs": {
      "description": "Input values for a check case.",
      "properties": {
        "signal": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/Signal"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The input signals for this check case",
          "title": "Signal"
        }
      },
      "title": "CheckInputs",
      "type": "object"
    },
    "CheckOutputs": {
      "description": "Expected output values for a check case.",
      "properties": {
        "signal": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/Signal"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The output signals for this check case",
          "title": "Signal"
        }
      },
      "title": "CheckOutputs",
      "type": "object"
    },
    "ConfidenceBound": {
      "description": "Confidence bound for table data.",
      "properties": {
        "value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The value of the confidence bound",
          "title": "Value"
        }
      },
      "title": "ConfidenceBound",
      "type": "object"
    },
    "CorrelatesWith": {
      "description": "Indicates correlation with another variable.",
      "properties": {
        "var_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the correlated variable",
          "title": "Var Id"
        }
      },
      "title": "CorrelatesWith",
      "type": "object"
    },
    "Correlation": {
      "description": "Correlation between variables.",
      "properties": {
        "var_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the correlated variable",
          "title": "Var Id"
        },
        "corr_coef": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The correlation coefficient",
          "title": "Corr Coef"
        }
      },
      "title": "Correlation",
      "type": "object"
    },
    "DataPoint": {
      "description": "Data point in an ungridded table.",
      "properties": {
        "mod_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the modification record for this data point",
          "title": "Mod Id"
        },
        "value": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The values of the data point",
          "title": "Value"
        }
      },
      "title": "DataPoint",
      "type": "object"
    },
    "DataTable": {
      "description": "Data of a gridded table as whitespace- or comma-separated values.",
      "properties": {
        "value": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The table data as a string of comma- or whitespace-separated values",
          "title": "Value"
        }
      },
      "title": "DataTable",
      "type": "object"
    },
    "DependentVarPts": {
      "description": "Dependent variable points for a simple function.",
      "properties": {
        "var_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the referenced variable",
          "title": "Var Id"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the dependent variable",
          "title": "Name"
        },
        "units": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The units of the dependent variable",
          "title": "Units"
        },
        "sign": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The sign convention for the dependent variable",
          "title": "Sign"
        },
        "value": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The values of the dependent variable points",
          "title": "Value"
        }
      },
      "title": "DependentVarPts",
      "type": "object"
    },
    "DependentVarRef": {
      "description": "Reference to a dependent variable for a complex function.",
      "properties": {
        "var_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the referenced variable",
          "title": "Var Id"
        }
      },
      "title": "DependentVarRef",
      "type": "object"
    },
    "Description": {
      "description": "Textual description of an entity.",
      "properties": {
        "value": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The description text",
          "title": "Value"
        }
      },
      "title": "Description",
      "type": "object"
    },
    "ExternalReference": {
      "description": "Reference to an external file or document.",
      "properties": {
        "title": {
          "description": "Title or name of the referenced resource.",
          "title": "Title",
          "type": "string"
        },
        "path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "File path or URI to the external resource.",
          "title": "Path"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description of the reference and its relevance.",
          "title": "Description"
        },
        "classification": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Type classification of the reference (e.g. 'STEP file', 'CFD mesh', 'test report').",
          "title": "Classification"
        }
      },
      "required": [
        "title"
      ],
      "title": "ExternalReference",
      "type": "object"
    },
    "ExtrapolateEnum": {
      "description": "Extrapolation method for table lookups.",
      "enum": [
        "neither",
        "min",
        "max",
        "both"
      ],
      "title": "ExtrapolateEnum",
      "type": "string"
    },
    "FidelityLevel": {
      "description": "L0-L4 fidelity taxonomy for ADH domain blocks.",
      "enum": [
        "L0",
        "L1",
        "L2",
        "L3",
        "L4"
      ],
      "title": "FidelityLevel",
      "type": "string"
    },
    "Function": {
      "description": "A DAVE-ML function relating independent variables to a dependent variable.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the function",
          "title": "Name"
        },
        "description": {
          "anyOf": [
            {
              "$ref": "#/$defs/Description"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A description of the function"
        },
        "independent_var_pts": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/IndependentVarPts"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The independent variable points for simple functions",
          "title": "Independent Var Pts"
        },
        "dependent_var_pts": {
          "anyOf": [
            {
              "$ref": "#/$defs/DependentVarPts"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The dependent variable points for simple functions"
        },
        "independent_var_ref": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/IndependentVarRef"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "References to independent variables for complex functions",
          "title": "Independent Var Ref"
        },
        "dependent_var_ref": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/DependentVarRef"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Reference to the dependent variable for complex functions",
          "title": "Dependent Var Ref"
        },
        "function_defn": {
          "anyOf": [
            {
              "$ref": "#/$defs/FunctionDefn"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The function definition for complex functions"
        }
      },
      "title": "Function",
      "type": "object"
    },
    "FunctionDefn": {
      "description": "Definition of a complex function (table-based lookup).",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the function definition",
          "title": "Name"
        },
        "gridded_table_ref": {
          "anyOf": [
            {
              "$ref": "#/$defs/GriddedTableRef"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A reference to a gridded table"
        },
        "gridded_table_def": {
          "anyOf": [
            {
              "$ref": "#/$defs/GriddedTableDef"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A gridded table definition"
        },
        "gridded_table": {
          "anyOf": [
            {
              "$ref": "#/$defs/GriddedTable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A gridded table"
        },
        "ungridded_table_ref": {
          "anyOf": [
            {
              "$ref": "#/$defs/UngriddedTableRef"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A reference to an ungridded table"
        },
        "ungridded_table_def": {
          "anyOf": [
            {
              "$ref": "#/$defs/UngriddedTableDef"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "An ungridded table definition"
        },
        "ungridded_table": {
          "anyOf": [
            {
              "$ref": "#/$defs/UngriddedTable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "An ungridded table"
        }
      },
      "title": "FunctionDefn",
      "type": "object"
    },
    "GriddedTable": {
      "description": "Inline gridded table.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the gridded table",
          "title": "Name"
        },
        "breakpoint_refs": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/BpRef"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "References to the breakpoint sets used in this table",
          "title": "Breakpoint Refs"
        },
        "confidence_bound": {
          "anyOf": [
            {
              "$ref": "#/$defs/ConfidenceBound"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The confidence bound for the table data"
        },
        "data_table": {
          "anyOf": [
            {
              "$ref": "#/$defs/DataTable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The actual data of the gridded table"
        }
      },
      "title": "GriddedTable",
      "type": "object"
    },
    "GriddedTableDef": {
      "description": "Definition of a gridded table.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the gridded table",
          "title": "Name"
        },
        "gt_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The unique identifier for this gridded table",
          "title": "Gt Id"
        },
        "units": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The units of measure for the table values",
          "title": "Units"
        },
        "description": {
          "anyOf": [
            {
              "$ref": "#/$defs/Description"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A description of the gridded table"
        },
        "breakpoint_refs": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/BpRef"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "References to the breakpoint sets used in this table",
          "title": "Breakpoint Refs"
        },
        "uncertainty": {
          "anyOf": [
            {
              "$ref": "#/$defs/Uncertainty"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The uncertainty associated with the table values"
        },
        "data_table": {
          "anyOf": [
            {
              "$ref": "#/$defs/DataTable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The actual data of the gridded table"
        }
      },
      "title": "GriddedTableDef",
      "type": "object"
    },
    "GriddedTableRef": {
      "description": "Reference to a gridded table.",
      "properties": {
        "gt_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the referenced gridded table",
          "title": "Gt Id"
        }
      },
      "title": "GriddedTableRef",
      "type": "object"
    },
    "IndependentVarPts": {
      "description": "Independent variable points for a simple function.",
      "properties": {
        "var_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the referenced variable",
          "title": "Var Id"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the independent variable",
          "title": "Name"
        },
        "units": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The units of the independent variable",
          "title": "Units"
        },
        "sign": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The sign convention for the independent variable",
          "title": "Sign"
        },
        "extrapolate": {
          "anyOf": [
            {
              "$ref": "#/$defs/ExtrapolateEnum"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The extrapolation method"
        },
        "interpolate": {
          "anyOf": [
            {
              "$ref": "#/$defs/InterpolateEnum"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The interpolation method"
        },
        "value": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The values of the independent variable points",
          "title": "Value"
        }
      },
      "title": "IndependentVarPts",
      "type": "object"
    },
    "IndependentVarRef": {
      "description": "Reference to an independent variable for a complex function.",
      "properties": {
        "var_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the referenced variable",
          "title": "Var Id"
        },
        "min": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The minimum value of the independent variable",
          "title": "Min"
        },
        "max": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The maximum value of the independent variable",
          "title": "Max"
        },
        "extrapolate": {
          "anyOf": [
            {
              "$ref": "#/$defs/ExtrapolateEnum"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The extrapolation method"
        },
        "interpolate": {
          "anyOf": [
            {
              "$ref": "#/$defs/InterpolateEnum"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The interpolation method"
        }
      },
      "title": "IndependentVarRef",
      "type": "object"
    },
    "InternalValues": {
      "description": "Internal variable values for a check case.",
      "properties": {
        "signal": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/Signal"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The internal signals for this check case",
          "title": "Signal"
        }
      },
      "title": "InternalValues",
      "type": "object"
    },
    "InterpolateEnum": {
      "description": "Interpolation method for table lookups (ANSI/AIAA-S-119-2011).",
      "enum": [
        "discrete",
        "floor",
        "ceiling",
        "linear",
        "quadraticSpline",
        "cubicSpline"
      ],
      "title": "InterpolateEnum",
      "type": "string"
    },
    "NormalPDF": {
      "description": "Normal probability distribution function.",
      "properties": {
        "num_sigmas": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The number of standard deviations",
          "title": "Num Sigmas"
        },
        "bounds": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/Bounds"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The bounds of the distribution",
          "title": "Bounds"
        },
        "correlates_with": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/CorrelatesWith"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Correlations with other variables",
          "title": "Correlates With"
        },
        "correlation": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/Correlation"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Correlation coefficients",
          "title": "Correlation"
        }
      },
      "title": "NormalPDF",
      "type": "object"
    },
    "Signal": {
      "description": "Signal (input, internal, or output) in a check case.",
      "properties": {
        "signal_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the signal",
          "title": "Signal Name"
        },
        "signal_units": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The units of the signal",
          "title": "Signal Units"
        },
        "var_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the variable associated with this signal",
          "title": "Var Id"
        },
        "signal_value": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The value of the signal",
          "title": "Signal Value"
        },
        "tol": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The tolerance for this signal's value",
          "title": "Tol"
        }
      },
      "title": "Signal",
      "type": "object"
    },
    "SourceInfo": {
      "description": "Source and authorship metadata for an ADH node.",
      "properties": {
        "authors": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/Author"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Authors or contributors.",
          "title": "Authors"
        },
        "creation_date": {
          "anyOf": [
            {
              "format": "date",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Date this node was created.",
          "title": "Creation Date"
        },
        "modification_date": {
          "anyOf": [
            {
              "format": "date",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Date this node was last modified.",
          "title": "Modification Date"
        },
        "version": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Version string.",
          "title": "Version"
        },
        "references": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/ExternalReference"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "References to external files or documents.",
          "title": "References"
        }
      },
      "title": "SourceInfo",
      "type": "object"
    },
    "StaticShot": {
      "description": "Static check case for model verification.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the static shot",
          "title": "Name"
        },
        "ref_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The reference ID for this static shot",
          "title": "Ref Id"
        },
        "description": {
          "anyOf": [
            {
              "$ref": "#/$defs/Description"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A description of the static shot"
        },
        "check_inputs": {
          "anyOf": [
            {
              "$ref": "#/$defs/CheckInputs"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The input values for this check case"
        },
        "internal_values": {
          "anyOf": [
            {
              "$ref": "#/$defs/InternalValues"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The internal variable values for this check case"
        },
        "check_outputs": {
          "anyOf": [
            {
              "$ref": "#/$defs/CheckOutputs"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The expected output values for this check case"
        }
      },
      "title": "StaticShot",
      "type": "object"
    },
    "Uncertainty": {
      "description": "Uncertainty of a function or parameter value.",
      "properties": {
        "effect": {
          "anyOf": [
            {
              "$ref": "#/$defs/UncertaintyEffect"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The effect of the uncertainty"
        },
        "normal_pdf": {
          "anyOf": [
            {
              "$ref": "#/$defs/NormalPDF"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The normal probability distribution function"
        },
        "uniform_pdf": {
          "anyOf": [
            {
              "$ref": "#/$defs/UniformPDF"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The uniform probability distribution function"
        }
      },
      "title": "Uncertainty",
      "type": "object"
    },
    "UncertaintyEffect": {
      "description": "Effect type for uncertainty specification.",
      "enum": [
        "additive",
        "multiplicative",
        "percentage",
        "absolute"
      ],
      "title": "UncertaintyEffect",
      "type": "string"
    },
    "UngriddedTable": {
      "description": "Inline ungridded table.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the ungridded table",
          "title": "Name"
        },
        "confidence_bound": {
          "anyOf": [
            {
              "$ref": "#/$defs/ConfidenceBound"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The confidence bound for the table data"
        },
        "data_point": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/DataPoint"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The data points of the ungridded table",
          "title": "Data Point"
        }
      },
      "title": "UngriddedTable",
      "type": "object"
    },
    "UngriddedTableDef": {
      "description": "Definition of an ungridded table.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the ungridded table",
          "title": "Name"
        },
        "ut_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The unique identifier for this ungridded table",
          "title": "Ut Id"
        },
        "units": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The units of measure for the table values",
          "title": "Units"
        },
        "description": {
          "anyOf": [
            {
              "$ref": "#/$defs/Description"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A description of the ungridded table"
        },
        "uncertainty": {
          "anyOf": [
            {
              "$ref": "#/$defs/Uncertainty"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The uncertainty associated with the table values"
        },
        "data_point": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/DataPoint"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The data points of the ungridded table",
          "title": "Data Point"
        }
      },
      "title": "UngriddedTableDef",
      "type": "object"
    },
    "UngriddedTableRef": {
      "description": "Reference to an ungridded table.",
      "properties": {
        "ut_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the referenced ungridded table",
          "title": "Ut Id"
        }
      },
      "title": "UngriddedTableRef",
      "type": "object"
    },
    "UniformPDF": {
      "description": "Uniform probability distribution function.",
      "properties": {
        "bounds": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/Bounds"
              },
              "minItems": 1,
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The bounds of the distribution",
          "title": "Bounds"
        }
      },
      "title": "UniformPDF",
      "type": "object"
    },
    "VariableDef": {
      "description": "Definition of a variable.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the variable",
          "title": "Name"
        },
        "var_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The unique identifier for this variable",
          "title": "Var Id"
        },
        "units": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The units of measure for the variable",
          "title": "Units"
        },
        "axis_system": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The axis system for the variable",
          "title": "Axis System"
        },
        "sign": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The sign convention for the variable",
          "title": "Sign"
        },
        "alias": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "An alias for the variable",
          "title": "Alias"
        },
        "symbol": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A symbol representing the variable",
          "title": "Symbol"
        },
        "initial_value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The initial value of the variable",
          "title": "Initial Value"
        },
        "min_value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The minimum allowed value of the variable",
          "title": "Min Value"
        },
        "max_value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The maximum allowed value of the variable",
          "title": "Max Value"
        },
        "description": {
          "anyOf": [
            {
              "$ref": "#/$defs/Description"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A description of the variable"
        },
        "calculation": {
          "anyOf": [
            {
              "$ref": "#/$defs/Calculation"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The calculation for deriving the variable's value"
        },
        "is_input": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Indicates if the variable is an input",
          "title": "Is Input"
        },
        "is_control": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Indicates if the variable is a control parameter",
          "title": "Is Control"
        },
        "is_disturbance": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Indicates if the variable is a disturbance input",
          "title": "Is Disturbance"
        },
        "is_state": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Indicates if the variable is a state variable",
          "title": "Is State"
        },
        "is_state_deriv": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Indicates if the variable is a state derivative",
          "title": "Is State Deriv"
        },
        "is_output": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Indicates if the variable is an output",
          "title": "Is Output"
        },
        "is_std_aiaa": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Indicates if the variable is a standard AIAA variable",
          "title": "Is Std Aiaa"
        },
        "uncertainty": {
          "anyOf": [
            {
              "$ref": "#/$defs/Uncertainty"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The uncertainty associated with the variable"
        }
      },
      "title": "VariableDef",
      "type": "object"
    },
    "VariableRef": {
      "description": "Reference to a variable.",
      "properties": {
        "var_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the referenced variable",
          "title": "Var Id"
        }
      },
      "title": "VariableRef",
      "type": "object"
    }
  },
  "description": "Behavioural model of a system, combining an activity sequence with DaveML tables.",
  "properties": {
    "variable_defs": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/VariableDef"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Variable definitions",
      "title": "Variable Defs"
    },
    "breakpoint_defs": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/BreakpointDef"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Breakpoint set definitions",
      "title": "Breakpoint Defs"
    },
    "gridded_table_defs": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/GriddedTableDef"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Gridded table definitions",
      "title": "Gridded Table Defs"
    },
    "ungridded_table_defs": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/UngriddedTableDef"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Ungridded table definitions",
      "title": "Ungridded Table Defs"
    },
    "functions": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/Function"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Function definitions",
      "title": "Functions"
    },
    "check_data": {
      "anyOf": [
        {
          "$ref": "#/$defs/CheckData"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Verification check data"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "A unique name identifying the behaviour.",
      "title": "Name"
    },
    "description": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "A brief description of the behaviour.",
      "title": "Description"
    },
    "sequence": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/Activity"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "A sequence of activities that define the behaviour.",
      "title": "Sequence"
    },
    "fidelity_level": {
      "anyOf": [
        {
          "$ref": "#/$defs/FidelityLevel"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Declared analysis fidelity for this behaviour model. L0 = empirical lookup or simple rule; L1 = parameterised model; L2 = multi-condition simulation model (e.g. DaveML table set); L3 = high-fidelity non-linear or time-varying model; L4 = validated against physical test data."
    },
    "source_info": {
      "anyOf": [
        {
          "$ref": "#/$defs/SourceInfo"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Source and authorship metadata."
    }
  },
  "title": "Behavior",
  "type": "object"
}

Fields:

Validators:

breakpoint_defs pydantic-field ¤

breakpoint_defs: Optional[list[BreakpointDef]] = None

Breakpoint set definitions

check_data pydantic-field ¤

check_data: Optional[CheckData] = None

Verification check data

description pydantic-field ¤

description: Optional[str] = None

A brief description of the behaviour.

fidelity_level pydantic-field ¤

fidelity_level: Optional[FidelityLevel] = None

Declared analysis fidelity for this behaviour model. L0 = empirical lookup or simple rule; L1 = parameterised model; L2 = multi-condition simulation model (e.g. DaveML table set); L3 = high-fidelity non-linear or time-varying model; L4 = validated against physical test data.

functions pydantic-field ¤

functions: Optional[list[Function]] = None

Function definitions

gridded_table_defs pydantic-field ¤

gridded_table_defs: Optional[list[GriddedTableDef]] = None

Gridded table definitions

name pydantic-field ¤

name: Optional[str] = None

A unique name identifying the behaviour.

sequence pydantic-field ¤

sequence: Optional[list[Activity]] = None

A sequence of activities that define the behaviour.

source_info pydantic-field ¤

source_info: Optional[SourceInfo] = None

Source and authorship metadata.

ungridded_table_defs pydantic-field ¤

ungridded_table_defs: Optional[list[UngriddedTableDef]] = None

Ungridded table definitions

variable_defs pydantic-field ¤

variable_defs: Optional[list[VariableDef]] = None

Variable definitions

Behaviors pydantic-model ¤

Bases: BaseModel

Container for a list of behaviours.

Show JSON schema:
{
  "$defs": {
    "Activity": {
      "description": "An individual activity or task within a behaviour sequence.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A unique name identifying the activity.",
          "title": "Name"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A brief description of the activity's purpose and objectives.",
          "title": "Description"
        },
        "state": {
          "anyOf": [
            {
              "$ref": "#/$defs/ActivityState"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The current state of the activity."
        },
        "dependencies": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "List of activity names that this activity depends on.",
          "title": "Dependencies"
        }
      },
      "title": "Activity",
      "type": "object"
    },
    "ActivityState": {
      "description": "Lifecycle state of an activity.",
      "enum": [
        "pending",
        "in_progress",
        "completed",
        "cancelled"
      ],
      "title": "ActivityState",
      "type": "string"
    },
    "Author": {
      "description": "Author or contributor to an ADH node.",
      "properties": {
        "name": {
          "description": "Full name of the author.",
          "title": "Name",
          "type": "string"
        },
        "organisation": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Organisation or affiliation.",
          "title": "Organisation"
        },
        "email": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Email address.",
          "title": "Email"
        }
      },
      "required": [
        "name"
      ],
      "title": "Author",
      "type": "object"
    },
    "Behavior": {
      "description": "Behavioural model of a system, combining an activity sequence with DaveML tables.",
      "properties": {
        "variable_defs": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/VariableDef"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Variable definitions",
          "title": "Variable Defs"
        },
        "breakpoint_defs": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/BreakpointDef"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Breakpoint set definitions",
          "title": "Breakpoint Defs"
        },
        "gridded_table_defs": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/GriddedTableDef"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Gridded table definitions",
          "title": "Gridded Table Defs"
        },
        "ungridded_table_defs": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/UngriddedTableDef"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Ungridded table definitions",
          "title": "Ungridded Table Defs"
        },
        "functions": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/Function"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Function definitions",
          "title": "Functions"
        },
        "check_data": {
          "anyOf": [
            {
              "$ref": "#/$defs/CheckData"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Verification check data"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A unique name identifying the behaviour.",
          "title": "Name"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A brief description of the behaviour.",
          "title": "Description"
        },
        "sequence": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/Activity"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A sequence of activities that define the behaviour.",
          "title": "Sequence"
        },
        "fidelity_level": {
          "anyOf": [
            {
              "$ref": "#/$defs/FidelityLevel"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Declared analysis fidelity for this behaviour model. L0 = empirical lookup or simple rule; L1 = parameterised model; L2 = multi-condition simulation model (e.g. DaveML table set); L3 = high-fidelity non-linear or time-varying model; L4 = validated against physical test data."
        },
        "source_info": {
          "anyOf": [
            {
              "$ref": "#/$defs/SourceInfo"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Source and authorship metadata."
        }
      },
      "title": "Behavior",
      "type": "object"
    },
    "Bounds": {
      "description": "Statistical limits of a parameter.",
      "properties": {
        "value": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "$ref": "#/$defs/DataTable"
            },
            {
              "$ref": "#/$defs/VariableDef"
            },
            {
              "$ref": "#/$defs/VariableRef"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The bound value or reference",
          "title": "Value"
        }
      },
      "title": "Bounds",
      "type": "object"
    },
    "BpRef": {
      "description": "Reference to a breakpoint set.",
      "properties": {
        "bp_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the referenced breakpoint set",
          "title": "Bp Id"
        }
      },
      "title": "BpRef",
      "type": "object"
    },
    "BreakpointDef": {
      "description": "Definition of a breakpoint set.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the breakpoint set",
          "title": "Name"
        },
        "bp_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The unique identifier for this breakpoint set",
          "title": "Bp Id"
        },
        "units": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The units of measure for the breakpoints",
          "title": "Units"
        },
        "description": {
          "anyOf": [
            {
              "$ref": "#/$defs/Description"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A description of the breakpoint set"
        },
        "bp_vals": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The breakpoint values",
          "title": "Bp Vals"
        }
      },
      "title": "BreakpointDef",
      "type": "object"
    },
    "Calculation": {
      "description": "Calculation using MathML content markup.",
      "properties": {
        "math": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The MathML content markup describing the calculation",
          "title": "Math"
        }
      },
      "title": "Calculation",
      "type": "object"
    },
    "CheckData": {
      "description": "Check data for model verification.",
      "properties": {
        "static_shot": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/StaticShot"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Static check cases",
          "title": "Static Shot"
        }
      },
      "title": "CheckData",
      "type": "object"
    },
    "CheckInputs": {
      "description": "Input values for a check case.",
      "properties": {
        "signal": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/Signal"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The input signals for this check case",
          "title": "Signal"
        }
      },
      "title": "CheckInputs",
      "type": "object"
    },
    "CheckOutputs": {
      "description": "Expected output values for a check case.",
      "properties": {
        "signal": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/Signal"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The output signals for this check case",
          "title": "Signal"
        }
      },
      "title": "CheckOutputs",
      "type": "object"
    },
    "ConfidenceBound": {
      "description": "Confidence bound for table data.",
      "properties": {
        "value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The value of the confidence bound",
          "title": "Value"
        }
      },
      "title": "ConfidenceBound",
      "type": "object"
    },
    "CorrelatesWith": {
      "description": "Indicates correlation with another variable.",
      "properties": {
        "var_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the correlated variable",
          "title": "Var Id"
        }
      },
      "title": "CorrelatesWith",
      "type": "object"
    },
    "Correlation": {
      "description": "Correlation between variables.",
      "properties": {
        "var_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the correlated variable",
          "title": "Var Id"
        },
        "corr_coef": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The correlation coefficient",
          "title": "Corr Coef"
        }
      },
      "title": "Correlation",
      "type": "object"
    },
    "DataPoint": {
      "description": "Data point in an ungridded table.",
      "properties": {
        "mod_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the modification record for this data point",
          "title": "Mod Id"
        },
        "value": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The values of the data point",
          "title": "Value"
        }
      },
      "title": "DataPoint",
      "type": "object"
    },
    "DataTable": {
      "description": "Data of a gridded table as whitespace- or comma-separated values.",
      "properties": {
        "value": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The table data as a string of comma- or whitespace-separated values",
          "title": "Value"
        }
      },
      "title": "DataTable",
      "type": "object"
    },
    "DependentVarPts": {
      "description": "Dependent variable points for a simple function.",
      "properties": {
        "var_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the referenced variable",
          "title": "Var Id"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the dependent variable",
          "title": "Name"
        },
        "units": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The units of the dependent variable",
          "title": "Units"
        },
        "sign": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The sign convention for the dependent variable",
          "title": "Sign"
        },
        "value": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The values of the dependent variable points",
          "title": "Value"
        }
      },
      "title": "DependentVarPts",
      "type": "object"
    },
    "DependentVarRef": {
      "description": "Reference to a dependent variable for a complex function.",
      "properties": {
        "var_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the referenced variable",
          "title": "Var Id"
        }
      },
      "title": "DependentVarRef",
      "type": "object"
    },
    "Description": {
      "description": "Textual description of an entity.",
      "properties": {
        "value": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The description text",
          "title": "Value"
        }
      },
      "title": "Description",
      "type": "object"
    },
    "ExternalReference": {
      "description": "Reference to an external file or document.",
      "properties": {
        "title": {
          "description": "Title or name of the referenced resource.",
          "title": "Title",
          "type": "string"
        },
        "path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "File path or URI to the external resource.",
          "title": "Path"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description of the reference and its relevance.",
          "title": "Description"
        },
        "classification": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Type classification of the reference (e.g. 'STEP file', 'CFD mesh', 'test report').",
          "title": "Classification"
        }
      },
      "required": [
        "title"
      ],
      "title": "ExternalReference",
      "type": "object"
    },
    "ExtrapolateEnum": {
      "description": "Extrapolation method for table lookups.",
      "enum": [
        "neither",
        "min",
        "max",
        "both"
      ],
      "title": "ExtrapolateEnum",
      "type": "string"
    },
    "FidelityLevel": {
      "description": "L0-L4 fidelity taxonomy for ADH domain blocks.",
      "enum": [
        "L0",
        "L1",
        "L2",
        "L3",
        "L4"
      ],
      "title": "FidelityLevel",
      "type": "string"
    },
    "Function": {
      "description": "A DAVE-ML function relating independent variables to a dependent variable.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the function",
          "title": "Name"
        },
        "description": {
          "anyOf": [
            {
              "$ref": "#/$defs/Description"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A description of the function"
        },
        "independent_var_pts": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/IndependentVarPts"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The independent variable points for simple functions",
          "title": "Independent Var Pts"
        },
        "dependent_var_pts": {
          "anyOf": [
            {
              "$ref": "#/$defs/DependentVarPts"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The dependent variable points for simple functions"
        },
        "independent_var_ref": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/IndependentVarRef"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "References to independent variables for complex functions",
          "title": "Independent Var Ref"
        },
        "dependent_var_ref": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/DependentVarRef"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Reference to the dependent variable for complex functions",
          "title": "Dependent Var Ref"
        },
        "function_defn": {
          "anyOf": [
            {
              "$ref": "#/$defs/FunctionDefn"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The function definition for complex functions"
        }
      },
      "title": "Function",
      "type": "object"
    },
    "FunctionDefn": {
      "description": "Definition of a complex function (table-based lookup).",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the function definition",
          "title": "Name"
        },
        "gridded_table_ref": {
          "anyOf": [
            {
              "$ref": "#/$defs/GriddedTableRef"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A reference to a gridded table"
        },
        "gridded_table_def": {
          "anyOf": [
            {
              "$ref": "#/$defs/GriddedTableDef"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A gridded table definition"
        },
        "gridded_table": {
          "anyOf": [
            {
              "$ref": "#/$defs/GriddedTable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A gridded table"
        },
        "ungridded_table_ref": {
          "anyOf": [
            {
              "$ref": "#/$defs/UngriddedTableRef"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A reference to an ungridded table"
        },
        "ungridded_table_def": {
          "anyOf": [
            {
              "$ref": "#/$defs/UngriddedTableDef"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "An ungridded table definition"
        },
        "ungridded_table": {
          "anyOf": [
            {
              "$ref": "#/$defs/UngriddedTable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "An ungridded table"
        }
      },
      "title": "FunctionDefn",
      "type": "object"
    },
    "GriddedTable": {
      "description": "Inline gridded table.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the gridded table",
          "title": "Name"
        },
        "breakpoint_refs": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/BpRef"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "References to the breakpoint sets used in this table",
          "title": "Breakpoint Refs"
        },
        "confidence_bound": {
          "anyOf": [
            {
              "$ref": "#/$defs/ConfidenceBound"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The confidence bound for the table data"
        },
        "data_table": {
          "anyOf": [
            {
              "$ref": "#/$defs/DataTable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The actual data of the gridded table"
        }
      },
      "title": "GriddedTable",
      "type": "object"
    },
    "GriddedTableDef": {
      "description": "Definition of a gridded table.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the gridded table",
          "title": "Name"
        },
        "gt_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The unique identifier for this gridded table",
          "title": "Gt Id"
        },
        "units": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The units of measure for the table values",
          "title": "Units"
        },
        "description": {
          "anyOf": [
            {
              "$ref": "#/$defs/Description"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A description of the gridded table"
        },
        "breakpoint_refs": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/BpRef"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "References to the breakpoint sets used in this table",
          "title": "Breakpoint Refs"
        },
        "uncertainty": {
          "anyOf": [
            {
              "$ref": "#/$defs/Uncertainty"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The uncertainty associated with the table values"
        },
        "data_table": {
          "anyOf": [
            {
              "$ref": "#/$defs/DataTable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The actual data of the gridded table"
        }
      },
      "title": "GriddedTableDef",
      "type": "object"
    },
    "GriddedTableRef": {
      "description": "Reference to a gridded table.",
      "properties": {
        "gt_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the referenced gridded table",
          "title": "Gt Id"
        }
      },
      "title": "GriddedTableRef",
      "type": "object"
    },
    "IndependentVarPts": {
      "description": "Independent variable points for a simple function.",
      "properties": {
        "var_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the referenced variable",
          "title": "Var Id"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the independent variable",
          "title": "Name"
        },
        "units": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The units of the independent variable",
          "title": "Units"
        },
        "sign": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The sign convention for the independent variable",
          "title": "Sign"
        },
        "extrapolate": {
          "anyOf": [
            {
              "$ref": "#/$defs/ExtrapolateEnum"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The extrapolation method"
        },
        "interpolate": {
          "anyOf": [
            {
              "$ref": "#/$defs/InterpolateEnum"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The interpolation method"
        },
        "value": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The values of the independent variable points",
          "title": "Value"
        }
      },
      "title": "IndependentVarPts",
      "type": "object"
    },
    "IndependentVarRef": {
      "description": "Reference to an independent variable for a complex function.",
      "properties": {
        "var_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the referenced variable",
          "title": "Var Id"
        },
        "min": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The minimum value of the independent variable",
          "title": "Min"
        },
        "max": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The maximum value of the independent variable",
          "title": "Max"
        },
        "extrapolate": {
          "anyOf": [
            {
              "$ref": "#/$defs/ExtrapolateEnum"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The extrapolation method"
        },
        "interpolate": {
          "anyOf": [
            {
              "$ref": "#/$defs/InterpolateEnum"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The interpolation method"
        }
      },
      "title": "IndependentVarRef",
      "type": "object"
    },
    "InternalValues": {
      "description": "Internal variable values for a check case.",
      "properties": {
        "signal": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/Signal"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The internal signals for this check case",
          "title": "Signal"
        }
      },
      "title": "InternalValues",
      "type": "object"
    },
    "InterpolateEnum": {
      "description": "Interpolation method for table lookups (ANSI/AIAA-S-119-2011).",
      "enum": [
        "discrete",
        "floor",
        "ceiling",
        "linear",
        "quadraticSpline",
        "cubicSpline"
      ],
      "title": "InterpolateEnum",
      "type": "string"
    },
    "NormalPDF": {
      "description": "Normal probability distribution function.",
      "properties": {
        "num_sigmas": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The number of standard deviations",
          "title": "Num Sigmas"
        },
        "bounds": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/Bounds"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The bounds of the distribution",
          "title": "Bounds"
        },
        "correlates_with": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/CorrelatesWith"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Correlations with other variables",
          "title": "Correlates With"
        },
        "correlation": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/Correlation"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Correlation coefficients",
          "title": "Correlation"
        }
      },
      "title": "NormalPDF",
      "type": "object"
    },
    "Signal": {
      "description": "Signal (input, internal, or output) in a check case.",
      "properties": {
        "signal_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the signal",
          "title": "Signal Name"
        },
        "signal_units": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The units of the signal",
          "title": "Signal Units"
        },
        "var_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the variable associated with this signal",
          "title": "Var Id"
        },
        "signal_value": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The value of the signal",
          "title": "Signal Value"
        },
        "tol": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The tolerance for this signal's value",
          "title": "Tol"
        }
      },
      "title": "Signal",
      "type": "object"
    },
    "SourceInfo": {
      "description": "Source and authorship metadata for an ADH node.",
      "properties": {
        "authors": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/Author"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Authors or contributors.",
          "title": "Authors"
        },
        "creation_date": {
          "anyOf": [
            {
              "format": "date",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Date this node was created.",
          "title": "Creation Date"
        },
        "modification_date": {
          "anyOf": [
            {
              "format": "date",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Date this node was last modified.",
          "title": "Modification Date"
        },
        "version": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Version string.",
          "title": "Version"
        },
        "references": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/ExternalReference"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "References to external files or documents.",
          "title": "References"
        }
      },
      "title": "SourceInfo",
      "type": "object"
    },
    "StaticShot": {
      "description": "Static check case for model verification.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the static shot",
          "title": "Name"
        },
        "ref_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The reference ID for this static shot",
          "title": "Ref Id"
        },
        "description": {
          "anyOf": [
            {
              "$ref": "#/$defs/Description"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A description of the static shot"
        },
        "check_inputs": {
          "anyOf": [
            {
              "$ref": "#/$defs/CheckInputs"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The input values for this check case"
        },
        "internal_values": {
          "anyOf": [
            {
              "$ref": "#/$defs/InternalValues"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The internal variable values for this check case"
        },
        "check_outputs": {
          "anyOf": [
            {
              "$ref": "#/$defs/CheckOutputs"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The expected output values for this check case"
        }
      },
      "title": "StaticShot",
      "type": "object"
    },
    "Uncertainty": {
      "description": "Uncertainty of a function or parameter value.",
      "properties": {
        "effect": {
          "anyOf": [
            {
              "$ref": "#/$defs/UncertaintyEffect"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The effect of the uncertainty"
        },
        "normal_pdf": {
          "anyOf": [
            {
              "$ref": "#/$defs/NormalPDF"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The normal probability distribution function"
        },
        "uniform_pdf": {
          "anyOf": [
            {
              "$ref": "#/$defs/UniformPDF"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The uniform probability distribution function"
        }
      },
      "title": "Uncertainty",
      "type": "object"
    },
    "UncertaintyEffect": {
      "description": "Effect type for uncertainty specification.",
      "enum": [
        "additive",
        "multiplicative",
        "percentage",
        "absolute"
      ],
      "title": "UncertaintyEffect",
      "type": "string"
    },
    "UngriddedTable": {
      "description": "Inline ungridded table.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the ungridded table",
          "title": "Name"
        },
        "confidence_bound": {
          "anyOf": [
            {
              "$ref": "#/$defs/ConfidenceBound"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The confidence bound for the table data"
        },
        "data_point": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/DataPoint"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The data points of the ungridded table",
          "title": "Data Point"
        }
      },
      "title": "UngriddedTable",
      "type": "object"
    },
    "UngriddedTableDef": {
      "description": "Definition of an ungridded table.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the ungridded table",
          "title": "Name"
        },
        "ut_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The unique identifier for this ungridded table",
          "title": "Ut Id"
        },
        "units": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The units of measure for the table values",
          "title": "Units"
        },
        "description": {
          "anyOf": [
            {
              "$ref": "#/$defs/Description"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A description of the ungridded table"
        },
        "uncertainty": {
          "anyOf": [
            {
              "$ref": "#/$defs/Uncertainty"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The uncertainty associated with the table values"
        },
        "data_point": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/DataPoint"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The data points of the ungridded table",
          "title": "Data Point"
        }
      },
      "title": "UngriddedTableDef",
      "type": "object"
    },
    "UngriddedTableRef": {
      "description": "Reference to an ungridded table.",
      "properties": {
        "ut_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the referenced ungridded table",
          "title": "Ut Id"
        }
      },
      "title": "UngriddedTableRef",
      "type": "object"
    },
    "UniformPDF": {
      "description": "Uniform probability distribution function.",
      "properties": {
        "bounds": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/Bounds"
              },
              "minItems": 1,
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The bounds of the distribution",
          "title": "Bounds"
        }
      },
      "title": "UniformPDF",
      "type": "object"
    },
    "VariableDef": {
      "description": "Definition of a variable.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the variable",
          "title": "Name"
        },
        "var_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The unique identifier for this variable",
          "title": "Var Id"
        },
        "units": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The units of measure for the variable",
          "title": "Units"
        },
        "axis_system": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The axis system for the variable",
          "title": "Axis System"
        },
        "sign": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The sign convention for the variable",
          "title": "Sign"
        },
        "alias": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "An alias for the variable",
          "title": "Alias"
        },
        "symbol": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A symbol representing the variable",
          "title": "Symbol"
        },
        "initial_value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The initial value of the variable",
          "title": "Initial Value"
        },
        "min_value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The minimum allowed value of the variable",
          "title": "Min Value"
        },
        "max_value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The maximum allowed value of the variable",
          "title": "Max Value"
        },
        "description": {
          "anyOf": [
            {
              "$ref": "#/$defs/Description"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A description of the variable"
        },
        "calculation": {
          "anyOf": [
            {
              "$ref": "#/$defs/Calculation"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The calculation for deriving the variable's value"
        },
        "is_input": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Indicates if the variable is an input",
          "title": "Is Input"
        },
        "is_control": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Indicates if the variable is a control parameter",
          "title": "Is Control"
        },
        "is_disturbance": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Indicates if the variable is a disturbance input",
          "title": "Is Disturbance"
        },
        "is_state": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Indicates if the variable is a state variable",
          "title": "Is State"
        },
        "is_state_deriv": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Indicates if the variable is a state derivative",
          "title": "Is State Deriv"
        },
        "is_output": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Indicates if the variable is an output",
          "title": "Is Output"
        },
        "is_std_aiaa": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Indicates if the variable is a standard AIAA variable",
          "title": "Is Std Aiaa"
        },
        "uncertainty": {
          "anyOf": [
            {
              "$ref": "#/$defs/Uncertainty"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The uncertainty associated with the variable"
        }
      },
      "title": "VariableDef",
      "type": "object"
    },
    "VariableRef": {
      "description": "Reference to a variable.",
      "properties": {
        "var_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the referenced variable",
          "title": "Var Id"
        }
      },
      "title": "VariableRef",
      "type": "object"
    }
  },
  "description": "Container for a list of behaviours.",
  "properties": {
    "behaviors": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/Behavior"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Behaviors"
    }
  },
  "title": "Behaviors",
  "type": "object"
}

Fields:

Discipline pydantic-model ¤

Bases: BaseModel

A specific discipline organizing associated tools, models, and methodologies.

Show JSON schema:
{
  "$defs": {
    "Author": {
      "description": "Author or contributor to an ADH node.",
      "properties": {
        "name": {
          "description": "Full name of the author.",
          "title": "Name",
          "type": "string"
        },
        "organisation": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Organisation or affiliation.",
          "title": "Organisation"
        },
        "email": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Email address.",
          "title": "Email"
        }
      },
      "required": [
        "name"
      ],
      "title": "Author",
      "type": "object"
    },
    "DataExchange": {
      "description": "The data exchange information of a model or tool.",
      "properties": {
        "id": {
          "description": "The identifier of the model.",
          "title": "Id",
          "type": "string"
        },
        "inputs": {
          "anyOf": [
            {
              "items": {},
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The list of input variables to the model.",
          "title": "Inputs"
        },
        "outputs": {
          "anyOf": [
            {
              "items": {},
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The list of output variables of the model.",
          "title": "Outputs"
        }
      },
      "required": [
        "id"
      ],
      "title": "DataExchange",
      "type": "object"
    },
    "ExternalReference": {
      "description": "Reference to an external file or document.",
      "properties": {
        "title": {
          "description": "Title or name of the referenced resource.",
          "title": "Title",
          "type": "string"
        },
        "path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "File path or URI to the external resource.",
          "title": "Path"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description of the reference and its relevance.",
          "title": "Description"
        },
        "classification": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Type classification of the reference (e.g. 'STEP file', 'CFD mesh', 'test report').",
          "title": "Classification"
        }
      },
      "required": [
        "title"
      ],
      "title": "ExternalReference",
      "type": "object"
    },
    "FidelityLevel": {
      "description": "L0-L4 fidelity taxonomy for ADH domain blocks.",
      "enum": [
        "L0",
        "L1",
        "L2",
        "L3",
        "L4"
      ],
      "title": "FidelityLevel",
      "type": "string"
    },
    "ModelDescription": {
      "additionalProperties": true,
      "description": "The description of a tool or model.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A unique model name.",
          "title": "Name"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A brief description of the model.",
          "title": "Description"
        },
        "source_info": {
          "anyOf": [
            {
              "$ref": "#/$defs/SourceInfo"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Source and authorship metadata."
        },
        "uuid": {
          "anyOf": [
            {
              "format": "uuid4",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A globally unique identifier for the model.",
          "title": "Uuid"
        },
        "spec_version": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The specification version of the model.",
          "title": "Spec Version"
        },
        "generation_tool": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The tool used to generate the model.",
          "title": "Generation Tool"
        },
        "generation_time": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The date and time when the model was generated.",
          "title": "Generation Time"
        },
        "data_exchange": {
          "anyOf": [
            {
              "$ref": "#/$defs/DataExchange"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The data exchange information of the model."
        },
        "license": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The license of the model.",
          "title": "License"
        },
        "copyright": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The copyright information of the model.",
          "title": "Copyright"
        },
        "author": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The author of the model.",
          "title": "Author"
        },
        "version": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The version of the model.",
          "title": "Version"
        }
      },
      "title": "ModelDescription",
      "type": "object"
    },
    "PerfDisciplines": {
      "description": "Taxonomy for performance measures.",
      "enum": [
        "configuration",
        "propulsion",
        "mass properties",
        "aerodynamics",
        "signature",
        "finance",
        "payloads",
        "structures",
        "systems",
        "manufacturing",
        "mission",
        "airplane performance",
        "mdo"
      ],
      "title": "PerfDisciplines",
      "type": "string"
    },
    "SourceInfo": {
      "description": "Source and authorship metadata for an ADH node.",
      "properties": {
        "authors": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/Author"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Authors or contributors.",
          "title": "Authors"
        },
        "creation_date": {
          "anyOf": [
            {
              "format": "date",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Date this node was created.",
          "title": "Creation Date"
        },
        "modification_date": {
          "anyOf": [
            {
              "format": "date",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Date this node was last modified.",
          "title": "Modification Date"
        },
        "version": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Version string.",
          "title": "Version"
        },
        "references": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/ExternalReference"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "References to external files or documents.",
          "title": "References"
        }
      },
      "title": "SourceInfo",
      "type": "object"
    }
  },
  "description": "A specific discipline organizing associated tools, models, and methodologies.",
  "properties": {
    "name": {
      "$ref": "#/$defs/PerfDisciplines",
      "description": "The name of the discipline."
    },
    "description": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "A brief description of the discipline and its scope.",
      "title": "Description"
    },
    "tools": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/ModelDescription"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "A list of tools and models associated with the discipline.",
      "title": "Tools"
    },
    "fidelity_level": {
      "anyOf": [
        {
          "$ref": "#/$defs/FidelityLevel"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Declared analysis fidelity for this discipline. Drives tool selection and cross-domain mismatch detection. L0 = empirical/handbook; L1 = VLM/panel; L2 = multi-discipline at selected conditions; L3 = high-fidelity full-envelope; L4 = validated (outside MAGPIE scope)."
    },
    "source_info": {
      "anyOf": [
        {
          "$ref": "#/$defs/SourceInfo"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Source and authorship metadata."
    }
  },
  "required": [
    "name"
  ],
  "title": "Discipline",
  "type": "object"
}

Fields:

description pydantic-field ¤

description: Optional[str] = None

A brief description of the discipline and its scope.

fidelity_level pydantic-field ¤

fidelity_level: Optional[FidelityLevel] = None

Declared analysis fidelity for this discipline. Drives tool selection and cross-domain mismatch detection. L0 = empirical/handbook; L1 = VLM/panel; L2 = multi-discipline at selected conditions; L3 = high-fidelity full-envelope; L4 = validated (outside MAGPIE scope).

name pydantic-field ¤

The name of the discipline.

source_info pydantic-field ¤

source_info: Optional[SourceInfo] = None

Source and authorship metadata.

tools pydantic-field ¤

tools: Optional[list[ModelDescription]] = None

A list of tools and models associated with the discipline.

add_tool ¤

add_tool(tool: ModelDescription) -> None

Add a new tool or model to the discipline.

Parameters:

Source code in src/adh/msosa/performance.py
157
158
159
160
161
162
163
164
165
166
def add_tool(self, tool: ModelDescription) -> None:
    """
    Add a new tool or model to the discipline.

    Args:
        tool: The tool or model being added.
    """
    if self.tools is None:
        self.tools = []
    self.tools.append(tool)

ExternalReference pydantic-model ¤

Bases: BaseModel

Reference to an external file or document.

Show JSON schema:
{
  "description": "Reference to an external file or document.",
  "properties": {
    "title": {
      "description": "Title or name of the referenced resource.",
      "title": "Title",
      "type": "string"
    },
    "path": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "File path or URI to the external resource.",
      "title": "Path"
    },
    "description": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Description of the reference and its relevance.",
      "title": "Description"
    },
    "classification": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Type classification of the reference (e.g. 'STEP file', 'CFD mesh', 'test report').",
      "title": "Classification"
    }
  },
  "required": [
    "title"
  ],
  "title": "ExternalReference",
  "type": "object"
}

Fields:

classification pydantic-field ¤

classification: Optional[str] = None

Type classification of the reference (e.g. 'STEP file', 'CFD mesh', 'test report').

description pydantic-field ¤

description: Optional[str] = None

Description of the reference and its relevance.

path pydantic-field ¤

path: Optional[str] = None

File path or URI to the external resource.

title pydantic-field ¤

title: str

Title or name of the referenced resource.

MSoSAMixin pydantic-model ¤

Bases: BaseModel

Add recursive MSoSA child views to a true architecture node.

Show JSON schema:
{
  "$defs": {
    "Activity": {
      "description": "An individual activity or task within a behaviour sequence.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A unique name identifying the activity.",
          "title": "Name"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A brief description of the activity's purpose and objectives.",
          "title": "Description"
        },
        "state": {
          "anyOf": [
            {
              "$ref": "#/$defs/ActivityState"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The current state of the activity."
        },
        "dependencies": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "List of activity names that this activity depends on.",
          "title": "Dependencies"
        }
      },
      "title": "Activity",
      "type": "object"
    },
    "ActivityState": {
      "description": "Lifecycle state of an activity.",
      "enum": [
        "pending",
        "in_progress",
        "completed",
        "cancelled"
      ],
      "title": "ActivityState",
      "type": "string"
    },
    "Author": {
      "description": "Author or contributor to an ADH node.",
      "properties": {
        "name": {
          "description": "Full name of the author.",
          "title": "Name",
          "type": "string"
        },
        "organisation": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Organisation or affiliation.",
          "title": "Organisation"
        },
        "email": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Email address.",
          "title": "Email"
        }
      },
      "required": [
        "name"
      ],
      "title": "Author",
      "type": "object"
    },
    "Behavior": {
      "description": "Behavioural model of a system, combining an activity sequence with DaveML tables.",
      "properties": {
        "variable_defs": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/VariableDef"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Variable definitions",
          "title": "Variable Defs"
        },
        "breakpoint_defs": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/BreakpointDef"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Breakpoint set definitions",
          "title": "Breakpoint Defs"
        },
        "gridded_table_defs": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/GriddedTableDef"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Gridded table definitions",
          "title": "Gridded Table Defs"
        },
        "ungridded_table_defs": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/UngriddedTableDef"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Ungridded table definitions",
          "title": "Ungridded Table Defs"
        },
        "functions": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/Function"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Function definitions",
          "title": "Functions"
        },
        "check_data": {
          "anyOf": [
            {
              "$ref": "#/$defs/CheckData"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Verification check data"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A unique name identifying the behaviour.",
          "title": "Name"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A brief description of the behaviour.",
          "title": "Description"
        },
        "sequence": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/Activity"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A sequence of activities that define the behaviour.",
          "title": "Sequence"
        },
        "fidelity_level": {
          "anyOf": [
            {
              "$ref": "#/$defs/FidelityLevel"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Declared analysis fidelity for this behaviour model. L0 = empirical lookup or simple rule; L1 = parameterised model; L2 = multi-condition simulation model (e.g. DaveML table set); L3 = high-fidelity non-linear or time-varying model; L4 = validated against physical test data."
        },
        "source_info": {
          "anyOf": [
            {
              "$ref": "#/$defs/SourceInfo"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Source and authorship metadata."
        }
      },
      "title": "Behavior",
      "type": "object"
    },
    "Behaviors": {
      "description": "Container for a list of behaviours.",
      "properties": {
        "behaviors": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/Behavior"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Behaviors"
        }
      },
      "title": "Behaviors",
      "type": "object"
    },
    "Bounds": {
      "description": "Statistical limits of a parameter.",
      "properties": {
        "value": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "$ref": "#/$defs/DataTable"
            },
            {
              "$ref": "#/$defs/VariableDef"
            },
            {
              "$ref": "#/$defs/VariableRef"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The bound value or reference",
          "title": "Value"
        }
      },
      "title": "Bounds",
      "type": "object"
    },
    "BpRef": {
      "description": "Reference to a breakpoint set.",
      "properties": {
        "bp_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the referenced breakpoint set",
          "title": "Bp Id"
        }
      },
      "title": "BpRef",
      "type": "object"
    },
    "BreakpointDef": {
      "description": "Definition of a breakpoint set.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the breakpoint set",
          "title": "Name"
        },
        "bp_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The unique identifier for this breakpoint set",
          "title": "Bp Id"
        },
        "units": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The units of measure for the breakpoints",
          "title": "Units"
        },
        "description": {
          "anyOf": [
            {
              "$ref": "#/$defs/Description"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A description of the breakpoint set"
        },
        "bp_vals": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The breakpoint values",
          "title": "Bp Vals"
        }
      },
      "title": "BreakpointDef",
      "type": "object"
    },
    "Calculation": {
      "description": "Calculation using MathML content markup.",
      "properties": {
        "math": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The MathML content markup describing the calculation",
          "title": "Math"
        }
      },
      "title": "Calculation",
      "type": "object"
    },
    "CheckData": {
      "description": "Check data for model verification.",
      "properties": {
        "static_shot": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/StaticShot"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Static check cases",
          "title": "Static Shot"
        }
      },
      "title": "CheckData",
      "type": "object"
    },
    "CheckInputs": {
      "description": "Input values for a check case.",
      "properties": {
        "signal": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/Signal"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The input signals for this check case",
          "title": "Signal"
        }
      },
      "title": "CheckInputs",
      "type": "object"
    },
    "CheckOutputs": {
      "description": "Expected output values for a check case.",
      "properties": {
        "signal": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/Signal"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The output signals for this check case",
          "title": "Signal"
        }
      },
      "title": "CheckOutputs",
      "type": "object"
    },
    "ConfidenceBound": {
      "description": "Confidence bound for table data.",
      "properties": {
        "value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The value of the confidence bound",
          "title": "Value"
        }
      },
      "title": "ConfidenceBound",
      "type": "object"
    },
    "CorrelatesWith": {
      "description": "Indicates correlation with another variable.",
      "properties": {
        "var_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the correlated variable",
          "title": "Var Id"
        }
      },
      "title": "CorrelatesWith",
      "type": "object"
    },
    "Correlation": {
      "description": "Correlation between variables.",
      "properties": {
        "var_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the correlated variable",
          "title": "Var Id"
        },
        "corr_coef": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The correlation coefficient",
          "title": "Corr Coef"
        }
      },
      "title": "Correlation",
      "type": "object"
    },
    "DataExchange": {
      "description": "The data exchange information of a model or tool.",
      "properties": {
        "id": {
          "description": "The identifier of the model.",
          "title": "Id",
          "type": "string"
        },
        "inputs": {
          "anyOf": [
            {
              "items": {},
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The list of input variables to the model.",
          "title": "Inputs"
        },
        "outputs": {
          "anyOf": [
            {
              "items": {},
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The list of output variables of the model.",
          "title": "Outputs"
        }
      },
      "required": [
        "id"
      ],
      "title": "DataExchange",
      "type": "object"
    },
    "DataPoint": {
      "description": "Data point in an ungridded table.",
      "properties": {
        "mod_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the modification record for this data point",
          "title": "Mod Id"
        },
        "value": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The values of the data point",
          "title": "Value"
        }
      },
      "title": "DataPoint",
      "type": "object"
    },
    "DataTable": {
      "description": "Data of a gridded table as whitespace- or comma-separated values.",
      "properties": {
        "value": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The table data as a string of comma- or whitespace-separated values",
          "title": "Value"
        }
      },
      "title": "DataTable",
      "type": "object"
    },
    "DependentVarPts": {
      "description": "Dependent variable points for a simple function.",
      "properties": {
        "var_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the referenced variable",
          "title": "Var Id"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the dependent variable",
          "title": "Name"
        },
        "units": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The units of the dependent variable",
          "title": "Units"
        },
        "sign": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The sign convention for the dependent variable",
          "title": "Sign"
        },
        "value": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The values of the dependent variable points",
          "title": "Value"
        }
      },
      "title": "DependentVarPts",
      "type": "object"
    },
    "DependentVarRef": {
      "description": "Reference to a dependent variable for a complex function.",
      "properties": {
        "var_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the referenced variable",
          "title": "Var Id"
        }
      },
      "title": "DependentVarRef",
      "type": "object"
    },
    "Description": {
      "description": "Textual description of an entity.",
      "properties": {
        "value": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The description text",
          "title": "Value"
        }
      },
      "title": "Description",
      "type": "object"
    },
    "Discipline": {
      "description": "A specific discipline organizing associated tools, models, and methodologies.",
      "properties": {
        "name": {
          "$ref": "#/$defs/PerfDisciplines",
          "description": "The name of the discipline."
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A brief description of the discipline and its scope.",
          "title": "Description"
        },
        "tools": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/ModelDescription"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A list of tools and models associated with the discipline.",
          "title": "Tools"
        },
        "fidelity_level": {
          "anyOf": [
            {
              "$ref": "#/$defs/FidelityLevel"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Declared analysis fidelity for this discipline. Drives tool selection and cross-domain mismatch detection. L0 = empirical/handbook; L1 = VLM/panel; L2 = multi-discipline at selected conditions; L3 = high-fidelity full-envelope; L4 = validated (outside MAGPIE scope)."
        },
        "source_info": {
          "anyOf": [
            {
              "$ref": "#/$defs/SourceInfo"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Source and authorship metadata."
        }
      },
      "required": [
        "name"
      ],
      "title": "Discipline",
      "type": "object"
    },
    "ExternalReference": {
      "description": "Reference to an external file or document.",
      "properties": {
        "title": {
          "description": "Title or name of the referenced resource.",
          "title": "Title",
          "type": "string"
        },
        "path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "File path or URI to the external resource.",
          "title": "Path"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description of the reference and its relevance.",
          "title": "Description"
        },
        "classification": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Type classification of the reference (e.g. 'STEP file', 'CFD mesh', 'test report').",
          "title": "Classification"
        }
      },
      "required": [
        "title"
      ],
      "title": "ExternalReference",
      "type": "object"
    },
    "ExtrapolateEnum": {
      "description": "Extrapolation method for table lookups.",
      "enum": [
        "neither",
        "min",
        "max",
        "both"
      ],
      "title": "ExtrapolateEnum",
      "type": "string"
    },
    "FidelityLevel": {
      "description": "L0-L4 fidelity taxonomy for ADH domain blocks.",
      "enum": [
        "L0",
        "L1",
        "L2",
        "L3",
        "L4"
      ],
      "title": "FidelityLevel",
      "type": "string"
    },
    "Function": {
      "description": "A DAVE-ML function relating independent variables to a dependent variable.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the function",
          "title": "Name"
        },
        "description": {
          "anyOf": [
            {
              "$ref": "#/$defs/Description"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A description of the function"
        },
        "independent_var_pts": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/IndependentVarPts"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The independent variable points for simple functions",
          "title": "Independent Var Pts"
        },
        "dependent_var_pts": {
          "anyOf": [
            {
              "$ref": "#/$defs/DependentVarPts"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The dependent variable points for simple functions"
        },
        "independent_var_ref": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/IndependentVarRef"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "References to independent variables for complex functions",
          "title": "Independent Var Ref"
        },
        "dependent_var_ref": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/DependentVarRef"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Reference to the dependent variable for complex functions",
          "title": "Dependent Var Ref"
        },
        "function_defn": {
          "anyOf": [
            {
              "$ref": "#/$defs/FunctionDefn"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The function definition for complex functions"
        }
      },
      "title": "Function",
      "type": "object"
    },
    "FunctionDefn": {
      "description": "Definition of a complex function (table-based lookup).",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the function definition",
          "title": "Name"
        },
        "gridded_table_ref": {
          "anyOf": [
            {
              "$ref": "#/$defs/GriddedTableRef"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A reference to a gridded table"
        },
        "gridded_table_def": {
          "anyOf": [
            {
              "$ref": "#/$defs/GriddedTableDef"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A gridded table definition"
        },
        "gridded_table": {
          "anyOf": [
            {
              "$ref": "#/$defs/GriddedTable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A gridded table"
        },
        "ungridded_table_ref": {
          "anyOf": [
            {
              "$ref": "#/$defs/UngriddedTableRef"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A reference to an ungridded table"
        },
        "ungridded_table_def": {
          "anyOf": [
            {
              "$ref": "#/$defs/UngriddedTableDef"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "An ungridded table definition"
        },
        "ungridded_table": {
          "anyOf": [
            {
              "$ref": "#/$defs/UngriddedTable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "An ungridded table"
        }
      },
      "title": "FunctionDefn",
      "type": "object"
    },
    "GriddedTable": {
      "description": "Inline gridded table.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the gridded table",
          "title": "Name"
        },
        "breakpoint_refs": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/BpRef"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "References to the breakpoint sets used in this table",
          "title": "Breakpoint Refs"
        },
        "confidence_bound": {
          "anyOf": [
            {
              "$ref": "#/$defs/ConfidenceBound"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The confidence bound for the table data"
        },
        "data_table": {
          "anyOf": [
            {
              "$ref": "#/$defs/DataTable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The actual data of the gridded table"
        }
      },
      "title": "GriddedTable",
      "type": "object"
    },
    "GriddedTableDef": {
      "description": "Definition of a gridded table.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the gridded table",
          "title": "Name"
        },
        "gt_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The unique identifier for this gridded table",
          "title": "Gt Id"
        },
        "units": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The units of measure for the table values",
          "title": "Units"
        },
        "description": {
          "anyOf": [
            {
              "$ref": "#/$defs/Description"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A description of the gridded table"
        },
        "breakpoint_refs": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/BpRef"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "References to the breakpoint sets used in this table",
          "title": "Breakpoint Refs"
        },
        "uncertainty": {
          "anyOf": [
            {
              "$ref": "#/$defs/Uncertainty"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The uncertainty associated with the table values"
        },
        "data_table": {
          "anyOf": [
            {
              "$ref": "#/$defs/DataTable"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The actual data of the gridded table"
        }
      },
      "title": "GriddedTableDef",
      "type": "object"
    },
    "GriddedTableRef": {
      "description": "Reference to a gridded table.",
      "properties": {
        "gt_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the referenced gridded table",
          "title": "Gt Id"
        }
      },
      "title": "GriddedTableRef",
      "type": "object"
    },
    "IndependentVarPts": {
      "description": "Independent variable points for a simple function.",
      "properties": {
        "var_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the referenced variable",
          "title": "Var Id"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the independent variable",
          "title": "Name"
        },
        "units": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The units of the independent variable",
          "title": "Units"
        },
        "sign": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The sign convention for the independent variable",
          "title": "Sign"
        },
        "extrapolate": {
          "anyOf": [
            {
              "$ref": "#/$defs/ExtrapolateEnum"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The extrapolation method"
        },
        "interpolate": {
          "anyOf": [
            {
              "$ref": "#/$defs/InterpolateEnum"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The interpolation method"
        },
        "value": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The values of the independent variable points",
          "title": "Value"
        }
      },
      "title": "IndependentVarPts",
      "type": "object"
    },
    "IndependentVarRef": {
      "description": "Reference to an independent variable for a complex function.",
      "properties": {
        "var_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the referenced variable",
          "title": "Var Id"
        },
        "min": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The minimum value of the independent variable",
          "title": "Min"
        },
        "max": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The maximum value of the independent variable",
          "title": "Max"
        },
        "extrapolate": {
          "anyOf": [
            {
              "$ref": "#/$defs/ExtrapolateEnum"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The extrapolation method"
        },
        "interpolate": {
          "anyOf": [
            {
              "$ref": "#/$defs/InterpolateEnum"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The interpolation method"
        }
      },
      "title": "IndependentVarRef",
      "type": "object"
    },
    "InternalValues": {
      "description": "Internal variable values for a check case.",
      "properties": {
        "signal": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/Signal"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The internal signals for this check case",
          "title": "Signal"
        }
      },
      "title": "InternalValues",
      "type": "object"
    },
    "InterpolateEnum": {
      "description": "Interpolation method for table lookups (ANSI/AIAA-S-119-2011).",
      "enum": [
        "discrete",
        "floor",
        "ceiling",
        "linear",
        "quadraticSpline",
        "cubicSpline"
      ],
      "title": "InterpolateEnum",
      "type": "string"
    },
    "ModelDescription": {
      "additionalProperties": true,
      "description": "The description of a tool or model.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A unique model name.",
          "title": "Name"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A brief description of the model.",
          "title": "Description"
        },
        "source_info": {
          "anyOf": [
            {
              "$ref": "#/$defs/SourceInfo"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Source and authorship metadata."
        },
        "uuid": {
          "anyOf": [
            {
              "format": "uuid4",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A globally unique identifier for the model.",
          "title": "Uuid"
        },
        "spec_version": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The specification version of the model.",
          "title": "Spec Version"
        },
        "generation_tool": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The tool used to generate the model.",
          "title": "Generation Tool"
        },
        "generation_time": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The date and time when the model was generated.",
          "title": "Generation Time"
        },
        "data_exchange": {
          "anyOf": [
            {
              "$ref": "#/$defs/DataExchange"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The data exchange information of the model."
        },
        "license": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The license of the model.",
          "title": "License"
        },
        "copyright": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The copyright information of the model.",
          "title": "Copyright"
        },
        "author": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The author of the model.",
          "title": "Author"
        },
        "version": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The version of the model.",
          "title": "Version"
        }
      },
      "title": "ModelDescription",
      "type": "object"
    },
    "NormalPDF": {
      "description": "Normal probability distribution function.",
      "properties": {
        "num_sigmas": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The number of standard deviations",
          "title": "Num Sigmas"
        },
        "bounds": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/Bounds"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The bounds of the distribution",
          "title": "Bounds"
        },
        "correlates_with": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/CorrelatesWith"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Correlations with other variables",
          "title": "Correlates With"
        },
        "correlation": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/Correlation"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Correlation coefficients",
          "title": "Correlation"
        }
      },
      "title": "NormalPDF",
      "type": "object"
    },
    "PerfDisciplines": {
      "description": "Taxonomy for performance measures.",
      "enum": [
        "configuration",
        "propulsion",
        "mass properties",
        "aerodynamics",
        "signature",
        "finance",
        "payloads",
        "structures",
        "systems",
        "manufacturing",
        "mission",
        "airplane performance",
        "mdo"
      ],
      "title": "PerfDisciplines",
      "type": "string"
    },
    "Performances": {
      "description": "Container for a list of performance disciplines.",
      "properties": {
        "performances": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/Discipline"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Performances"
        }
      },
      "title": "Performances",
      "type": "object"
    },
    "Priority": {
      "description": "Requirement priority levels per INCOSE guidance.",
      "enum": [
        "critical",
        "high",
        "medium",
        "low"
      ],
      "title": "Priority",
      "type": "string"
    },
    "ReqsCategories": {
      "description": "Taxonomy for system requirements based on ISO/IEC/IEEE 29148 and\nINCOSE's Guide to Writing Requirements.",
      "enum": [
        "functional",
        "performance",
        "quality and reliability",
        "security and cyber security",
        "interface",
        "constraints",
        "regulatory and compliance",
        "non-functional"
      ],
      "title": "ReqsCategories",
      "type": "string"
    },
    "Requirement": {
      "description": "A single requirement including specification, tracking and validation.",
      "properties": {
        "name": {
          "description": "A unique name identifying the requirement.",
          "title": "Name",
          "type": "string"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A detailed description of the requirement.",
          "title": "Description"
        },
        "category": {
          "anyOf": [
            {
              "$ref": "#/$defs/ReqsCategories"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The category of the requirement."
        },
        "priority": {
          "anyOf": [
            {
              "$ref": "#/$defs/Priority"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The priority of the requirement."
        },
        "verification_method": {
          "anyOf": [
            {
              "$ref": "#/$defs/VerificationMethod"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "How the requirement will be verified."
        },
        "status": {
          "anyOf": [
            {
              "$ref": "#/$defs/RequirementStatus"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The current lifecycle status of the requirement."
        },
        "source": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The originating document or stakeholder.",
          "title": "Source"
        },
        "acceptance_criteria": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Conditions that must be met for the requirement to be satisfied.",
          "title": "Acceptance Criteria"
        },
        "target_component": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The component or subsystem this requirement applies to.",
          "title": "Target Component"
        },
        "risk": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Known risks associated with this requirement.",
          "title": "Risk"
        },
        "verification_evidence": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Evidence or artefacts confirming verification.",
          "title": "Verification Evidence"
        },
        "source_info": {
          "anyOf": [
            {
              "$ref": "#/$defs/SourceInfo"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Source and authorship metadata."
        }
      },
      "required": [
        "name"
      ],
      "title": "Requirement",
      "type": "object"
    },
    "RequirementStatus": {
      "description": "Lifecycle status of a requirement.",
      "enum": [
        "draft",
        "approved",
        "implemented",
        "verified",
        "obsolete"
      ],
      "title": "RequirementStatus",
      "type": "string"
    },
    "Requirements": {
      "description": "Container for a list of requirements.",
      "properties": {
        "requirements": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/Requirement"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Requirements"
        }
      },
      "title": "Requirements",
      "type": "object"
    },
    "Signal": {
      "description": "Signal (input, internal, or output) in a check case.",
      "properties": {
        "signal_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the signal",
          "title": "Signal Name"
        },
        "signal_units": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The units of the signal",
          "title": "Signal Units"
        },
        "var_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the variable associated with this signal",
          "title": "Var Id"
        },
        "signal_value": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The value of the signal",
          "title": "Signal Value"
        },
        "tol": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The tolerance for this signal's value",
          "title": "Tol"
        }
      },
      "title": "Signal",
      "type": "object"
    },
    "SourceInfo": {
      "description": "Source and authorship metadata for an ADH node.",
      "properties": {
        "authors": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/Author"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Authors or contributors.",
          "title": "Authors"
        },
        "creation_date": {
          "anyOf": [
            {
              "format": "date",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Date this node was created.",
          "title": "Creation Date"
        },
        "modification_date": {
          "anyOf": [
            {
              "format": "date",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Date this node was last modified.",
          "title": "Modification Date"
        },
        "version": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Version string.",
          "title": "Version"
        },
        "references": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/ExternalReference"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "References to external files or documents.",
          "title": "References"
        }
      },
      "title": "SourceInfo",
      "type": "object"
    },
    "StaticShot": {
      "description": "Static check case for model verification.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the static shot",
          "title": "Name"
        },
        "ref_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The reference ID for this static shot",
          "title": "Ref Id"
        },
        "description": {
          "anyOf": [
            {
              "$ref": "#/$defs/Description"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A description of the static shot"
        },
        "check_inputs": {
          "anyOf": [
            {
              "$ref": "#/$defs/CheckInputs"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The input values for this check case"
        },
        "internal_values": {
          "anyOf": [
            {
              "$ref": "#/$defs/InternalValues"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The internal variable values for this check case"
        },
        "check_outputs": {
          "anyOf": [
            {
              "$ref": "#/$defs/CheckOutputs"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The expected output values for this check case"
        }
      },
      "title": "StaticShot",
      "type": "object"
    },
    "Uncertainty": {
      "description": "Uncertainty of a function or parameter value.",
      "properties": {
        "effect": {
          "anyOf": [
            {
              "$ref": "#/$defs/UncertaintyEffect"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The effect of the uncertainty"
        },
        "normal_pdf": {
          "anyOf": [
            {
              "$ref": "#/$defs/NormalPDF"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The normal probability distribution function"
        },
        "uniform_pdf": {
          "anyOf": [
            {
              "$ref": "#/$defs/UniformPDF"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The uniform probability distribution function"
        }
      },
      "title": "Uncertainty",
      "type": "object"
    },
    "UncertaintyEffect": {
      "description": "Effect type for uncertainty specification.",
      "enum": [
        "additive",
        "multiplicative",
        "percentage",
        "absolute"
      ],
      "title": "UncertaintyEffect",
      "type": "string"
    },
    "UngriddedTable": {
      "description": "Inline ungridded table.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the ungridded table",
          "title": "Name"
        },
        "confidence_bound": {
          "anyOf": [
            {
              "$ref": "#/$defs/ConfidenceBound"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The confidence bound for the table data"
        },
        "data_point": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/DataPoint"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The data points of the ungridded table",
          "title": "Data Point"
        }
      },
      "title": "UngriddedTable",
      "type": "object"
    },
    "UngriddedTableDef": {
      "description": "Definition of an ungridded table.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the ungridded table",
          "title": "Name"
        },
        "ut_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The unique identifier for this ungridded table",
          "title": "Ut Id"
        },
        "units": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The units of measure for the table values",
          "title": "Units"
        },
        "description": {
          "anyOf": [
            {
              "$ref": "#/$defs/Description"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A description of the ungridded table"
        },
        "uncertainty": {
          "anyOf": [
            {
              "$ref": "#/$defs/Uncertainty"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The uncertainty associated with the table values"
        },
        "data_point": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/DataPoint"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The data points of the ungridded table",
          "title": "Data Point"
        }
      },
      "title": "UngriddedTableDef",
      "type": "object"
    },
    "UngriddedTableRef": {
      "description": "Reference to an ungridded table.",
      "properties": {
        "ut_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the referenced ungridded table",
          "title": "Ut Id"
        }
      },
      "title": "UngriddedTableRef",
      "type": "object"
    },
    "UniformPDF": {
      "description": "Uniform probability distribution function.",
      "properties": {
        "bounds": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/Bounds"
              },
              "minItems": 1,
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The bounds of the distribution",
          "title": "Bounds"
        }
      },
      "title": "UniformPDF",
      "type": "object"
    },
    "VariableDef": {
      "description": "Definition of a variable.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the variable",
          "title": "Name"
        },
        "var_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The unique identifier for this variable",
          "title": "Var Id"
        },
        "units": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The units of measure for the variable",
          "title": "Units"
        },
        "axis_system": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The axis system for the variable",
          "title": "Axis System"
        },
        "sign": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The sign convention for the variable",
          "title": "Sign"
        },
        "alias": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "An alias for the variable",
          "title": "Alias"
        },
        "symbol": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A symbol representing the variable",
          "title": "Symbol"
        },
        "initial_value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The initial value of the variable",
          "title": "Initial Value"
        },
        "min_value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The minimum allowed value of the variable",
          "title": "Min Value"
        },
        "max_value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The maximum allowed value of the variable",
          "title": "Max Value"
        },
        "description": {
          "anyOf": [
            {
              "$ref": "#/$defs/Description"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A description of the variable"
        },
        "calculation": {
          "anyOf": [
            {
              "$ref": "#/$defs/Calculation"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The calculation for deriving the variable's value"
        },
        "is_input": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Indicates if the variable is an input",
          "title": "Is Input"
        },
        "is_control": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Indicates if the variable is a control parameter",
          "title": "Is Control"
        },
        "is_disturbance": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Indicates if the variable is a disturbance input",
          "title": "Is Disturbance"
        },
        "is_state": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Indicates if the variable is a state variable",
          "title": "Is State"
        },
        "is_state_deriv": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Indicates if the variable is a state derivative",
          "title": "Is State Deriv"
        },
        "is_output": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Indicates if the variable is an output",
          "title": "Is Output"
        },
        "is_std_aiaa": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Indicates if the variable is a standard AIAA variable",
          "title": "Is Std Aiaa"
        },
        "uncertainty": {
          "anyOf": [
            {
              "$ref": "#/$defs/Uncertainty"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The uncertainty associated with the variable"
        }
      },
      "title": "VariableDef",
      "type": "object"
    },
    "VariableRef": {
      "description": "Reference to a variable.",
      "properties": {
        "var_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the referenced variable",
          "title": "Var Id"
        }
      },
      "title": "VariableRef",
      "type": "object"
    },
    "VerificationMethod": {
      "description": "Verification methods per ISO/IEC/IEEE 15288:2023.",
      "enum": [
        "test",
        "analysis",
        "inspection",
        "demonstration"
      ],
      "title": "VerificationMethod",
      "type": "string"
    }
  },
  "description": "Add recursive MSoSA child views to a true architecture node.",
  "properties": {
    "requirements": {
      "anyOf": [
        {
          "$ref": "#/$defs/Requirements"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Requirements child view for this architecture node."
    },
    "performance": {
      "anyOf": [
        {
          "$ref": "#/$defs/Performances"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Performance child view for this architecture node."
    },
    "behavior": {
      "anyOf": [
        {
          "$ref": "#/$defs/Behaviors"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Behavior child view for this architecture node."
    }
  },
  "title": "MSoSAMixin",
  "type": "object"
}

Fields:

behavior pydantic-field ¤

behavior: Optional[Behaviors] = None

Behavior child view for this architecture node.

performance pydantic-field ¤

performance: Optional[Performances] = None

Performance child view for this architecture node.

requirements pydantic-field ¤

requirements: Optional[Requirements] = None

Requirements child view for this architecture node.

Metadata pydantic-model ¤

Bases: BaseModel

Key-value metadata for annotating architecture nodes.

Show JSON schema:
{
  "additionalProperties": false,
  "description": "Key-value metadata for annotating architecture nodes.",
  "properties": {
    "key": {
      "title": "Key",
      "type": "string"
    },
    "value": {
      "default": null,
      "title": "Value"
    },
    "units": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Units of measure",
      "title": "Units"
    },
    "uncertainty": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Uncertainty value",
      "title": "Uncertainty"
    },
    "lower_bounds": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Lower bound",
      "title": "Lower Bounds"
    },
    "upper_bounds": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Upper bound",
      "title": "Upper Bounds"
    }
  },
  "required": [
    "key"
  ],
  "title": "Metadata",
  "type": "object"
}

Config:

  • validate_assignment: True
  • arbitrary_types_allowed: True
  • extra: forbid
  • str_min_length: 1
  • str_max_length: 255
  • str_strip_whitespace: True

Fields:

lower_bounds pydantic-field ¤

lower_bounds: Optional[Union[int, float]] = None

Lower bound

uncertainty pydantic-field ¤

uncertainty: Optional[Any] = None

Uncertainty value

units pydantic-field ¤

units: Optional[str] = None

Units of measure

upper_bounds pydantic-field ¤

upper_bounds: Optional[Union[int, float]] = None

Upper bound

NodeMetaMixin pydantic-model ¤

Bases: BaseModel

Shared top-level metadata for ADH node-like models.

Show JSON schema:
{
  "$defs": {
    "Author": {
      "description": "Author or contributor to an ADH node.",
      "properties": {
        "name": {
          "description": "Full name of the author.",
          "title": "Name",
          "type": "string"
        },
        "organisation": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Organisation or affiliation.",
          "title": "Organisation"
        },
        "email": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Email address.",
          "title": "Email"
        }
      },
      "required": [
        "name"
      ],
      "title": "Author",
      "type": "object"
    },
    "ExternalReference": {
      "description": "Reference to an external file or document.",
      "properties": {
        "title": {
          "description": "Title or name of the referenced resource.",
          "title": "Title",
          "type": "string"
        },
        "path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "File path or URI to the external resource.",
          "title": "Path"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description of the reference and its relevance.",
          "title": "Description"
        },
        "classification": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Type classification of the reference (e.g. 'STEP file', 'CFD mesh', 'test report').",
          "title": "Classification"
        }
      },
      "required": [
        "title"
      ],
      "title": "ExternalReference",
      "type": "object"
    },
    "SourceInfo": {
      "description": "Source and authorship metadata for an ADH node.",
      "properties": {
        "authors": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/Author"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Authors or contributors.",
          "title": "Authors"
        },
        "creation_date": {
          "anyOf": [
            {
              "format": "date",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Date this node was created.",
          "title": "Creation Date"
        },
        "modification_date": {
          "anyOf": [
            {
              "format": "date",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Date this node was last modified.",
          "title": "Modification Date"
        },
        "version": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Version string.",
          "title": "Version"
        },
        "references": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/ExternalReference"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "References to external files or documents.",
          "title": "References"
        }
      },
      "title": "SourceInfo",
      "type": "object"
    }
  },
  "additionalProperties": true,
  "description": "Shared top-level metadata for ADH node-like models.",
  "properties": {
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "A unique model name.",
      "title": "Name"
    },
    "description": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "A brief description of the model.",
      "title": "Description"
    },
    "source_info": {
      "anyOf": [
        {
          "$ref": "#/$defs/SourceInfo"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Source and authorship metadata."
    },
    "uuid": {
      "anyOf": [
        {
          "format": "uuid4",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "A globally unique identifier for the model.",
      "title": "Uuid"
    }
  },
  "title": "NodeMetaMixin",
  "type": "object"
}

Fields:

description pydantic-field ¤

description: Optional[str] = None

A brief description of the model.

name pydantic-field ¤

name: Optional[str] = None

A unique model name.

source_info pydantic-field ¤

source_info: Optional[SourceInfo] = None

Source and authorship metadata.

uuid pydantic-field ¤

uuid: Optional[UUID4] = None

A globally unique identifier for the model.

PerfDisciplines ¤

Bases: str, Enum

Taxonomy for performance measures.

Attributes:

  • aerodynamics

    Lift, drag, stability derivatives, and flight envelope performance.

  • airplane_performance

    Integrated performance loop: range, endurance, fuel burn, takeoff/landing distances.

  • configuration

    Geometric and layout attributes (e.g., wing area, aspect ratio, OML).

  • finance

    Life cycle cost (LCC), non-recurring engineering (NRE), and unit cost.

  • manufacturing

    Producibility metrics, build rate, and assembly tolerances.

  • mass_properties

    Weight, balance, center of gravity (CG), and moments of inertia.

  • mdo

    Multidisciplinary Design Optimisation (MDO): problem formulation, DVs, constraints, coupling.

  • mission

    Design Reference Mission (DRM): segment definition, payload, fuel fractions, MTOW closure.

  • payloads

    Sensor performance, weapon integration, and cargo capacity.

  • propulsion

    Engine performance, thrust, fuel flow, and thermal efficiency.

  • signature

    Radar Cross Section (RCS), infrared (IR), acoustic, and visual signatures.

  • structures

    Load factors, aeroelasticity, fatigue life, and material stress.

  • systems

    Subsystem performance (Avionics, Hydraulics, Electrical, Environmental).

aerodynamics class-attribute instance-attribute ¤

aerodynamics = 'aerodynamics'

Lift, drag, stability derivatives, and flight envelope performance.

airplane_performance class-attribute instance-attribute ¤

airplane_performance = 'airplane performance'

Integrated performance loop: range, endurance, fuel burn, takeoff/landing distances.

configuration class-attribute instance-attribute ¤

configuration = 'configuration'

Geometric and layout attributes (e.g., wing area, aspect ratio, OML).

finance class-attribute instance-attribute ¤

finance = 'finance'

Life cycle cost (LCC), non-recurring engineering (NRE), and unit cost.

manufacturing class-attribute instance-attribute ¤

manufacturing = 'manufacturing'

Producibility metrics, build rate, and assembly tolerances.

mass_properties class-attribute instance-attribute ¤

mass_properties = 'mass properties'

Weight, balance, center of gravity (CG), and moments of inertia.

mdo class-attribute instance-attribute ¤

mdo = 'mdo'

Multidisciplinary Design Optimisation (MDO): problem formulation, DVs, constraints, coupling.

mission class-attribute instance-attribute ¤

mission = 'mission'

Design Reference Mission (DRM): segment definition, payload, fuel fractions, MTOW closure.

payloads class-attribute instance-attribute ¤

payloads = 'payloads'

Sensor performance, weapon integration, and cargo capacity.

propulsion class-attribute instance-attribute ¤

propulsion = 'propulsion'

Engine performance, thrust, fuel flow, and thermal efficiency.

signature class-attribute instance-attribute ¤

signature = 'signature'

Radar Cross Section (RCS), infrared (IR), acoustic, and visual signatures.

structures class-attribute instance-attribute ¤

structures = 'structures'

Load factors, aeroelasticity, fatigue life, and material stress.

systems class-attribute instance-attribute ¤

systems = 'systems'

Subsystem performance (Avionics, Hydraulics, Electrical, Environmental).

Performances pydantic-model ¤

Bases: BaseModel

Container for a list of performance disciplines.

Show JSON schema:
{
  "$defs": {
    "Author": {
      "description": "Author or contributor to an ADH node.",
      "properties": {
        "name": {
          "description": "Full name of the author.",
          "title": "Name",
          "type": "string"
        },
        "organisation": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Organisation or affiliation.",
          "title": "Organisation"
        },
        "email": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Email address.",
          "title": "Email"
        }
      },
      "required": [
        "name"
      ],
      "title": "Author",
      "type": "object"
    },
    "DataExchange": {
      "description": "The data exchange information of a model or tool.",
      "properties": {
        "id": {
          "description": "The identifier of the model.",
          "title": "Id",
          "type": "string"
        },
        "inputs": {
          "anyOf": [
            {
              "items": {},
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The list of input variables to the model.",
          "title": "Inputs"
        },
        "outputs": {
          "anyOf": [
            {
              "items": {},
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The list of output variables of the model.",
          "title": "Outputs"
        }
      },
      "required": [
        "id"
      ],
      "title": "DataExchange",
      "type": "object"
    },
    "Discipline": {
      "description": "A specific discipline organizing associated tools, models, and methodologies.",
      "properties": {
        "name": {
          "$ref": "#/$defs/PerfDisciplines",
          "description": "The name of the discipline."
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A brief description of the discipline and its scope.",
          "title": "Description"
        },
        "tools": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/ModelDescription"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A list of tools and models associated with the discipline.",
          "title": "Tools"
        },
        "fidelity_level": {
          "anyOf": [
            {
              "$ref": "#/$defs/FidelityLevel"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Declared analysis fidelity for this discipline. Drives tool selection and cross-domain mismatch detection. L0 = empirical/handbook; L1 = VLM/panel; L2 = multi-discipline at selected conditions; L3 = high-fidelity full-envelope; L4 = validated (outside MAGPIE scope)."
        },
        "source_info": {
          "anyOf": [
            {
              "$ref": "#/$defs/SourceInfo"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Source and authorship metadata."
        }
      },
      "required": [
        "name"
      ],
      "title": "Discipline",
      "type": "object"
    },
    "ExternalReference": {
      "description": "Reference to an external file or document.",
      "properties": {
        "title": {
          "description": "Title or name of the referenced resource.",
          "title": "Title",
          "type": "string"
        },
        "path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "File path or URI to the external resource.",
          "title": "Path"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description of the reference and its relevance.",
          "title": "Description"
        },
        "classification": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Type classification of the reference (e.g. 'STEP file', 'CFD mesh', 'test report').",
          "title": "Classification"
        }
      },
      "required": [
        "title"
      ],
      "title": "ExternalReference",
      "type": "object"
    },
    "FidelityLevel": {
      "description": "L0-L4 fidelity taxonomy for ADH domain blocks.",
      "enum": [
        "L0",
        "L1",
        "L2",
        "L3",
        "L4"
      ],
      "title": "FidelityLevel",
      "type": "string"
    },
    "ModelDescription": {
      "additionalProperties": true,
      "description": "The description of a tool or model.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A unique model name.",
          "title": "Name"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A brief description of the model.",
          "title": "Description"
        },
        "source_info": {
          "anyOf": [
            {
              "$ref": "#/$defs/SourceInfo"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Source and authorship metadata."
        },
        "uuid": {
          "anyOf": [
            {
              "format": "uuid4",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A globally unique identifier for the model.",
          "title": "Uuid"
        },
        "spec_version": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The specification version of the model.",
          "title": "Spec Version"
        },
        "generation_tool": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The tool used to generate the model.",
          "title": "Generation Tool"
        },
        "generation_time": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The date and time when the model was generated.",
          "title": "Generation Time"
        },
        "data_exchange": {
          "anyOf": [
            {
              "$ref": "#/$defs/DataExchange"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The data exchange information of the model."
        },
        "license": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The license of the model.",
          "title": "License"
        },
        "copyright": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The copyright information of the model.",
          "title": "Copyright"
        },
        "author": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The author of the model.",
          "title": "Author"
        },
        "version": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The version of the model.",
          "title": "Version"
        }
      },
      "title": "ModelDescription",
      "type": "object"
    },
    "PerfDisciplines": {
      "description": "Taxonomy for performance measures.",
      "enum": [
        "configuration",
        "propulsion",
        "mass properties",
        "aerodynamics",
        "signature",
        "finance",
        "payloads",
        "structures",
        "systems",
        "manufacturing",
        "mission",
        "airplane performance",
        "mdo"
      ],
      "title": "PerfDisciplines",
      "type": "string"
    },
    "SourceInfo": {
      "description": "Source and authorship metadata for an ADH node.",
      "properties": {
        "authors": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/Author"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Authors or contributors.",
          "title": "Authors"
        },
        "creation_date": {
          "anyOf": [
            {
              "format": "date",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Date this node was created.",
          "title": "Creation Date"
        },
        "modification_date": {
          "anyOf": [
            {
              "format": "date",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Date this node was last modified.",
          "title": "Modification Date"
        },
        "version": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Version string.",
          "title": "Version"
        },
        "references": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/ExternalReference"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "References to external files or documents.",
          "title": "References"
        }
      },
      "title": "SourceInfo",
      "type": "object"
    }
  },
  "description": "Container for a list of performance disciplines.",
  "properties": {
    "performances": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/Discipline"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Performances"
    }
  },
  "title": "Performances",
  "type": "object"
}

Fields:

Priority ¤

Bases: str, Enum

Requirement priority levels per INCOSE guidance.

ReqsCategories ¤

Bases: str, Enum

Taxonomy for system requirements based on ISO/IEC/IEEE 29148 and INCOSE's Guide to Writing Requirements.

Attributes:

  • constraints

    Restricts the design space, including physical (SWaP), material, or architectural limits.

  • functional

    Defines the essential capabilities, behaviors, and tasks the system must perform.

  • interface

    Defines the logical and physical connection points with external systems, hardware, or users.

  • non_functional

    A broad category for quality attributes not captured in specific performance or security buckets.

  • performance

    Specifies measurable benchmarks such as speed, throughput, capacity, and timing.

  • quality_reliability

    Defines system 'ilities' including reliability, availability, maintainability, and usability.

  • regulatory_compliance

    Mandates adherence to laws, industry standards, safety codes, and legal policies.

  • security_cyber

    Specifies protection of the system, data, and users from unauthorized access or harm.

constraints class-attribute instance-attribute ¤

constraints = 'constraints'

Restricts the design space, including physical (SWaP), material, or architectural limits.

functional class-attribute instance-attribute ¤

functional = 'functional'

Defines the essential capabilities, behaviors, and tasks the system must perform.

interface class-attribute instance-attribute ¤

interface = 'interface'

Defines the logical and physical connection points with external systems, hardware, or users.

non_functional class-attribute instance-attribute ¤

non_functional = 'non-functional'

A broad category for quality attributes not captured in specific performance or security buckets.

performance class-attribute instance-attribute ¤

performance = 'performance'

Specifies measurable benchmarks such as speed, throughput, capacity, and timing.

quality_reliability class-attribute instance-attribute ¤

quality_reliability = 'quality and reliability'

Defines system 'ilities' including reliability, availability, maintainability, and usability.

regulatory_compliance class-attribute instance-attribute ¤

regulatory_compliance = 'regulatory and compliance'

Mandates adherence to laws, industry standards, safety codes, and legal policies.

security_cyber class-attribute instance-attribute ¤

security_cyber = 'security and cyber security'

Specifies protection of the system, data, and users from unauthorized access or harm.

Requirement pydantic-model ¤

Bases: BaseModel

A single requirement including specification, tracking and validation.

Show JSON schema:
{
  "$defs": {
    "Author": {
      "description": "Author or contributor to an ADH node.",
      "properties": {
        "name": {
          "description": "Full name of the author.",
          "title": "Name",
          "type": "string"
        },
        "organisation": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Organisation or affiliation.",
          "title": "Organisation"
        },
        "email": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Email address.",
          "title": "Email"
        }
      },
      "required": [
        "name"
      ],
      "title": "Author",
      "type": "object"
    },
    "ExternalReference": {
      "description": "Reference to an external file or document.",
      "properties": {
        "title": {
          "description": "Title or name of the referenced resource.",
          "title": "Title",
          "type": "string"
        },
        "path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "File path or URI to the external resource.",
          "title": "Path"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description of the reference and its relevance.",
          "title": "Description"
        },
        "classification": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Type classification of the reference (e.g. 'STEP file', 'CFD mesh', 'test report').",
          "title": "Classification"
        }
      },
      "required": [
        "title"
      ],
      "title": "ExternalReference",
      "type": "object"
    },
    "Priority": {
      "description": "Requirement priority levels per INCOSE guidance.",
      "enum": [
        "critical",
        "high",
        "medium",
        "low"
      ],
      "title": "Priority",
      "type": "string"
    },
    "ReqsCategories": {
      "description": "Taxonomy for system requirements based on ISO/IEC/IEEE 29148 and\nINCOSE's Guide to Writing Requirements.",
      "enum": [
        "functional",
        "performance",
        "quality and reliability",
        "security and cyber security",
        "interface",
        "constraints",
        "regulatory and compliance",
        "non-functional"
      ],
      "title": "ReqsCategories",
      "type": "string"
    },
    "RequirementStatus": {
      "description": "Lifecycle status of a requirement.",
      "enum": [
        "draft",
        "approved",
        "implemented",
        "verified",
        "obsolete"
      ],
      "title": "RequirementStatus",
      "type": "string"
    },
    "SourceInfo": {
      "description": "Source and authorship metadata for an ADH node.",
      "properties": {
        "authors": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/Author"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Authors or contributors.",
          "title": "Authors"
        },
        "creation_date": {
          "anyOf": [
            {
              "format": "date",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Date this node was created.",
          "title": "Creation Date"
        },
        "modification_date": {
          "anyOf": [
            {
              "format": "date",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Date this node was last modified.",
          "title": "Modification Date"
        },
        "version": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Version string.",
          "title": "Version"
        },
        "references": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/ExternalReference"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "References to external files or documents.",
          "title": "References"
        }
      },
      "title": "SourceInfo",
      "type": "object"
    },
    "VerificationMethod": {
      "description": "Verification methods per ISO/IEC/IEEE 15288:2023.",
      "enum": [
        "test",
        "analysis",
        "inspection",
        "demonstration"
      ],
      "title": "VerificationMethod",
      "type": "string"
    }
  },
  "description": "A single requirement including specification, tracking and validation.",
  "properties": {
    "name": {
      "description": "A unique name identifying the requirement.",
      "title": "Name",
      "type": "string"
    },
    "description": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "A detailed description of the requirement.",
      "title": "Description"
    },
    "category": {
      "anyOf": [
        {
          "$ref": "#/$defs/ReqsCategories"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The category of the requirement."
    },
    "priority": {
      "anyOf": [
        {
          "$ref": "#/$defs/Priority"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The priority of the requirement."
    },
    "verification_method": {
      "anyOf": [
        {
          "$ref": "#/$defs/VerificationMethod"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "How the requirement will be verified."
    },
    "status": {
      "anyOf": [
        {
          "$ref": "#/$defs/RequirementStatus"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The current lifecycle status of the requirement."
    },
    "source": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The originating document or stakeholder.",
      "title": "Source"
    },
    "acceptance_criteria": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Conditions that must be met for the requirement to be satisfied.",
      "title": "Acceptance Criteria"
    },
    "target_component": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The component or subsystem this requirement applies to.",
      "title": "Target Component"
    },
    "risk": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Known risks associated with this requirement.",
      "title": "Risk"
    },
    "verification_evidence": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Evidence or artefacts confirming verification.",
      "title": "Verification Evidence"
    },
    "source_info": {
      "anyOf": [
        {
          "$ref": "#/$defs/SourceInfo"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Source and authorship metadata."
    }
  },
  "required": [
    "name"
  ],
  "title": "Requirement",
  "type": "object"
}

Fields:

acceptance_criteria pydantic-field ¤

acceptance_criteria: Optional[str] = None

Conditions that must be met for the requirement to be satisfied.

category pydantic-field ¤

category: Optional[ReqsCategories] = None

The category of the requirement.

description pydantic-field ¤

description: Optional[str] = None

A detailed description of the requirement.

name pydantic-field ¤

name: str

A unique name identifying the requirement.

priority pydantic-field ¤

priority: Optional[Priority] = None

The priority of the requirement.

risk pydantic-field ¤

risk: Optional[str] = None

Known risks associated with this requirement.

source pydantic-field ¤

source: Optional[str] = None

The originating document or stakeholder.

source_info pydantic-field ¤

source_info: Optional[SourceInfo] = None

Source and authorship metadata.

status pydantic-field ¤

status: Optional[RequirementStatus] = None

The current lifecycle status of the requirement.

target_component pydantic-field ¤

target_component: Optional[str] = None

The component or subsystem this requirement applies to.

verification_evidence pydantic-field ¤

verification_evidence: Optional[str] = None

Evidence or artefacts confirming verification.

verification_method pydantic-field ¤

verification_method: Optional[VerificationMethod] = None

How the requirement will be verified.

RequirementStatus ¤

Bases: str, Enum

Lifecycle status of a requirement.

Requirements pydantic-model ¤

Bases: BaseModel

Container for a list of requirements.

Show JSON schema:
{
  "$defs": {
    "Author": {
      "description": "Author or contributor to an ADH node.",
      "properties": {
        "name": {
          "description": "Full name of the author.",
          "title": "Name",
          "type": "string"
        },
        "organisation": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Organisation or affiliation.",
          "title": "Organisation"
        },
        "email": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Email address.",
          "title": "Email"
        }
      },
      "required": [
        "name"
      ],
      "title": "Author",
      "type": "object"
    },
    "ExternalReference": {
      "description": "Reference to an external file or document.",
      "properties": {
        "title": {
          "description": "Title or name of the referenced resource.",
          "title": "Title",
          "type": "string"
        },
        "path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "File path or URI to the external resource.",
          "title": "Path"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description of the reference and its relevance.",
          "title": "Description"
        },
        "classification": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Type classification of the reference (e.g. 'STEP file', 'CFD mesh', 'test report').",
          "title": "Classification"
        }
      },
      "required": [
        "title"
      ],
      "title": "ExternalReference",
      "type": "object"
    },
    "Priority": {
      "description": "Requirement priority levels per INCOSE guidance.",
      "enum": [
        "critical",
        "high",
        "medium",
        "low"
      ],
      "title": "Priority",
      "type": "string"
    },
    "ReqsCategories": {
      "description": "Taxonomy for system requirements based on ISO/IEC/IEEE 29148 and\nINCOSE's Guide to Writing Requirements.",
      "enum": [
        "functional",
        "performance",
        "quality and reliability",
        "security and cyber security",
        "interface",
        "constraints",
        "regulatory and compliance",
        "non-functional"
      ],
      "title": "ReqsCategories",
      "type": "string"
    },
    "Requirement": {
      "description": "A single requirement including specification, tracking and validation.",
      "properties": {
        "name": {
          "description": "A unique name identifying the requirement.",
          "title": "Name",
          "type": "string"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A detailed description of the requirement.",
          "title": "Description"
        },
        "category": {
          "anyOf": [
            {
              "$ref": "#/$defs/ReqsCategories"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The category of the requirement."
        },
        "priority": {
          "anyOf": [
            {
              "$ref": "#/$defs/Priority"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The priority of the requirement."
        },
        "verification_method": {
          "anyOf": [
            {
              "$ref": "#/$defs/VerificationMethod"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "How the requirement will be verified."
        },
        "status": {
          "anyOf": [
            {
              "$ref": "#/$defs/RequirementStatus"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The current lifecycle status of the requirement."
        },
        "source": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The originating document or stakeholder.",
          "title": "Source"
        },
        "acceptance_criteria": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Conditions that must be met for the requirement to be satisfied.",
          "title": "Acceptance Criteria"
        },
        "target_component": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The component or subsystem this requirement applies to.",
          "title": "Target Component"
        },
        "risk": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Known risks associated with this requirement.",
          "title": "Risk"
        },
        "verification_evidence": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Evidence or artefacts confirming verification.",
          "title": "Verification Evidence"
        },
        "source_info": {
          "anyOf": [
            {
              "$ref": "#/$defs/SourceInfo"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Source and authorship metadata."
        }
      },
      "required": [
        "name"
      ],
      "title": "Requirement",
      "type": "object"
    },
    "RequirementStatus": {
      "description": "Lifecycle status of a requirement.",
      "enum": [
        "draft",
        "approved",
        "implemented",
        "verified",
        "obsolete"
      ],
      "title": "RequirementStatus",
      "type": "string"
    },
    "SourceInfo": {
      "description": "Source and authorship metadata for an ADH node.",
      "properties": {
        "authors": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/Author"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Authors or contributors.",
          "title": "Authors"
        },
        "creation_date": {
          "anyOf": [
            {
              "format": "date",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Date this node was created.",
          "title": "Creation Date"
        },
        "modification_date": {
          "anyOf": [
            {
              "format": "date",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Date this node was last modified.",
          "title": "Modification Date"
        },
        "version": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Version string.",
          "title": "Version"
        },
        "references": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/ExternalReference"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "References to external files or documents.",
          "title": "References"
        }
      },
      "title": "SourceInfo",
      "type": "object"
    },
    "VerificationMethod": {
      "description": "Verification methods per ISO/IEC/IEEE 15288:2023.",
      "enum": [
        "test",
        "analysis",
        "inspection",
        "demonstration"
      ],
      "title": "VerificationMethod",
      "type": "string"
    }
  },
  "description": "Container for a list of requirements.",
  "properties": {
    "requirements": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/Requirement"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Requirements"
    }
  },
  "title": "Requirements",
  "type": "object"
}

Fields:

SourceInfo pydantic-model ¤

Bases: BaseModel

Source and authorship metadata for an ADH node.

Show JSON schema:
{
  "$defs": {
    "Author": {
      "description": "Author or contributor to an ADH node.",
      "properties": {
        "name": {
          "description": "Full name of the author.",
          "title": "Name",
          "type": "string"
        },
        "organisation": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Organisation or affiliation.",
          "title": "Organisation"
        },
        "email": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Email address.",
          "title": "Email"
        }
      },
      "required": [
        "name"
      ],
      "title": "Author",
      "type": "object"
    },
    "ExternalReference": {
      "description": "Reference to an external file or document.",
      "properties": {
        "title": {
          "description": "Title or name of the referenced resource.",
          "title": "Title",
          "type": "string"
        },
        "path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "File path or URI to the external resource.",
          "title": "Path"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Description of the reference and its relevance.",
          "title": "Description"
        },
        "classification": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Type classification of the reference (e.g. 'STEP file', 'CFD mesh', 'test report').",
          "title": "Classification"
        }
      },
      "required": [
        "title"
      ],
      "title": "ExternalReference",
      "type": "object"
    }
  },
  "description": "Source and authorship metadata for an ADH node.",
  "properties": {
    "authors": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/Author"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Authors or contributors.",
      "title": "Authors"
    },
    "creation_date": {
      "anyOf": [
        {
          "format": "date",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Date this node was created.",
      "title": "Creation Date"
    },
    "modification_date": {
      "anyOf": [
        {
          "format": "date",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Date this node was last modified.",
      "title": "Modification Date"
    },
    "version": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Version string.",
      "title": "Version"
    },
    "references": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/ExternalReference"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "References to external files or documents.",
      "title": "References"
    }
  },
  "title": "SourceInfo",
  "type": "object"
}

Fields:

authors pydantic-field ¤

authors: Optional[list[Author]] = None

Authors or contributors.

creation_date pydantic-field ¤

creation_date: Optional[date] = None

Date this node was created.

modification_date pydantic-field ¤

modification_date: Optional[date] = None

Date this node was last modified.

references pydantic-field ¤

references: Optional[list[ExternalReference]] = None

References to external files or documents.

version pydantic-field ¤

version: Optional[str] = None

Version string.

VerificationMethod ¤

Bases: str, Enum

Verification methods per ISO/IEC/IEEE 15288:2023.

Attributes:

  • analysis

    Verification by mathematical or logical examination of models or data.

  • demonstration

    Verification by operating the system and observing its behaviour.

  • inspection

    Verification by visual or physical examination of the system.

  • test

    Verification by executing the system under controlled conditions.

analysis class-attribute instance-attribute ¤

analysis = 'analysis'

Verification by mathematical or logical examination of models or data.

demonstration class-attribute instance-attribute ¤

demonstration = 'demonstration'

Verification by operating the system and observing its behaviour.

inspection class-attribute instance-attribute ¤

inspection = 'inspection'

Verification by visual or physical examination of the system.

test class-attribute instance-attribute ¤

test = 'test'

Verification by executing the system under controlled conditions.