Domanda

Le proposizioni atomiche nel controllo del modello simbolico formano lo stato nel grafico della transizione di stato (il modello $ mathcal {m} $ nel controllo del modello). L'altra parte del controllo del modello è il specifica, che di solito è una sorta di formula logica temporale sulle proposizioni atomiche nel modello.

La mia domanda riguarda le proposizioni atomiche stesse. Ne ho visti solo alcuni esempi rudimentali, come $ x = 20 $ o $ la stampante è occupato $. Queste proposizioni atomiche (penso) affermano a fatto sullo stato del programma a quel punto del sistema. Quindi si utilizza una formula logica temporale per vedere se il modello è valido sotto di essa. Sono confuso da come sono entrambe le proposizioni atomiche definito e Usato.

Innanzitutto, come sono definiti. Non ho visto da nessuna parte una descrizione su come definisci queste proposizioni atomiche. Questa è la mia prima domanda. Non capisco come indicare $ x> 100 $ in uno stato nel modello $ mathcal {m} $ significhi qualsiasi cosa. Non ho dovuto dimostrarlo o altro. È stato solo dichiarato come fatto. Quindi arriva la formula logica temporale e viene controllata contro di essa, ma c'è qualche disconnessione lì per me. Il valore non è mai stato dimostrato corretto in primo luogo. È come se, nel mio programma, faccio una richiesta HTTP e durante il periodo di attesa prima di una risposta, la mia proposta atomica è che $ mathtt {il sky is blue} $. Mi chiedo perché è stato messo lì, come faccio a sapere che è vero. Una proposta atomica migliore sarebbe $ mathtt {la request was svend} $. Ma ancora una volta, non vedo come il programma/modello/Checker "lo sa". Non vedo cosa sta facendo la verifica che quell'affermazione sia vera.

Quindi la mia domanda è fondamentalmente, come definisci proposizioni atomiche nel controllo del modello simbolico. Cosa ne va in loro. Come ti è permesso fare tali dichiarazioni che apparentemente non sono verificate. Non vedo come posso dire nulla sullo stato del programma senza che qualcos'altro "controlla" che sì $ mathtt {The request was in realtà Sent} $. lo capisco dopo Definiamo questo modello, abbiamo le nostre formule di specifica e le controlliamo rispetto al modello. Ma non abbiamo mai controllato il modello stesso per la precisione, è ciò che sto cercando di ottenere.

Mi sento come se, dopo aver scritto, in uno stato specifico, una proposta atomica, avrei bisogno di scrivere un Test unitario Verificare che fosse vero per alcuni input. Non sono sicuro di cosa mi sia mancato.

Nessuna soluzione corretta

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