STAMINA/STORM 0.1
Infinite state-space truncator which generates a probability within a window
Preferences.h
1#ifndef STAMINA_PREFERENCES_H
2#define STAMINA_PREFERENCES_H
3
4#include <KXmlGuiWindow>
5#include <QDialog>
6
7#include "ui/ui_Preferences.h"
8
9namespace stamina {
10 namespace gui {
11
12 // A class that keeps track of preferences
13 class PrefInfo {
14 public:
15 static void setDefaults();
16 static const std::string prefPath;
17 // "General" tab
18 struct General {
19 static void setDefaults();
20 // Auto-detect model file type from extension
21 inline static bool modelFileFromExtension;
22 // Save modified CSL properties file
23 inline static bool saveModifiedCSL;
24 // Truncate model
25 inline static bool truncateModel;
26 // Attempt to generate counterExamples
27 inline static bool generateCounterexamples;
28 // Create refined properties
29 inline static bool createRefinedProperties;
30 // Include verbose log messages
31 inline static bool verboseLog;
32 // Tab size
33 inline static uint8_t tabSize;
34 // Use tabs or spaces
35 inline static bool useTabs;
36 };
37 // "Model Building" tab
39 static void setDefaults();
44 inline static double kappa;
45 // Kappa reduction factor
46 inline static double rKappa;
47 inline static double window;
48 // Early termination using property
49 inline static bool earlyTerminationProperty;
50 // Maximum iterations
51 inline static uint16_t maxIterations;
52 // Maximum approx iterations
53 inline static uint8_t maxApproxIterations;
54 // Export transitions
55 inline static bool exportTransitions;
56 // File to export transitions to
57 inline static std::string transitionsFile;
58 // Export perimeter states
59 inline static bool exportPerimeterStates;
60 // File to export perimeter states to
61 inline static std::string perimeterStatesFile;
62 // Truncation method. TODO: import enum from stamina::core::Options
63 inline static uint8_t truncationMethod;
64 // Number of threads
65 inline static uint8_t threads;
66 };
67 // Model checking tab
69 static void setDefaults();
70 inline static bool useSylvan;
71 inline static bool useCudd;
72 inline static std::string cuddLimit;
73 inline static bool stormVerbose;
74 };
75 // CounterExample Generation tab
77 static void setDefaults();
78 // Maximum distance to explore
79 inline static uint32_t maxDistance;
80 inline static bool useScaffolding;
81 inline static uint32_t numberScaffolds;
82 inline static uint32_t numberCounterexamples;
83 };
84 // Property refinement tab
86 static void setDefaults();
87 };
88 };
89
90 class Preferences : public QDialog {
91 Q_OBJECT
92 public:
93 Preferences(QWidget * parent = 0);
94 void show();
95 void hide();
96 private:
97 void setupActions();
98 // Data members
100 };
101 }
102}
103
104#endif // STAMINA_PREFERENCES_H
Definition: ui_Preferences.h:523
Definition: Preferences.h:13
Definition: Preferences.h:90
Definition: ExplicitTruncatedModelBuilder.cpp:40
Definition: Preferences.h:18
Definition: Preferences.h:38
static double kappa
Definition: Preferences.h:44
Definition: Preferences.h:68
Definition: Preferences.h:85