# omidakbarzadeh1991/from-data-to-control architecture

> Architecture diagram of the GitHub repository omidakbarzadeh1991/from-data-to-control, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-11). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/omidakbarzadeh1991/from-data-to-control
- Repository: https://github.com/omidakbarzadeh1991/from-data-to-control

## Overview

This MATLAB companion repository reproduces a data-driven control-synthesis workflow and its paper experiments. The documented network scripts collect a noisy input–state trajectory, synthesize a control storage certificate and local controller, verify a network compositionality condition, then compute initial and unsafe level sets. Separate scripts simulate the Lorenz and spacecraft networks, compare dissipativity with small-gain compositionality, and reproduce a complexity figure. The README documents these relationships; no source excerpts were available to verify finer implementation details.

Main entry points: [`Spacecraft_Fully_Network.m`](https://github.com/omidakbarzadeh1991/from-data-to-control/blob/main/Spacecraft_Fully_Network.m) (Spacecraft synthesis), [`Lorenz_Fully_Network.m`](https://github.com/omidakbarzadeh1991/from-data-to-control/blob/main/Lorenz_Fully_Network.m) (Lorenz synthesis), [`Signed_Lorenz_Comparison.m`](https://github.com/omidakbarzadeh1991/from-data-to-control/blob/main/Signed_Lorenz_Comparison.m) (Signed Lorenz comparison), [`Spacecraft_Fully_Simulation.m`](https://github.com/omidakbarzadeh1991/from-data-to-control/blob/main/Spacecraft_Fully_Simulation.m) (Spacecraft simulation)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_synthesis["Control synthesis"]
  node_spacecraft_synthesis["Spacecraft synthesis"]
  node_lorenz_synthesis["Lorenz synthesis"]
  node_trajectory["Noisy trajectory"]
  node_certificate["Certificate and controller"]
  node_verification["Network verification"]
  node_levelsets["Level sets"]
end

subgraph group_experiments["Network experiments"]
  node_spacecraft_sim["Spacecraft simulation"]
  node_lorenz_sim["Lorenz simulation"]
end

subgraph group_analysis["Comparisons"]
  node_complexity["Complexity figure"]
  node_signed_compare["Signed Lorenz comparison"]
  node_signed_certificates["Two certificates"]
  node_signed_conditions["Condition comparison"]
end

node_user(("MATLAB user"))
node_sostools["SOSTOOLS"]
node_mosek["MOSEK"]

node_user -->|"runs"| node_spacecraft_synthesis
node_user -->|"runs"| node_lorenz_synthesis
node_user -->|"runs"| node_spacecraft_sim
node_user -->|"runs"| node_lorenz_sim
node_user -->|"runs"| node_complexity
node_user -->|"runs"| node_signed_compare
node_spacecraft_synthesis -->|"collects"| node_trajectory
node_spacecraft_synthesis -->|"synthesizes"| node_certificate
node_spacecraft_synthesis -->|"verifies"| node_verification
node_spacecraft_synthesis -->|"computes"| node_levelsets
node_lorenz_synthesis -->|"collects"| node_trajectory
node_lorenz_synthesis -->|"synthesizes"| node_certificate
node_lorenz_synthesis -->|"verifies"| node_verification
node_lorenz_synthesis -->|"computes"| node_levelsets
node_spacecraft_synthesis -->|"requires"| node_sostools
node_spacecraft_synthesis -->|"requires"| node_mosek
node_lorenz_synthesis -->|"requires"| node_sostools
node_lorenz_synthesis -->|"requires"| node_mosek
node_signed_compare -->|"synthesizes"| node_signed_certificates
node_signed_compare -->|"evaluates"| node_signed_conditions
node_signed_compare -->|"requires"| node_sostools
node_signed_compare -->|"requires"| node_mosek

click node_spacecraft_synthesis "https://github.com/omidakbarzadeh1991/from-data-to-control/blob/main/Spacecraft_Fully_Network.m"
click node_lorenz_synthesis "https://github.com/omidakbarzadeh1991/from-data-to-control/blob/main/Lorenz_Fully_Network.m"
click node_trajectory "https://github.com/omidakbarzadeh1991/from-data-to-control/blob/main/Spacecraft_Fully_Network.m"
click node_certificate "https://github.com/omidakbarzadeh1991/from-data-to-control/blob/main/Spacecraft_Fully_Network.m"
click node_verification "https://github.com/omidakbarzadeh1991/from-data-to-control/blob/main/Spacecraft_Fully_Network.m"
click node_levelsets "https://github.com/omidakbarzadeh1991/from-data-to-control/blob/main/Spacecraft_Fully_Network.m"
click node_spacecraft_sim "https://github.com/omidakbarzadeh1991/from-data-to-control/blob/main/Spacecraft_Fully_Simulation.m"
click node_lorenz_sim "https://github.com/omidakbarzadeh1991/from-data-to-control/blob/main/Lorenz_Fully_Simulation.m"
click node_complexity "https://github.com/omidakbarzadeh1991/from-data-to-control/blob/main/Complexity_Comparison.m"
click node_signed_compare "https://github.com/omidakbarzadeh1991/from-data-to-control/blob/main/Signed_Lorenz_Comparison.m"
click node_signed_certificates "https://github.com/omidakbarzadeh1991/from-data-to-control/blob/main/Signed_Lorenz_Comparison.m"
click node_signed_conditions "https://github.com/omidakbarzadeh1991/from-data-to-control/blob/main/Signed_Lorenz_Comparison.m"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_spacecraft_synthesis,node_lorenz_synthesis,node_trajectory,node_certificate,node_verification,node_levelsets,node_user toneBlue
class node_spacecraft_sim,node_lorenz_sim toneAmber
class node_complexity,node_signed_compare,node_signed_certificates,node_signed_conditions toneMint
class node_sostools,node_mosek toneIndigo
```

## Components

### Control synthesis

- [Spacecraft synthesis](https://github.com/omidakbarzadeh1991/from-data-to-control/blob/main/Spacecraft_Fully_Network.m): `Spacecraft_Fully_Network.m`
- [Lorenz synthesis](https://github.com/omidakbarzadeh1991/from-data-to-control/blob/main/Lorenz_Fully_Network.m): `Lorenz_Fully_Network.m`
- [Noisy trajectory](https://github.com/omidakbarzadeh1991/from-data-to-control/blob/main/Spacecraft_Fully_Network.m): `Spacecraft_Fully_Network.m`
- [Certificate and controller](https://github.com/omidakbarzadeh1991/from-data-to-control/blob/main/Spacecraft_Fully_Network.m): `Spacecraft_Fully_Network.m`
- [Network verification](https://github.com/omidakbarzadeh1991/from-data-to-control/blob/main/Spacecraft_Fully_Network.m): `Spacecraft_Fully_Network.m`
- [Level sets](https://github.com/omidakbarzadeh1991/from-data-to-control/blob/main/Spacecraft_Fully_Network.m): `Spacecraft_Fully_Network.m`

### Network experiments

- [Spacecraft simulation](https://github.com/omidakbarzadeh1991/from-data-to-control/blob/main/Spacecraft_Fully_Simulation.m): `Spacecraft_Fully_Simulation.m`
- [Lorenz simulation](https://github.com/omidakbarzadeh1991/from-data-to-control/blob/main/Lorenz_Fully_Simulation.m): `Lorenz_Fully_Simulation.m`

### Comparisons

- [Complexity figure](https://github.com/omidakbarzadeh1991/from-data-to-control/blob/main/Complexity_Comparison.m): `Complexity_Comparison.m`
- [Signed Lorenz comparison](https://github.com/omidakbarzadeh1991/from-data-to-control/blob/main/Signed_Lorenz_Comparison.m): `Signed_Lorenz_Comparison.m`
- [Two certificates](https://github.com/omidakbarzadeh1991/from-data-to-control/blob/main/Signed_Lorenz_Comparison.m): `Signed_Lorenz_Comparison.m`
- [Condition comparison](https://github.com/omidakbarzadeh1991/from-data-to-control/blob/main/Signed_Lorenz_Comparison.m): `Signed_Lorenz_Comparison.m`

### Other components

- **MATLAB user**
- **SOSTOOLS**
- **MOSEK**

## Connections

- MATLAB user → Spacecraft synthesis: runs (evidence: `README.md`)
- MATLAB user → Lorenz synthesis: runs (evidence: `README.md`)
- MATLAB user → Spacecraft simulation: runs (evidence: `README.md`)
- MATLAB user → Lorenz simulation: runs (evidence: `README.md`)
- MATLAB user → Complexity figure: runs (evidence: `README.md`)
- MATLAB user → Signed Lorenz comparison: runs (evidence: `README.md`)
- Spacecraft synthesis → Noisy trajectory: collects (evidence: `README.md`)
- Spacecraft synthesis → Certificate and controller: synthesizes (evidence: `README.md`)
- Spacecraft synthesis → Network verification: verifies (evidence: `README.md`)
- Spacecraft synthesis → Level sets: computes (evidence: `README.md`)
- Lorenz synthesis → Noisy trajectory: collects (evidence: `README.md`)
- Lorenz synthesis → Certificate and controller: synthesizes (evidence: `README.md`)
- Lorenz synthesis → Network verification: verifies (evidence: `README.md`)
- Lorenz synthesis → Level sets: computes (evidence: `README.md`)
- Spacecraft synthesis → SOSTOOLS: requires (evidence: `README.md`)
- Spacecraft synthesis → MOSEK: requires (evidence: `README.md`)
- Lorenz synthesis → SOSTOOLS: requires (evidence: `README.md`)
- Lorenz synthesis → MOSEK: requires (evidence: `README.md`)
- Signed Lorenz comparison → Two certificates: synthesizes (evidence: `README.md`)
- Signed Lorenz comparison → Condition comparison: evaluates (evidence: `README.md`)
- Signed Lorenz comparison → SOSTOOLS: requires (evidence: `README.md`)
- Signed Lorenz comparison → MOSEK: requires (evidence: `README.md`)
