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: