Sto utilizzando un componente hardware con un'API C ben definita. L'hardware è di stato, con le chiamate API pertinenti che devono essere nell'ordine corretto affinché l'hardware funzioni correttamente. Le chiamate API stesse ritorneranno sempre, restituendo un flag che avvisa se la chiamata ha avuto successo o, in caso contrario, perché no. L'hardware non verrà lasciato in uno stato non definito. In effetti, l'API chiama in modo indiretto lo stato corrente dell'hardware se lo stato non è corretto per eseguire una determinata operazione. Sembra essere uno stile abbastanza comune dell'API dell'hardware.
La mia domanda è questa: esiste un modello di progettazione ben definito per il wrapping di una macchina di stato hardware in un linguaggio di alto livello, tale da mantenere la coerenza?
Il mio sviluppo è in Python. Preferisco idealmente che la macchina dello stato dell'hardware sia astratta a una macchina a stati molto più semplice e racchiusa in un oggetto che rappresenta l'hardware. Non sono sicuro di cosa dovrebbe accadere se si tenta di creare più oggetti che rappresentano lo stesso pezzo di hardware.
Mi scuso per la leggera vaghezza, non sono molto ben informato in questo settore e quindi sto anche cercando assistenza per la descrizione!