Un modo per esprimere LTL (variante) per far rispettare un flusso di dati per soddisfare una logica del tempo lineare

cs.stackexchange https://cs.stackexchange.com/questions/127724

Domanda

logica di tempo lineare (LTL) viene utilizzato per verifica del sistema . Nel mio caso, sto investendo un po 'di tempo, per vedere la fattibilità dell'uso di LTL questa volta per far rispettare un vincolo su un flusso di dati. Abbastanza di Generalità, prendiamo un semplice esempio:

L'operatore fino a nell'espressione u Until v in mezzi LTL, evento u fino a v, è una formula generale che un numero infinito delle tracce del segnale potrebbe soddisfare. Vedi la definizione qui: Page4

Come:

u,u,u,v,v,v,...
u,u,u,u,u,u,...
u,v,v,v,v,v,...
.

Nel mio caso, voglio far rispettare un LTL come formule a un sistema che riceve un flusso di dati; Di nuovo prendiamo lo stesso operatore fino a quando.

Diciamo che abbiamo due segnali di ingresso, uno per costante u, e uno per costante v.

u,u,u,u,u,u,...
 , , , ,v,v,...
.

Il processore del flusso che prende questi ingressi, se è un nodo "Fino a *", verrà emesso:

u,u,u,u,v,v,...
.

La ragione per cui mi differenzio fino a Con un asterisco è l'intero punto della domanda, "U fino a quando * V" è solo vero quando V viene preso come output non appena appare nel secondo flusso , è una traccia singola soddisfacente "U fino a * V" dato i nostri segnali di input. Come esprimere questo vincolo ?! LTL sembra molto generale per questo "meccanismo di applicazione del vincolo".

Nota: per favore porta con me, non sono uno scienziato informatico, né un matematico, sono un programmatore medio che cerca di imparare cose nuove.

È stato utile?

Soluzione

Questa è una domanda interessante.

Non è direttamente una domanda di LTL (Linear Temporal Logic) - piuttosto una domanda sul fatto che vi sia un algoritmo o uno strumento che prende un flusso di input e modificalo un modo un po 'minima per soddisfare una determinata proprietà LTL. Se quello che desideri può essere fatto o è stato fatto dipende da quali sono esattamente le modifiche consentite al flusso. Nel tuo esempio, sei, in un certo senso, remixare due flussi. Si noti che LTL è definito su alfabeti in cui ogni personaggio può avere più proposizioni che sono vere in quel momento. Quindi, nel tuo esempio, potresti aver appena mescolato il flusso U e V insieme per ottenere:

u,u,u,u,{u,v},{u,v},....
.

Questo avrebbe soddisfatto anche la formula LTL. Se il modo in cui si remix è che la proposta nel flusso di uscita è sempre un sottoinsieme delle proposizioni impostate nel flusso di ingresso, è possibile utilizzare sintesi reattiva per ottenere un trasduttore che fa la miscelazione del flusso /fissaggio. Tuttavia, questo funzionerà solo se per ogni flusso di uscita lì in realtà è un modo per eseguire il mix.

Se vi è una nozione quantitativa di miscelazione / fissaggio, la sintesi quantitativa può essere un'area di ricerca che potrebbe avere alcuni risultati. Ma avresti bisogno di una descrizione del criterio di ottimizzazione della modifica del flusso preciso per vedere se uno dei risultati di tale area è applicabile.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a cs.stackexchange
scroll top