KOSMOS Documentation¶
KOSMOS — Koordinations-, Optimierungs- und Simulations-Software für Modulare Quanten-Systeme in 6G Netzwerken
(German for Coordination, Optimization and Simulation Software for Modular Quantum Systems in 6G Networks)
Overview¶
KOSMOS is a Python framework for simulating both classical and quantum networks. It provides:
Topology modeling — Define networks with nodes and links (classical and quantum)
Network routing — Implement and test routing algorithms
Machine learning — Conduct centralized and federated learning experiments
Distributed Quantum Computing — Simulate quantum circuit distribution and execution
Quantum circuit partitioning — Partition quantum circuits using different strategies
Real quantum hardware integration — Run experiments on real quantum devices
High-level overview of the core components of the KOSMOS framework:
flowchart LR
QuantumRegisterManager["<b>QuantumRegisterManager</b><br/><i>Manages quantum logic in the network</i>"]
Partitioning["<b>Partitioning</b><br/><i>Partition quantum circuits</i>"]
Topology["<b>Topology</b><br/><i>Defines the network</i>"]
subgraph Simulators [ ]
FLSimulator["<b>FLSimulator</b><br/><i>Orchestrator for federated learning</i>"]
subgraph ML[ ]
FLManager["<b>FLManager</b><br/><i>Manage execution of federated learning</i>"]
SLTrainer["<b>SLTrainer</b><br/><i>Supervised learning training loop</i>"]
Model["<b>Model</b><br/><i>NN or VQC</i>"]
end
DQCSimulator["<b>DQCSimulator</b><br/><i>Orchestrator for DQC simulations</i>"]
subgraph DQC[ ]
AssignmentStrategy["<b>AssignmentStrategy</b><br/><i>Assigns qubits to nodes over time</i>"]
GreedyAssignment["<b>GreedyAssignment</b><br/><i>Assigns qubits to nodes one after the other</i>"]
end
Simulator["<b>Simulator</b><br/><i>Orchestrator for high-level use cases</i>"]
end
CircuitRunner["<b>CircuitRunner</b><br/><i>Circuit execution</i>"]
subgraph Protocols[ ]
Protocol["<b>Protocol</b><br/><i>General protocol</i>"]
RoutingProtocol["<b>RoutingProtocol</b><br/><i>Network routing protocol</i>"]
RemoteOperationProtocol["<b>RemoteOperationProtocol</b><br/><i>Remote gate and teleportation protocol</i>"]
EGProtocol["<b>EGProtocol</b><br/><i>Entanglement generation protocol</i>"]
CircuitExecutionProtocol["<b>CircuitExecutionProtocol</b><br/><i>Circuit execution via qiskit</i>"]
end
Model --> CircuitRunner
FLSimulator --> FLManager
FLSimulator --> Simulator
DQCSimulator --> Simulator
Simulator --> Topology
Protocol --> Topology
EGProtocol --> QuantumRegisterManager
EGProtocol --> Protocol
EGProtocol --> RoutingProtocol
RoutingProtocol --> Protocol
CircuitExecutionProtocol --> CircuitRunner
CircuitExecutionProtocol --> Protocol
RemoteOperationProtocol --> QuantumRegisterManager
RemoteOperationProtocol --> Protocol
FLManager --> Model
FLManager --> SLTrainer
AssignmentStrategy --> DQCSimulator
GreedyAssignment --> AssignmentStrategy
Partitioning --> Topology
QuantumRegisterManager --> Topology
Protocol --> DQCSimulator
classDef simStyle fill:#FFEBEE,stroke:#C62828,stroke-width:3px,color:#111;
classDef netStyle fill:#E3F2FD,stroke:#1565C0,stroke-width:3px,color:#111;
classDef quantumStyle fill:#F3E5F5,stroke:#6A1B9A,stroke-width:3px,color:#111;
classDef protoStyle fill:#E8F5E9,stroke:#2E7D32,stroke-width:3px,color:#111;
classDef runnerStyle fill:#FFF3E0,stroke:#EF6C00,stroke-width:3px,color:#111;
classDef partStyle fill:#E8EAF6,stroke:#283593,stroke-width:3px,color:#111;
classDef mlStyle fill:#FFFDE7,stroke:#F9A825,stroke-width:3px,color:#111;
classDef assignStyle fill:#E0F7FA,stroke:#00838F,stroke-width:3px,color:#111;
classDef subgraphStyle fill:none,stroke:none;
class Simulator,FLSimulator,DQCSimulator simStyle
class Topology netStyle
class QuantumRegisterManager quantumStyle
class Protocol,RoutingProtocol,EGProtocol,CircuitExecutionProtocol,RemoteOperationProtocol protoStyle
class CircuitRunner runnerStyle
class Partitioning partStyle
class FLManager,SLTrainer,Model mlStyle
class AssignmentStrategy,GreedyAssignment assignStyle
class Simulators,Protocols,ML,DQC subgraphStyle
Getting Started¶
New to KOSMOS? Start here:
Examples¶
Check the Examples section.
API Reference¶
API documentation for all modules: