System Architecture =================== .. code-block:: bash PilotPy/python_simulator/ ├── config.py # Configuration and enum definitions ├── result_generator.py # Random result generator ├── task_manager.py # Task lifecycle management ├── zmq_router_server.py # Core ZMQ Router server ├── zmq_pub_server.py # ZMQ Publish server (status updates) ├── main.py # Program entry point ├── protocol_adapters/ # Protocol adapters │ ├── superconducting.py # Superconducting protocol adapter │ ├── ion_trap.py # Ion trap protocol adapter │ ├── neutral_atom.py # Neutral atom protocol adapter │ └── photonic.py # Photonic protocol adapter └── README.md # This file (Documentation) Communication Modes ------------------- The server uses two complementary ZMQ communication modes: Router-Dealer Mode (Request-Reply) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - **Ports**: 7000-7003 - **Purpose**: Processes client requests and sends responses. - **Connection**: The client connects as DEALER, and the server acts as ROUTER. - **Characteristics**: Two-way communication. Publish-Subscribe Mode (Pub-Sub) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - **Ports**: 8000-8003 - **Purpose**: Pushes status updates and notifications to subscribers. - **Connection**: The server acts as PUBLISHER, and the client connects as SUBSCRIBER. - **Characteristics**: One-way push communication, real-time status updates. - **Message Structure**: Three-layer message structure (Topic + Operation + Data).