systems
adh.wbs.systems
¤
Modules:
-
systems–WBS System model.
-
systems_parameters–Vehicle Systems module for aircraft system modeling.
Classes:
-
CoolingRequirements–Cooling requirements for the system.
-
DataSignal–Represents a data signal in the system.
-
FluidFlowCharacteristics–Represents the flow characteristics of a working fluid in the system.
-
FunctionalBlock–Represents a functional block in the system diagram.
-
PhysicalCharacteristics–Physical characteristics of the system.
-
PowerRequirements–Power requirements for the system.
-
SignalDirection–Enumeration of signal directions.
-
SignalType–Enumeration of signal types.
-
System–Represents a system within aircraft systems, detailing its specifications, functionalities, and interrelations.
-
SystemAttributes–Attributes specific to an aircraft system.
CoolingRequirements
pydantic-model
¤
Bases: BaseModel
Cooling requirements for the system.
Attributes:
-
method(str) –Cooling method (e.g., "Air", "Liquid", "Conduction").
-
heat_dissipation(float) –Heat dissipation in watts.
-
max_operating_temperature(float) –Maximum operating temperature in Celsius.
Show JSON schema:
{
"description": "Cooling requirements for the system.\n\nAttributes:\n method (str): Cooling method (e.g., \"Air\", \"Liquid\", \"Conduction\").\n heat_dissipation (float): Heat dissipation in watts.\n max_operating_temperature (float): Maximum operating temperature in Celsius.",
"properties": {
"method": {
"maxLength": 50,
"minLength": 1,
"title": "Method",
"type": "string"
},
"heat_dissipation": {
"minimum": 0,
"title": "Heat Dissipation",
"type": "number"
},
"max_operating_temperature": {
"title": "Max Operating Temperature",
"type": "number"
}
},
"required": [
"method",
"heat_dissipation",
"max_operating_temperature"
],
"title": "CoolingRequirements",
"type": "object"
}
Fields:
DataSignal
pydantic-model
¤
Bases: BaseModel
Represents a data signal in the system.
Attributes:
-
name(str) –Name of the signal.
-
type(SignalType) –Type of the signal.
-
direction(SignalDirection) –Direction of the signal.
-
source(str) –Source of the signal (system or component ID).
-
destination(str) –Destination of the signal (system or component ID).
-
description(str) –Brief description of the signal.
Show JSON schema:
{
"$defs": {
"SignalDirection": {
"description": "Enumeration of signal directions.",
"enum": [
"Input",
"Output",
"Bidirectional"
],
"title": "SignalDirection",
"type": "string"
},
"SignalType": {
"description": "Enumeration of signal types.",
"enum": [
"Analog",
"Digital",
"Discrete",
"Serial"
],
"title": "SignalType",
"type": "string"
}
},
"description": "Represents a data signal in the system.\n\nAttributes:\n name (str): Name of the signal.\n type (SignalType): Type of the signal.\n direction (SignalDirection): Direction of the signal.\n source (str): Source of the signal (system or component ID).\n destination (str): Destination of the signal (system or component ID).\n description (str): Brief description of the signal.",
"properties": {
"name": {
"maxLength": 100,
"minLength": 1,
"title": "Name",
"type": "string"
},
"type": {
"$ref": "#/$defs/SignalType"
},
"direction": {
"$ref": "#/$defs/SignalDirection"
},
"source": {
"maxLength": 50,
"minLength": 1,
"title": "Source",
"type": "string"
},
"destination": {
"maxLength": 50,
"minLength": 1,
"title": "Destination",
"type": "string"
},
"description": {
"maxLength": 500,
"minLength": 1,
"title": "Description",
"type": "string"
}
},
"required": [
"name",
"type",
"direction",
"source",
"destination",
"description"
],
"title": "DataSignal",
"type": "object"
}
Fields:
-
name(str) -
type(SignalType) -
direction(SignalDirection) -
source(str) -
destination(str) -
description(str)
FluidFlowCharacteristics
pydantic-model
¤
Bases: BaseModel
Represents the flow characteristics of a working fluid in the system.
Attributes:
-
fluid_type(str) –Type of fluid (e.g., "Hydraulic Oil", "Fuel", "Coolant").
-
flow_rate(float) –Nominal flow rate in liters per minute.
-
max_pressure(float) –Maximum operating pressure in pascals.
-
min_pressure(float) –Minimum operating pressure in pascals.
-
temperature_range(Tuple[float, float]) –Operating temperature range in Celsius (min, max).
-
viscosity(float) –Kinematic viscosity in centistokes at operating temperature.
-
density(float) –Fluid density in kg/m³ at operating temperature.
Show JSON schema:
{
"description": "Represents the flow characteristics of a working fluid in the system.\n\nAttributes:\n fluid_type (str): Type of fluid (e.g., \"Hydraulic Oil\", \"Fuel\", \"Coolant\").\n flow_rate (float): Nominal flow rate in liters per minute.\n max_pressure (float): Maximum operating pressure in pascals.\n min_pressure (float): Minimum operating pressure in pascals.\n temperature_range (Tuple[float, float]): Operating temperature range in Celsius (min, max).\n viscosity (float): Kinematic viscosity in centistokes at operating temperature.\n density (float): Fluid density in kg/m\u00b3 at operating temperature.",
"properties": {
"fluid_type": {
"maxLength": 50,
"minLength": 1,
"title": "Fluid Type",
"type": "string"
},
"flow_rate": {
"exclusiveMinimum": 0,
"title": "Flow Rate",
"type": "number"
},
"max_pressure": {
"exclusiveMinimum": 0,
"title": "Max Pressure",
"type": "number"
},
"min_pressure": {
"minimum": 0,
"title": "Min Pressure",
"type": "number"
},
"temperature_range": {
"maxItems": 2,
"minItems": 2,
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"title": "Temperature Range",
"type": "array"
},
"viscosity": {
"exclusiveMinimum": 0,
"title": "Viscosity",
"type": "number"
},
"density": {
"exclusiveMinimum": 0,
"title": "Density",
"type": "number"
}
},
"required": [
"fluid_type",
"flow_rate",
"max_pressure",
"min_pressure",
"temperature_range",
"viscosity",
"density"
],
"title": "FluidFlowCharacteristics",
"type": "object"
}
Fields:
-
fluid_type(str) -
flow_rate(float) -
max_pressure(float) -
min_pressure(float) -
temperature_range(tuple[float, float]) -
viscosity(float) -
density(float)
Validators:
-
validate_temperature_range→temperature_range
validate_temperature_range
pydantic-validator
¤
Validate that the minimum temperature is less than the maximum temperature.
Source code in src/adh/wbs/systems/systems_parameters.py
128 129 130 131 132 133 134 135 136 | |
FunctionalBlock
pydantic-model
¤
Bases: BaseModel
Represents a functional block in the system diagram.
Attributes:
-
block_id(str) –Unique identifier for the block.
-
name(str) –Name of the functional block.
-
description(str) –Brief description of the block's function.
-
inputs(List[str]) –List of input signal names.
-
outputs(List[str]) –List of output signal names.
Show JSON schema:
{
"description": "Represents a functional block in the system diagram.\n\nAttributes:\n block_id (str): Unique identifier for the block.\n name (str): Name of the functional block.\n description (str): Brief description of the block's function.\n inputs (List[str]): List of input signal names.\n outputs (List[str]): List of output signal names.",
"properties": {
"block_id": {
"maxLength": 50,
"minLength": 1,
"title": "Block Id",
"type": "string"
},
"name": {
"maxLength": 100,
"minLength": 1,
"title": "Name",
"type": "string"
},
"description": {
"maxLength": 500,
"minLength": 1,
"title": "Description",
"type": "string"
},
"inputs": {
"items": {
"type": "string"
},
"title": "Inputs",
"type": "array"
},
"outputs": {
"items": {
"type": "string"
},
"title": "Outputs",
"type": "array"
}
},
"required": [
"block_id",
"name",
"description"
],
"title": "FunctionalBlock",
"type": "object"
}
Fields:
PhysicalCharacteristics
pydantic-model
¤
Bases: BaseModel
Physical characteristics of the system.
Attributes:
-
weight(float) –Weight in kilograms.
-
dimensions(Dict[str, float]) –Dimensions in meters (length, width, height).
-
volume(float) –Volume in cubic meters.
-
center_of_gravity(Dict[str, float]) –Center of gravity coordinates (x, y, z) in meters.
Show JSON schema:
{
"description": "Physical characteristics of the system.\n\nAttributes:\n weight (float): Weight in kilograms.\n dimensions (Dict[str, float]): Dimensions in meters (length, width, height).\n volume (float): Volume in cubic meters.\n center_of_gravity (Dict[str, float]): Center of gravity coordinates (x, y, z) in meters.",
"properties": {
"weight": {
"exclusiveMinimum": 0,
"title": "Weight",
"type": "number"
},
"dimensions": {
"additionalProperties": {
"type": "number"
},
"maxProperties": 3,
"minProperties": 3,
"title": "Dimensions",
"type": "object"
},
"volume": {
"exclusiveMinimum": 0,
"title": "Volume",
"type": "number"
},
"center_of_gravity": {
"additionalProperties": {
"type": "number"
},
"maxProperties": 3,
"minProperties": 3,
"title": "Center Of Gravity",
"type": "object"
}
},
"required": [
"weight",
"dimensions",
"volume",
"center_of_gravity"
],
"title": "PhysicalCharacteristics",
"type": "object"
}
Fields:
Validators:
-
validate_dimensions→dimensions -
validate_cog→center_of_gravity
validate_cog
pydantic-validator
¤
Validate that center of gravity includes x, y, and z coordinates.
Source code in src/adh/wbs/systems/systems_parameters.py
95 96 97 98 99 100 101 102 103 | |
validate_dimensions
pydantic-validator
¤
Validate that dimensions include length, width, and height.
Source code in src/adh/wbs/systems/systems_parameters.py
87 88 89 90 91 92 93 | |
PowerRequirements
pydantic-model
¤
Bases: BaseModel
Power requirements for the system.
Attributes:
-
voltage(float) –Required voltage in volts.
-
current(float) –Required current in amperes.
-
frequency(Optional[float]) –Required frequency in Hz, if applicable.
-
power_type(str) –Type of power (e.g., "AC", "DC").
-
peak_power(float) –Peak power consumption in watts.
-
average_power(float) –Average power consumption in watts.
Show JSON schema:
{
"description": "Power requirements for the system.\n\nAttributes:\n voltage (float): Required voltage in volts.\n current (float): Required current in amperes.\n frequency (Optional[float]): Required frequency in Hz, if applicable.\n power_type (str): Type of power (e.g., \"AC\", \"DC\").\n peak_power (float): Peak power consumption in watts.\n average_power (float): Average power consumption in watts.",
"properties": {
"voltage": {
"exclusiveMinimum": 0,
"title": "Voltage",
"type": "number"
},
"current": {
"exclusiveMinimum": 0,
"title": "Current",
"type": "number"
},
"frequency": {
"anyOf": [
{
"exclusiveMinimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Frequency"
},
"power_type": {
"maxLength": 20,
"minLength": 1,
"title": "Power Type",
"type": "string"
},
"peak_power": {
"exclusiveMinimum": 0,
"title": "Peak Power",
"type": "number"
},
"average_power": {
"exclusiveMinimum": 0,
"title": "Average Power",
"type": "number"
}
},
"required": [
"voltage",
"current",
"power_type",
"peak_power",
"average_power"
],
"title": "PowerRequirements",
"type": "object"
}
Fields:
-
voltage(float) -
current(float) -
frequency(Optional[float]) -
power_type(str) -
peak_power(float) -
average_power(float)
System
pydantic-model
¤
Bases: MSoSAMixin, Architecture
Represents a system within aircraft systems, detailing its specifications, functionalities, and interrelations.
Attributes:
-
name(Optional[str]) –The name of the system, acting as a unique identifier.
-
description(Optional[str]) –A brief description of the system's purpose and functionality.
-
parameters(Optional[dict[str, Any]]) –Operational or physical parameters associated with the system.
-
diagram(Optional[dict[str, Any]]) –Flow diagram of the system.
-
subsystems(Optional[list[System]]) –A list of sub-systems, if any, within this system.
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"
},
"System": {
"additionalProperties": true,
"description": "Represents a system within aircraft systems, detailing its specifications, functionalities, and interrelations.\n\nAttributes:\n name (Optional[str]): The name of the system, acting as a unique identifier.\n description (Optional[str]): A brief description of the system's purpose and functionality.\n parameters (Optional[dict[str, Any]]): Operational or physical parameters associated with the system.\n diagram (Optional[dict[str, Any]]): Flow diagram of the system.\n subsystems (Optional[list[System]]): A list of sub-systems, if any, within this system.",
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The name of the system.",
"title": "Name"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "A brief description of the system.",
"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"
},
"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."
},
"parameters": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Parameters of the system.",
"title": "Parameters"
},
"diagram": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Flow diagram of the system.",
"title": "Diagram"
},
"subsystems": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/System"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Sub-systems within this system.",
"title": "Subsystems"
}
},
"title": "System",
"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"
}
},
"$ref": "#/$defs/System"
}
Fields:
-
source_info(Optional[SourceInfo]) -
uuid(Optional[UUID4]) -
wbs_no(str) -
requirements(Optional[Requirements]) -
performance(Optional[Performances]) -
behavior(Optional[Behaviors]) -
name(Optional[str]) -
description(Optional[str]) -
parameters(Optional[dict[str, Any]]) -
diagram(Optional[dict[str, Any]]) -
subsystems(Optional[list[System]])
Validators:
-
validate_wbs_no→wbs_no
behavior
pydantic-field
¤
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.
source_info
pydantic-field
¤
source_info: Optional[SourceInfo] = None
Source and authorship metadata.
subsystems
pydantic-field
¤
Sub-systems within this system.
SystemAttributes
pydantic-model
¤
Bases: BaseModel
Attributes specific to an aircraft system.
Attributes:
-
functional_blocks(List[FunctionalBlock]) –List of functional blocks in the system.
-
data_signals(List[DataSignal]) –List of data signals in the system.
-
physical_characteristics(PhysicalCharacteristics) –Physical characteristics of the system.
-
cooling_requirements(CoolingRequirements) –Cooling requirements for the system.
-
power_requirements(PowerRequirements) –Power requirements for the system.
-
fluid_flow(Optional[FluidFlowCharacteristics]) –Fluid flow characteristics, if applicable.
Show JSON schema:
{
"$defs": {
"CoolingRequirements": {
"description": "Cooling requirements for the system.\n\nAttributes:\n method (str): Cooling method (e.g., \"Air\", \"Liquid\", \"Conduction\").\n heat_dissipation (float): Heat dissipation in watts.\n max_operating_temperature (float): Maximum operating temperature in Celsius.",
"properties": {
"method": {
"maxLength": 50,
"minLength": 1,
"title": "Method",
"type": "string"
},
"heat_dissipation": {
"minimum": 0,
"title": "Heat Dissipation",
"type": "number"
},
"max_operating_temperature": {
"title": "Max Operating Temperature",
"type": "number"
}
},
"required": [
"method",
"heat_dissipation",
"max_operating_temperature"
],
"title": "CoolingRequirements",
"type": "object"
},
"DataSignal": {
"description": "Represents a data signal in the system.\n\nAttributes:\n name (str): Name of the signal.\n type (SignalType): Type of the signal.\n direction (SignalDirection): Direction of the signal.\n source (str): Source of the signal (system or component ID).\n destination (str): Destination of the signal (system or component ID).\n description (str): Brief description of the signal.",
"properties": {
"name": {
"maxLength": 100,
"minLength": 1,
"title": "Name",
"type": "string"
},
"type": {
"$ref": "#/$defs/SignalType"
},
"direction": {
"$ref": "#/$defs/SignalDirection"
},
"source": {
"maxLength": 50,
"minLength": 1,
"title": "Source",
"type": "string"
},
"destination": {
"maxLength": 50,
"minLength": 1,
"title": "Destination",
"type": "string"
},
"description": {
"maxLength": 500,
"minLength": 1,
"title": "Description",
"type": "string"
}
},
"required": [
"name",
"type",
"direction",
"source",
"destination",
"description"
],
"title": "DataSignal",
"type": "object"
},
"FluidFlowCharacteristics": {
"description": "Represents the flow characteristics of a working fluid in the system.\n\nAttributes:\n fluid_type (str): Type of fluid (e.g., \"Hydraulic Oil\", \"Fuel\", \"Coolant\").\n flow_rate (float): Nominal flow rate in liters per minute.\n max_pressure (float): Maximum operating pressure in pascals.\n min_pressure (float): Minimum operating pressure in pascals.\n temperature_range (Tuple[float, float]): Operating temperature range in Celsius (min, max).\n viscosity (float): Kinematic viscosity in centistokes at operating temperature.\n density (float): Fluid density in kg/m\u00b3 at operating temperature.",
"properties": {
"fluid_type": {
"maxLength": 50,
"minLength": 1,
"title": "Fluid Type",
"type": "string"
},
"flow_rate": {
"exclusiveMinimum": 0,
"title": "Flow Rate",
"type": "number"
},
"max_pressure": {
"exclusiveMinimum": 0,
"title": "Max Pressure",
"type": "number"
},
"min_pressure": {
"minimum": 0,
"title": "Min Pressure",
"type": "number"
},
"temperature_range": {
"maxItems": 2,
"minItems": 2,
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"title": "Temperature Range",
"type": "array"
},
"viscosity": {
"exclusiveMinimum": 0,
"title": "Viscosity",
"type": "number"
},
"density": {
"exclusiveMinimum": 0,
"title": "Density",
"type": "number"
}
},
"required": [
"fluid_type",
"flow_rate",
"max_pressure",
"min_pressure",
"temperature_range",
"viscosity",
"density"
],
"title": "FluidFlowCharacteristics",
"type": "object"
},
"FunctionalBlock": {
"description": "Represents a functional block in the system diagram.\n\nAttributes:\n block_id (str): Unique identifier for the block.\n name (str): Name of the functional block.\n description (str): Brief description of the block's function.\n inputs (List[str]): List of input signal names.\n outputs (List[str]): List of output signal names.",
"properties": {
"block_id": {
"maxLength": 50,
"minLength": 1,
"title": "Block Id",
"type": "string"
},
"name": {
"maxLength": 100,
"minLength": 1,
"title": "Name",
"type": "string"
},
"description": {
"maxLength": 500,
"minLength": 1,
"title": "Description",
"type": "string"
},
"inputs": {
"items": {
"type": "string"
},
"title": "Inputs",
"type": "array"
},
"outputs": {
"items": {
"type": "string"
},
"title": "Outputs",
"type": "array"
}
},
"required": [
"block_id",
"name",
"description"
],
"title": "FunctionalBlock",
"type": "object"
},
"PhysicalCharacteristics": {
"description": "Physical characteristics of the system.\n\nAttributes:\n weight (float): Weight in kilograms.\n dimensions (Dict[str, float]): Dimensions in meters (length, width, height).\n volume (float): Volume in cubic meters.\n center_of_gravity (Dict[str, float]): Center of gravity coordinates (x, y, z) in meters.",
"properties": {
"weight": {
"exclusiveMinimum": 0,
"title": "Weight",
"type": "number"
},
"dimensions": {
"additionalProperties": {
"type": "number"
},
"maxProperties": 3,
"minProperties": 3,
"title": "Dimensions",
"type": "object"
},
"volume": {
"exclusiveMinimum": 0,
"title": "Volume",
"type": "number"
},
"center_of_gravity": {
"additionalProperties": {
"type": "number"
},
"maxProperties": 3,
"minProperties": 3,
"title": "Center Of Gravity",
"type": "object"
}
},
"required": [
"weight",
"dimensions",
"volume",
"center_of_gravity"
],
"title": "PhysicalCharacteristics",
"type": "object"
},
"PowerRequirements": {
"description": "Power requirements for the system.\n\nAttributes:\n voltage (float): Required voltage in volts.\n current (float): Required current in amperes.\n frequency (Optional[float]): Required frequency in Hz, if applicable.\n power_type (str): Type of power (e.g., \"AC\", \"DC\").\n peak_power (float): Peak power consumption in watts.\n average_power (float): Average power consumption in watts.",
"properties": {
"voltage": {
"exclusiveMinimum": 0,
"title": "Voltage",
"type": "number"
},
"current": {
"exclusiveMinimum": 0,
"title": "Current",
"type": "number"
},
"frequency": {
"anyOf": [
{
"exclusiveMinimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Frequency"
},
"power_type": {
"maxLength": 20,
"minLength": 1,
"title": "Power Type",
"type": "string"
},
"peak_power": {
"exclusiveMinimum": 0,
"title": "Peak Power",
"type": "number"
},
"average_power": {
"exclusiveMinimum": 0,
"title": "Average Power",
"type": "number"
}
},
"required": [
"voltage",
"current",
"power_type",
"peak_power",
"average_power"
],
"title": "PowerRequirements",
"type": "object"
},
"SignalDirection": {
"description": "Enumeration of signal directions.",
"enum": [
"Input",
"Output",
"Bidirectional"
],
"title": "SignalDirection",
"type": "string"
},
"SignalType": {
"description": "Enumeration of signal types.",
"enum": [
"Analog",
"Digital",
"Discrete",
"Serial"
],
"title": "SignalType",
"type": "string"
}
},
"description": "Attributes specific to an aircraft system.\n\nAttributes:\n functional_blocks (List[FunctionalBlock]): List of functional blocks in the system.\n data_signals (List[DataSignal]): List of data signals in the system.\n physical_characteristics (PhysicalCharacteristics): Physical characteristics of the system.\n cooling_requirements (CoolingRequirements): Cooling requirements for the system.\n power_requirements (PowerRequirements): Power requirements for the system.\n fluid_flow (Optional[FluidFlowCharacteristics]): Fluid flow characteristics, if applicable.",
"properties": {
"functional_blocks": {
"items": {
"$ref": "#/$defs/FunctionalBlock"
},
"title": "Functional Blocks",
"type": "array"
},
"data_signals": {
"items": {
"$ref": "#/$defs/DataSignal"
},
"title": "Data Signals",
"type": "array"
},
"physical_characteristics": {
"$ref": "#/$defs/PhysicalCharacteristics"
},
"cooling_requirements": {
"$ref": "#/$defs/CoolingRequirements"
},
"power_requirements": {
"$ref": "#/$defs/PowerRequirements"
},
"fluid_flow": {
"anyOf": [
{
"$ref": "#/$defs/FluidFlowCharacteristics"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"functional_blocks",
"data_signals",
"physical_characteristics",
"cooling_requirements",
"power_requirements"
],
"title": "SystemAttributes",
"type": "object"
}
Fields:
-
functional_blocks(list[FunctionalBlock]) -
data_signals(list[DataSignal]) -
physical_characteristics(PhysicalCharacteristics) -
cooling_requirements(CoolingRequirements) -
power_requirements(PowerRequirements) -
fluid_flow(Optional[FluidFlowCharacteristics])