Joeri Exelmans
|
2ff5a98dc8
Various bug fixes + improvements to digital watch model.
|
5 years ago |
Joeri Exelmans
|
03957f99e5
More flexible and efficient output events. Proper canceling of timer events in the controller event queue instead of ignoring canceled events in the statechart (statechart should not execute a big step for a canceled event)
|
5 years ago |
Joeri Exelmans
|
5f01be7d40
Added missing type check.
|
5 years ago |
Joeri Exelmans
|
a5bd657f8d
Call Tk's update_idletasks when scheduling another wakeup, so the (digital watch) interface remains responsive under full load.
|
5 years ago |
Joeri Exelmans
|
d98becde8f
More slotted classes
|
5 years ago |
Joeri Exelmans
|
49bc688471
More slotted classes and using Python's 'with' statement for recording timings.
|
5 years ago |
Joeri Exelmans
|
638185fbe3
Turn State and Transition classes (many attribute accesses at runtime) and Event class (frequently created at runtime) into slotted classes for performance. State and Transition are 'frozen' after tree optimization (writing an attribute would raise an error)
|
5 years ago |
Joeri Exelmans
|
9a65f34293
Entering a history state whose parent hasn't been exited before should exit the parent's default state.
|
5 years ago |
Joeri Exelmans
|
cc287b49ff
Add file mentioning tests yet to write.
|
5 years ago |
Joeri Exelmans
|
26474302b9
When not debugging, use 'int' type instead of our Bitmap type (which inherits 'int'). Almost halves transition execution time!
|
5 years ago |
Joeri Exelmans
|
def1c58b23
Remove unused code.
|
5 years ago |
Joeri Exelmans
|
858f49384f
Partially-static computation of a transition's enter state set, saving us 0.05 ms (!) when executing a complex transition.
|
5 years ago |
Joeri Exelmans
|
af62dc077c
Various small fixes
|
5 years ago |
Joeri Exelmans
|
f8e9432157
Debug print sets of input, output and internal events at controller construction.
|
5 years ago |
Joeri Exelmans
|
f7387ed7e1
Fix bug in XML parser.
|
5 years ago |
Joeri Exelmans
|
bc74051b2f
Use "Take One" for digital watch.
|
5 years ago |
Joeri Exelmans
|
b5d9ee35b0
Cleaning
|
5 years ago |
Joeri Exelmans
|
47499356c2
Introduce XML rules for "single instance models" (like digital watch). Controller delta can be set in XML.
|
5 years ago |
Joeri Exelmans
|
7e9ac8f43d
Cleaning up
|
5 years ago |
Joeri Exelmans
|
eb867dae7f
Factor out reusable event loop integration stuff from Digital Watch example to SCCD library. Rename "Model" classes to "CD" (Class Diagram) for clarity.
|
5 years ago |
Joeri Exelmans
|
cede8ccf90
Digital watch is working!
|
5 years ago |
Joeri Exelmans
|
a57ca82fd6
Got digital watch pretty much working, with some bugs.
|
5 years ago |
Joeri Exelmans
|
3064fa0c4e
Rename some things, update README.
|
5 years ago |
Joeri Exelmans
|
261fc9ec8d
Move scripts for tests and rendering to 'src'. Update README
|
5 years ago |
Joeri Exelmans
|
7d7f3832fe
Remove JavaScript stuff. Move existing SCCD examples, doc and textualnotations to 'legacy' folder. Update setup script. Add digital watch example (doesn't run yet, need to figure out how to connect existing Python code with the statechart model)
|
5 years ago |
Joeri Exelmans
|
15128efe3f
Correction: event-based candidate generation should pre-cache all trigger's enabling events, not just the internal events (-> further improvement in no. cache hits)
|
5 years ago |
Joeri Exelmans
|
5468ca694c
Event-based transition candidate generation algorithm prepares its cache for all single-item sets of events.
|
5 years ago |
Joeri Exelmans
|
6a4316ef4a
Rename some fields, now that only bitmaps remain.
|
5 years ago |
Joeri Exelmans
|
3090e1255f
Re-implement history behavior to fix error in deep history test. Using bitmap operations where possible.
|
5 years ago |
Joeri Exelmans
|
4a3a9a0507
Fix error in set of enter states for Day & Atlee's example 4. Theoretically faster generation of "effective target states" by generating them *partially* statically. Quite complex and dirty at the moment.
|
5 years ago |