Question

Les propositions atomiques de la vérification du modèle symbolique forment l'état dans le graphique de la transition d'état (le modèle $ mathcal {m} $ dans la vérification du modèle). L'autre partie de la vérification du modèle est le spécification, qui est généralement une sorte de formule logique temporelle sur les propositions atomiques du modèle.

Ma question concerne les propositions atomiques elles-mêmes. Je n'en ai vu que quelques exemples rudimentaires, tels que l'imprimante $ x = 20 $ ou $ est occupé $. Ces propositions atomiques (je pense) indiquent un fait sur l'état du programme à ce stade du système. Vous utilisez ensuite une formule logique temporelle pour voir si le modèle conserve en dessous. Je suis confus par la façon dont les propositions atomiques sont les deux défini et utilisé.

Premièrement, comment ils sont définis. Je n'ai vu nulle part une description de la façon dont vous définissez ces propositions atomiques. C'est ma première question. Je ne comprends pas comment indiquer $ x> 100 $ dans un état du modèle $ mathcal {m} $ signifie n'importe quoi. Je n'avais pas à le prouver ou quoi que ce soit. Il était juste énoncé comme un fait. Ensuite, la formule logique temporelle arrive et est vérifiée contre elle, mais il y a une certaine déconnexion pour moi. La valeur n'a jamais été prouvée correcte en premier lieu. C'est comme si, dans mon programme, je fais une demande HTTP et pendant la période d'attente avant une réponse, ma proposition atomique est que $ mathtt {le ciel est blue} $. Je me demande pourquoi cela a-t-il été mis là, comment puis-je savoir que c'est vrai. Une meilleure proposition atomique serait $ mathtt {la demande a été envoyée} $. Mais encore une fois, je ne vois pas comment le programme / modèle / vérificateur le sait ". Je ne vois pas ce qui fait la vérification que cette déclaration est vraie.

Ma question est donc essentiellement de la façon dont vous définissez les propositions atomiques dans la vérification des modèles symboliques. Ce qui y va. Comment vous êtes autorisé à faire de telles déclarations qui ne sont pas vérifiées. Je ne vois pas comment je peux dire quoi que ce soit sur l'état du programme sans autre chose "vérifier" que oui $ mathtt {la demande était en fait envoyée} $. je comprends que après Nous définissons ce modèle, nous avons nos formules de spécification et les vérifions par rapport au modèle. Mais nous n'avons jamais vérifié le modèle lui-même pour la précision, c'est ce que j'essaie de faire.

J'ai l'impression que, après avoir écrit, dans un état spécifique, une proposition atomique, j'aurais alors besoin d'écrire un Test de l'unité Pour vérifier qu'il était vrai pour une entrée. Je ne sais pas ce qui me manque.

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à cs.stackexchange
scroll top