Έλεγχος μοντέλων: Διαφορά μεταξύ των αναθεωρήσεων
Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
Γραμμή 40:
==Εργαλεία ελέγχου μοντέλων==
Τα εργαλεία ελέγχου μοντέλων αντιμετωπίζουν μια συνδυαστική έκρηξη στο χώρο των καταστάσεων, γνωστή σαν [[πρόβλημα έκρηξης καταστάσεων]], όταν πρόκειται να λύσουν πολλά από τα προβλήματα που συναντούνται στον πραγματικό κόσμο. Υπάρχουν πολλές προσεγγίσεις για την
#
# Οι φραγμένοι αλγόριθμοι ελέγχου μοντέλων ξεδιπλώνουν το FSM για ένα πεπερασμένο αριθμό <math>k</math> βημάτων και ελέγχουν αν η παράβαση κάποιας ιδιότητας μπορεί να εμφανιστεί σε <math>k</math> ή λιγότερα βήματα. Αυτό συνήθως περιλαμβάνει την κωδικοποίηση του περιορισμένου μοντέλου σαν περίπτωση του [[πρόβλημα SAT|προβλήματος SAT]]. Αυτή η διαδικασία επαναλαμβάνεται για όλο και μεγαλύτερες τιμές του <math>k</math> μέχρι να αποκλειστούν όλες οι πιθανές παραβάσεις (iterative deepening depth-first search).
# Η [[αναγωγή μερικής σειράς]] μπορεί να χρησιμοποιηθεί (σε ρητές απεικονίσεις σε γράφους) για να ελαττώσει τον αριθμό των ξεχωριστών επικαλύψεων των παράλληλων διεργασιών που αναλύονται. Η βασική ιδέα είναι ότι, αν δεν έχει σημασία αν το Α ή το Β εκτελείται πρώτο (για τα συγκεκριμένα ζητούμενα που πρέπει να αποδειχτούν), τότε δε χρειάζεται να ληφθούν υπόψη και οι δύο περιπτώσεις των επικαλύψεων ΑΒ και ΒΑ.
# Η [[αφηρημένη διερμηνεία]] προσπαθεί να αποδείξει ιδιότητες ενός συστήματος, απλοποιώντας το. Το απλοποιημένο σύστημα συνήθως δεν ικανοποιεί ακριβώς τις ίδιες ιδιότητες με το αυθεντικό, επομένως χρειάζεται κάποια διαδικασία επεξεργασίας της πληροφορίας. Συνήθως απαιτείται η αφαίρεση να είναι ''συνεπής'' (''sound''), δηλ. οι ιδιότητες που αποδεικνύονται στην αφαίρεση να ισχύουν και στο αυθεντικό σύστημα, κάποιες φορές όμως η αφαίρεση δεν είναι ''πλήρης'' (''complete''): δεν ισχύει ότι όλες οι ιδιότητες που ισχύουν στο αρχικό σύστημα ισχύουν και στην αφαίρεση. Ένα τέτοιο παράδειγμα είναι σε ένα πρόγραμμα να αγνοούνται οι τιμές μεταβλητών που δεν είναι τιμές αλήθειας και να λαμβάνονται υπόψη μόνο αυτές που είναι μεταβλητές αλήθειας και η ροή του ελέγχου - μια τέτοια αφαίρεση, αν και φαίνεται να πάσχει από λεπτομέρεια, μπορεί να είναι αρκετή για την απόδειξη ιδιοτήτων, π.χ. [[αμοιβαίος αποκλεισμός|αμοιβαίου αποκλεισμού]].
# Η [[Εκλέπτυνση αφαίρεσης καθοδηγούμενης από αντιπαραδείγματα|εκλέπτυνση αφαίρεσης καθοδηγούμενης από αντιπαραδείγματα (counter-example guided abstraction refinement, CEGAR)]] αρχίζει τον έλεγχο με μια απλή (και όχι ακριβή) αφαίρεση και σταδιακά την επεξεργάζεται για μεγαλύτερη ακρίβεια. Όταν βρίσκεται μια παράβαση (αντιπαράδειγμα), το εργαλείο την αναλύει όσον αφορά την πιθανότητα εκδήλωσής της (δηλ. είναι πραγματική ή είναι αποτέλεσμα μιας λάθος αφαίρεσης;). Αν η παράβαση είναι πιθανή, αναφέρεται στο χρήστη - αν δεν είναι, η απόδειξη για αυτό χρησιμοποιείται για να βελτιωθεί η αφαίρεση και ο έλεγχος αρχίζει πάλι.<ref name=Clarke2000>{{citation
| last1 = Clarke | first1 = Edmund
| last2 = Grumberg | first2 = Orna
|