Di recente mi sono imbattuto in un post su ycombinator riguardante il paradigma Entity Component System (ECS), spesso abbreviato in ECS. Uno dei primi pensieri che mi sono venuti in mente dopo aver letto il concetto in dettaglio è stato come si potesse mappare un tale paradigma nel mondo dei sistemi di calcolo quantistico e, in caso affermativo, se avesse effettivamente senso.
Come al solito, ho iniziato a chiedere a ChatGPT una visualizzazione del “Sistema Entità-Componente applicato a un sistema di controllo quantistico” (a sinistra) e del suo opposto, “qubit quantistico controllato da un Sistema Entità-Componente” (a destra). È difficile ricavarne un senso compiuto, se non notando che, nel primo caso, l’“essere umano” è il sistema, mentre nel secondo, il qubit sembra essere il sistema.


Tornando all’Entity Component System, il principale vantaggio dell’ECS è che privilegia la composizione rispetto all’ereditarietà, la separazione delle responsabilità e segue un approccio fortemente orientato ai dati. L’architettura ECS separa la logica comportamentale in sistemi per due motivi principali:
In primo luogo, la progettazione centrata sul sistema ottimizza le prestazioni migliorando la località e consentendo l’elaborazione efficiente di più componenti in parallelo.
In secondo luogo, impone il disaccoppiamento tra i componenti, poiché le interazioni avvengono esclusivamente attraverso i sistemi piuttosto che tramite dipendenze dirette tra i componenti.
Quindi, proviamo a immaginare come questo modello di progettazione potrebbe essere applicato a un sistema di calcolo quantistico:
Entità: Il qubit
Componente: La rappresentazione di controllo e lettura del qubit
Sistema: “metodi” che operano sui componenti e ne modificano lo stato.

Ci sono alcuni aspetti da considerare, come ad esempio il funzionamento di questo meccanismo quando si espone un qubit logico anziché un qubit fisico, e il livello di granularità richiesto, data la dimensione del sistema in termini di qubit, in base ai requisiti attuali e futuri.
Nel complesso, questa digressione sul “Sistema di Componenti di Entità Quantistiche” (QECS) rappresenta un approccio semplificato, ma può servire come punto di partenza per un brainstorming informale la domenica mattina e permette di mantenere vivo l’interesse.
Se vuoi saperne di più su ECS, dai un’occhiata all’ottimo articolo di UML board, che mi ha ispirato molto per i contenuti e i disegni.
References:
DrawIO diagrams used in this memo: