No edit summary |
|||
Line 39: | Line 39: | ||
* Den LTL-Button in der Event-View und den LTL-Dialog entfernen und die Eingabe der Formeln komplett in der LTL-View erledigen. | * Den LTL-Button in der Event-View und den LTL-Dialog entfernen und die Eingabe der Formeln komplett in der LTL-View erledigen. | ||
* Atomare Aussagen sollten in der StateView analysierbar werden, z.B. mittels Kontextmenü. Analog zum "grünen Plus" in der StateView. Ideal wäre DnD. | * Atomare Aussagen sollten in der StateView analysierbar werden, z.B. mittels Kontextmenü. Analog zum "grünen Plus" in der StateView. Ideal wäre DnD. | ||
=Interaktion mit anderen ProB-Komponenten= | |||
Bisher ist man als Benutzer noch relativ verloren, wenn man das Gegenbeispiel mit dem ursprünglichen Modell in Verbindung bringen will. Die bestehenden Anzeigen sollten mit benutzt werden, um den Benutzer zu helfen. | |||
Wenn in der LTL-View ein Zustand angewählt wird (oder explizit mittels Doppelklick oder so ähnlich), sollte der aktuelle Zustand und History auf | |||
den Zustand gesetzt werden: | |||
* In der State-View wird der aktuelle Zustand angezeigt und auswertbar gemacht. | |||
* In der History-View wird das komplette LTL-Gegenbeispiel angezeigt | |||
* In der Event-View werden alle möglichen Events angezeigt werden. Der Benutzer kann dann mit den vor-zurück-Buttons durch das Gegenbeispiel navigieren. Wählt er ein Event explizit, bekommt er eine neue History (wie bisher auch) | |||
* Atomare Aussagen sollten als Formeln in die State-View anzuzeigen sein. | |||
Umgekehrt sollte es möglich sein, die aktuelle Historie auf eine LTL-Formel hin zu überprüfen. Was machen wir in dem Fall mit dem Beispiels-Ende (also Deadlock, abgeschnitten oder Schleife?) |
Diese Teile müssen bei der Implementation / Beschreibung in der Arbeit beachtet werden.
Der Modelchecker liefert drei Arten von Gegenbeispielen:
RodinKeyboardPlugin.getDefault().translate(...)
Dann muss allerdings der Rodin-Font verwendet werden.
Beispiel: Hier wird die blau hinterlegte Zelle vom Benutzer markiert. In der nächsten Spalte färben sich einige Zellen gelb und rot. "G(not q)" ist in 7 unwahr wegen der Folge 7(not q: true), 8(not q: true), 9(not q:false).
(pi,i) |= fRg genau dann wenn
Bisher ist man als Benutzer noch relativ verloren, wenn man das Gegenbeispiel mit dem ursprünglichen Modell in Verbindung bringen will. Die bestehenden Anzeigen sollten mit benutzt werden, um den Benutzer zu helfen.
Wenn in der LTL-View ein Zustand angewählt wird (oder explizit mittels Doppelklick oder so ähnlich), sollte der aktuelle Zustand und History auf den Zustand gesetzt werden:
Umgekehrt sollte es möglich sein, die aktuelle Historie auf eine LTL-Formel hin zu überprüfen. Was machen wir in dem Fall mit dem Beispiels-Ende (also Deadlock, abgeschnitten oder Schleife?)