Commit graph

220 commits

Author SHA1 Message Date
elvez 8b7a4ed569 - Fixed bug in serialization which caused threads to be saved with a "lats-for" field of 0
- Added some comments to the string_to code

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@956 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-28 22:29:43 +00:00
elvez 2497aa3bc6 - Bullet-proofed the code in string_utils. Not tested for booleans, but dont complain for the last test, its necessary, trust me.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@955 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-28 22:01:18 +00:00
elvez 9e61332a12 - Removed CPUPolicyManager::init(), it was deprecated
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@953 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-28 21:40:02 +00:00
tchernobog 3689424217 - First implementation of a SimulationController in the GUI
that uses a callback to run the simulation in continuous mode.
It isn't finished yet.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@948 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-28 20:15:05 +00:00
elvez 1cdd2a6a9e - Restored in-depth checking inside string_to<T>. Under advice of Matteo some code is still commented, since we are not sure if it`s correct
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@947 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-28 09:56:35 +00:00
tchernobog 645156e62c - Move code to manage step_by_step or continuous simulation from
ConcreteSimulation to TextSimulation


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@946 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-27 14:36:23 +00:00
tchernobog 231662825d - Unify interface of string_utils. I dropped most of the exception
handling, hoping it's unnecessary. Code should be slightly more
maintainable now.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@943 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-26 10:45:04 +00:00
elvez 696c513ed2 - TODO and FIXME reduced to 38
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@941 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-25 22:43:04 +00:00
elvez 57059b647b - Now it is possible to edit resources
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@940 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-25 21:45:29 +00:00
tchernobog 14f3fd5cbc - Change reinterpret_casts to static_casts where possible
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@939 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-25 17:01:39 +00:00
matrevis 8c8ce4c818 - Added editing features to History.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@934 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-23 22:55:08 +00:00
elvez 495896597c - Now everything can be removed!
- Reverted the patch to ConcreteSimulation, I was trying to make it do what ought to be done in the frontend, and now the frontend does it

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@927 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-21 23:44:18 +00:00
elvez 82b4105519 - Now resources can be removed
- Little patch to ConcreteHistory to make it remove emptied requests after a resource removal. I hope this will not break anything...

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@926 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-21 22:01:31 +00:00
tchernobog 7bcc3b9eb4 - Supersede old GUI in favor of a more clean (and hopefully clear) interface
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@918 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-20 21:26:14 +00:00
matrevis 5432693169 - I forgot to add two files and remove a debug print.
- Actually there is some printing issue to fix, but
  the logics works fine.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@902 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-18 01:04:28 +00:00
matrevis df4b32f1ba - Added full-featured jumpto command.
- Minor fixes on the gui.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@901 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-18 00:46:38 +00:00
tchernobog e27ba77fed - Merge branch https://lowca.thgnet.it/swe/branches/0.3-r847--simplify-scheduler
revisions 846:897 into trunk, with approval and peer review of manager (Luca).


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@898 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-17 23:30:49 +00:00
tchernobog 0b4db098eb - Add History::clear() to empty an existing history (equivalent
to removing all of its resources and all of its processes, but
faster)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@887 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-16 21:25:08 +00:00
tchernobog b2b905427b - Minor change to use Iseq
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@873 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-15 18:29:06 +00:00
matrevis cfd7a025db - Added a best-effort preferences dialog:
the user may now add plugin directories,
  policy directories, and set the simulation
  speed.
- Added some menu voice to the main window.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@872 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-15 17:33:47 +00:00
elvez 047f0b8f86 - Experimented a bit more with the treeview widget, with little success, It should segfault on selection of the menu entry "Add Process"
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@869 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-15 00:43:34 +00:00
tchernobog 45ef305a1b - Incapsulate code so that the hack we previously used in CPUPoliciesGatekeeper isn't needed anymore
- Now CPUPolicy has a callback method for scripting languages, but it is up to derived classes to take
mutexes and set the value when needed (maybe we can improve this?)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@862 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-14 14:28:41 +00:00
elvez 1be6a9ca58 - All policy-related errors should now be handled. I hope this is the last time I say this...
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@850 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-13 14:20:04 +00:00
tchernobog cb4f0e878d - Add printout on error. TODO: Still fails misteriously on malformed
policies


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@847 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-12 17:32:43 +00:00
tchernobog 9ff7502bb4 - This was an *evil* "chicken-or-egg-first" bug in CPUPoliciesGatekeeper. Now
CPUPolicy->activate() should run properly.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@846 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-12 17:04:21 +00:00
matrevis 69c8341384 - Scheduler completed.
- Added a wizard just for show, but there is no
  interesting cpu-scheduling policy to test it with
- Better textual output.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@842 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-11 23:01:25 +00:00
matrevis 6a1e30b0a2 - Reconstructed step forward. There is still some visible bug in the
imlpementation, so this version should not be considered definitive.
please give me an other day to check it.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@840 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-10 23:39:13 +00:00
elvez 17ca8156d9 - Completed policy-related error handling code
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@839 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-10 22:59:00 +00:00
elvez 48fc2f5a00 - Added still more error checking to PythonCPUPolicy. But the code which calls its methods should be updated to handle the new exceptions...
- Added a base class for cpu policy exceptions to make simpler their catching
- Implemented all numeric fields in dialogs with spinboxes, with bounds checking

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@838 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-10 00:42:17 +00:00
tchernobog d3c7b46853 - Give code a round of indentation. Thank astyle, not me.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@837 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-09 14:38:45 +00:00
tchernobog e975bfdd0b - Bugfix to call History::notify_change when reenabling notifications
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@830 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-08 19:46:14 +00:00
elvez 0138387a7f - Added the LOAD command to TextSimulation, and the classic question made to user on replacing an unsaved simulation
- Changed the way syntactically incorrect python policies are handled, we no more exit abruptly

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@829 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-08 00:20:56 +00:00
matrevis d72ce96508 - Corrected a bug in step forward, which was incorrectly assuming
that the size of the history was the coordinate of the instant
  to add.
- Corrected a bug in step forward, which was incorrectly assuming
  that all processes started at instant 0.
- Added a wizard to show a bug in step forward, which thinks that
  the simulation is terminated while it isn't since some processes
  are still future.
- Commented some unused code in step forward (extendThread()).
- Still to extract methods from Extender and provide them to 
  step forward in a more suitable (static) way.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@828 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-07 23:59:21 +00:00
tchernobog a7fc644043 - Fix compilation and loading of XmlSave plugin
- Fix throwing of exceptions from sgpem::Module
- **THOU SHALL ALWAYS UPDATE THY MAKEFILES, OR THE WRATH OF GOD
WILL DESCEND UPON THEE**


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@827 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-07 15:16:27 +00:00
elvez 96728edfce - Fixed compilation errors caused by latest changes to serialization code
- Setup makefile for xmlsave plugin. It still can`t be activated. why?
- Added a temporary command SAVE to commandline interface to try serialization

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@826 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-07 00:54:43 +00:00
matrevis 574723a35b - Added full request support, altough still not working
at all. Compiles and runs, but the output is not
  correct. Anyway, now it is just a matter of logics :P
- Corrected some minor bugs in step forward.
- Step forward is now rather messy, but still better than
  four hours ago.. altough this can be hard to believe.
- Added some wizards that help finding bugs.
- Rewritten dyn process get_state as it was guilty of
  premature optimization :)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@825 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-06 01:47:02 +00:00
matrevis efe7dedd61 - Request queues are now correctly managed by the ConcreteEnvironment
copy constructor and by the add_resource and remove_resource methods
  found in ConcreteHistory.
- Scheduler now adds the requests in the queue when appropriate, and
  removes them when exhausted.
- Still to implement the management of the state of requests depending
  on their position in the queue
- Still to implement the way threads block depending on the state of
  their requests
- step_forward now reuses some bunch of code taken from the prototype


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@824 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-05 17:09:45 +00:00
tchernobog 132db18b8c - Split between abstract base class (sgpem::CairoWidget) and
derived widget
- Add History::set_notify_enabled() for usage by the frontend 
(for example, when loading from file, you'll want to call
set_notify_enabled(false) before starting)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@823 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-04 20:08:55 +00:00
elvez 974702af3e - Added other two dialogs for the gui
- Added exception specifications to the methods of the serializer interface and xml plugin

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@821 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-04 00:29:37 +00:00
matrevis 9f4415a835 - Sorry, I forgot to remove a debug printf statement.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@817 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-03 00:42:28 +00:00
matrevis 96055b4cf1 - minor bugfix: scheduler was terminating subrequests before decreasing
their elapsed time
- requests are now behaving nicely, since they are raised at the correct
  instant, and terminated at the right instant
- the ready queues are still not ready, tough :(, anyway, now there is
  really nothing else to do before them.
- stepforward is looking much more uglier (if possible).


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@816 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-03 00:30:36 +00:00
elvez 10091d7a16 - Added ResourcePolicyManager
- Removed obsolete files

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@815 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-02 23:38:52 +00:00
matrevis 56a7ce1221 fixed a bug involving scheduler keeping a running thread in the ready queue
when that thread had just been given the cpu.
fixed a bug involving text-simulation displaying the wrong timestamp for
each snaphot. Now the first snapshot printed is correctly tagged "-1".

added (for the sake of lazyness) a method to readyqueue letting anyone
delete the first element on the queue. Not having this would imply
rebuilding the whole queue each time a thread was selected to run.

Small commits avoid complex mergings.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@814 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-02 23:12:32 +00:00
elvez 01490e24ac - Added the ResourcePoliciesGatekeeper class, still not tried to compile it
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@813 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-02 22:21:42 +00:00
tchernobog 43b817aaed - Rename Policy to CPUPolicy where appropriate
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@811 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-02 21:57:36 +00:00
elvez 6969d5b2c2 - Written what I suppose might be HoltGraph
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@809 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-02 00:28:31 +00:00
elvez b9cbbacd10 - Added ResourcePolicy class. I need to clear some doubts before writing the remaining part of resource policy management...
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@808 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-01 22:57:40 +00:00
tchernobog c6ebe792e4 - Make Scheduler::step_forward return a bool representing if
the step went okay or otherwise if the simulation ended
- Fix simulation states in concrete_simulation.cc
- Manage end of input (now CTRL+D exits the program, and 
you can redirect a file in input knowing that at EOF
sgpemv2 will terminate)
- Fix a bug in Scheduler that didn't add the newly created
environment to History when the simulation ended, thus leading
both to a memory leak and an inconsistency in representing
the simulation


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@807 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-01 09:19:26 +00:00
elvez d64051279f - Fixed bug in copy construction of DynamicProcess
- Fixed bug in get_parameter<bool> in TextSimulation
- Written some new code for visualization of the simulation

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@799 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-29 00:24:48 +00:00
tchernobog 25e5a7319b - Add CairoElements
- Start code for double buffering in custom widgets, using
an off-screen pixmap. Problem: we don't know the height from the 
beginning


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@798 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-28 15:24:56 +00:00