After some effort, we come up some archetecture improvement:
1 Assersion checking is separated into independed class.
2 Data Manager is introduced, which supports of difference way of storing the states information.
Currently, we are testing for different way of hashing the states. Truong Khanh is working on the tree data structure at the moment.
In the GUI, user can select the different data manager for different purpose.
1 Parser is upgraded to antlr 3.1
2 Language syntax is improved to support if-then-else (syntax suger for conditional choice), case swith (general form of if-then-else)
3 Alphabet declaration syntax is improved to support variables
4 special synbols are removed in assertion, key words are used for better parsing result and readability.
1 FD refinement checking is re-implemented. The previous version’s implementation is not correct.
2 Corner cases improvement
1 Self-implemented hashtable is used to replace built-in Dictionary in .NET. (both smaller and faster)
2 Code optimization round one is done. We are doing the round two now. 🙂