È un modello con nome: Iniezione di oggetti specializzati per rilevare condizioni di errore

-1

Ho un'idea, ma mi chiedo se qualcuno lo abbia già nominato.

Sto scrivendo il codice per controllare una macchina con attuatori, motori, ecc. e il software sarà responsabile della prevenzione delle collisioni tra alcune delle sue parti mobili.

È principalmente utile organizzare tutto come una gerarchia, ma le collisioni sono possibili tra diversi sottosistemi. La necessità di evitare le collisioni taglia la gerarchia .

La mia idea è di creare oggetti che chiamerò "riconoscimenti di pericolo" per il presente. Ogni rilevatore di pericolo rileva un pericolo specifico monitorando i sensori della macchina e viene iniettato nei punti in cui sono controllati ciascun motore e attuatore che contribuisce al rischio. Il software che controlla l'attuatore X consulta un elenco di riconoscitori prima di ogni modifica dello stato dell'attuatore.

Non importa come definirò la lista dei riconoscitori o come farò in modo che ognuno venga iniettato in ogni posto dove è necessario. La mia domanda è, qualcuno ha già dato a questo modello un nome?

Oppure qualcuno ha già dato questo problema a un nome? Mi piacerebbe saperne di più su come gli altri l'hanno risolto, ma non sono sicuro di cosa cercare.

    
posta Solomon Slow 23.05.2017 - 19:22
fonte

1 risposta

2

La cosa più vicina che viene in mente (dal software di automazione industriale) è un cane da guardia. Ma i watchdog in genere controllano se il task di controllo primario è ancora attivo o meno. E se no, il cane da guardia spegne l'hardware per prevenire incidenti. Questo è particolarmente significativo in robotica. Se il compito di controllo primario è in ritardo, la posizione del braccio potrebbe essere troppo lontana dalla posizione desiderata e i freni dovrebbero essere messi in posizione per evitare danni.

Ma la tua idea è strana. In primo luogo, quei sensori non stanno andando da nessuna parte, quindi non c'è nulla da seguire per questi riconoscitori di pericolo, rendendo inutile l'iniezione. Dovrebbero solo avere accesso al driver dei sensori. Hai forse parlato di un'iniezione di dipendenza con l'idea che sia una buona cosa?

Che cosa immagini quando dici "iniettare ciascuno in ogni posto dove è necessario"? Se si inietta qualcosa, si suggerisce che il ricevente debba chiamare attivamente metodi sull'oggetto iniettato secondo necessità. Ciò vanificherebbe lo scopo di qualsiasi funzione di sicurezza. È come avere un airbag nella tua auto con un pulsante accanto che legge "premere in caso di incidente".

    
risposta data 23.05.2017 - 20:54
fonte

Leggi altre domande sui tag