-
Notifications
You must be signed in to change notification settings - Fork 1
/
modification_tracker
60 lines (53 loc) · 3.01 KB
/
modification_tracker
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Changes made in this branch which should be merged to Master:
(1) Fixed pathcrawler's seemingly false constraints in traces
- DESCRIPTION: The trace output from pathcrawler can have constraints in the `Path Predicate'
section which are false. This is due to the floating point numbers not being printed to the
precision equivalent to eclipse's internal representation.
- SOLUTION: Assume any trivially False constraint to be True.
- FILE: ./path_crawler_helpers/prep_trace.py
- TAG: FP_TRUE
(2) Added the support to initialize the matlab plant using Matlab's classes
- DESCRIPTION: Matlab plant simulators had to call init() inside the sim() call to load_system().
This is now supported by using classes, similar to Python simulators. Moreover,
the modifications are backwards compatible. psim.py uses internal logic to detect if the
supplied matlab simulator file is a class or a function and takes appropriate actions. This is
planned to be removed in the future. Should probably not merged with the main branch?
- SOLUTION:
-Added init_plant.m
-Copied simulate_plant.m to simulate_plant_fun.m
-simulate_plant.m was modified to work with classes. This adds the feature to call init()
- FILE modified: ./psim.py, ./simulate_plant.m
- TAG: CLSS
(3) Added sanity checks in loadsystem.py,
- DESCRIPTION: Makes sure that all required parameters are present in the .tst file. Also ensures
consistency by catching and reporting any dimensions mismatces.
- SOLUTION:
- Added try: except blocks and created an exception class to print user friendly erorr
messages when an expected parameter is missing
- parse() was replaced by a new parse() and saved as
parse_without_sanity_checki())
- Created a new class MissingSystemDefError
- FILE modified: ./loadsystem.py
- TAG: No tags, as changes were pure additions and replacements. NO EDITS
(5) Z3 is required only if symex is explicitly requested
- DESCRIPTION: Z3 no longer needs to be installed if -ss-symex is never provided.
- SOLUTION:
- smt_solver is imported only if its required.
- Earlier, it was loaded in both plant and controller
abstractions. Now, its loaded in abstraction and passed to the plant and the controller
abstraction. If not required, then its inited with None.
- FILES modified: PACell.py, CASymbolicPCrawler.py, abstraction.py
- TAG: Z3_IND
(6) pc_trace_parser.py is required only if symex is explicitly requested
- DESCRIPTION: ./path_crawler_helpers is not required unless symex is requested
- SOLUTION: Changed unconditional import of CSymLoader.py conditional
- FILES modified: secam.py
- TAG: PCH_IND
(7) eps: do not splice
Tried to accept inf in grid_eps, implying 'do not splice'.
Changes are checked in the 'eps' local branch.
TAG: EPS
(8) Added the new R2015b feature to connect to an existing Matlab session.
Can use the switch --meng 'session name'
- TAG: MSH
- FILES: secam.py, psim.py, loadsystem.py