Commit Graph

506 Commits

Author SHA1 Message Date
matrevis 0912042b50 - Added preferences load/save feature.
altough till lacking exception handling
  if no sgpem.cfg file is present, segmentation fault
  therefore no loading is ever done by now.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@979 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-01 00:58:12 +00:00
elvez 58cf50b500 - Added visualization of resources queue to resourceswidget. Task #28
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@978 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-01 00:23:39 +00:00
elvez eb9546a63c - Disabled all operations on schedulables from the GUI while the simulation is not stopped. Task #25
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@977 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-31 22:17:16 +00:00
tchernobog ba9b28b0c8 - Correctly set release time for candidate threads that try to
run and immediately block
- Use modulo to check the end of the time slice instead than a
simple equality


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@976 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-31 18:57:09 +00:00
tchernobog 5b7130a9a0 - Fix book-keeping of thread data fields
- (temp) Add debug printout into text simulation of 
a thread acquiring time and release time. Will be removed
just after scheduler is fixed.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@975 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-31 18:16:11 +00:00
tchernobog 1bc33d37ec - Fix one of two Scheduler's bugs. Now the state of the running thread
is update separately by the state of future or blocked ones at the
beginning of step_forward() (since else it didn't influence the state of
threads coming before it in the global thread list)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@974 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-31 17:15:41 +00:00
elvez 0c3ecf3bcb - Removed a level from the schedulables tree. Added details about subrequests
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@973 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-31 00:34:49 +00:00
tchernobog 323ab51210 - Fix sigsegv when editing an entity
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@972 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-31 00:31:14 +00:00
matrevis c797bf97ae - Improved resource policy power
- added tests for gap management
- added test for resource policy


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@971 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-30 23:59:10 +00:00
tchernobog 4f3e8f61df - Enable CPUPolicy configuration in the GUI through clicking on the
toolbar button about the "Scheduling policy". The same is true also
for a ResourcePolicy. These two features will also need a related
entry under the "Edit" menu. Closes task #15.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@970 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-30 23:37:11 +00:00
matrevis 26755fd876 - Small fix to let the application work
using ResourcePoliciesGatekeeper


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@968 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-30 21:09:47 +00:00
elvez 685a6d84f0 - All dialogs created by SchedulablesTreeWidget are now inializated only when needed
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@967 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-30 15:54:47 +00:00
tchernobog a4bde96a7b - Manage exceptions into SimulationController.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@966 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-30 15:53:26 +00:00
elvez 3f314f6225 - Removed useless declaration from header file
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@965 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-30 15:32:33 +00:00
elvez 58838fabbc - More extensible exception checking in text_simulation
- Started doing initialization of glade dialogs in a lazy manner

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@964 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-30 15:31:25 +00:00
elvez 9d541e2751 - Added markup for threads, improved support for translation of hard-coded strings
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@963 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-30 00:14:44 +00:00
tchernobog 35451bddbd - Hopefully a more complete fix.
- TODO: write a test for this both in the case of the parent process
having a "hole" between threads and being a) terminated, and b) blocked


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@960 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-28 22:59:51 +00:00
matrevis 0520169288 - I forgot to include a pair of files.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@959 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-28 22:45:02 +00:00
matrevis f3dc9b77df - Added a bit of resource policy mamagement. Still far from being usefu.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@958 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-28 22:40:08 +00:00
tchernobog 980d9b410a - Fix a minor bug in scheduler that didn't ended the simulation
if there was a 'hole' between threads of the same process. The
fix isn't the most elegant thing in the universe, but it's simple
and it'll do.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@957 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-28 22:29:56 +00:00
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 don`t complain for the last test, it`s 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
tchernobog 73c66c12d3 - Re-enable loading of saved files
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@954 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-28 21:48:55 +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 bb8e16e490 - Some little eyecandiness. Not much, after all, but still some.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@951 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-28 20:50:20 +00:00
tchernobog ba60be88bc - Remove useless pointer from SimulationController member data
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@950 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-28 20:23:42 +00:00
tchernobog 0cf9c77835 - Erm..... finish the SimulationController so that it works
(one-line patch). :-)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@949 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-28 20:19:58 +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 1087d45628 - Add naive code to test Simulation from the GUI. Please note that
we need to move the "continous/non-continous" code snippet out of ConcreteSimulation
and into TextualSimulation/the GUI Simulation. In fact, ConcreteSimulation
is just a state machine that performs a single step and then puts itself
either in paused state (if the Simulation hasn't finished) or into stopped state
(if it finished)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@945 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-27 13:39:40 +00:00
tchernobog aa608a1cc2 - Mantain expanded state of TreeView rows while History updates.
It isn't elegant, but it's the best I can come up with in 10 minutes before
having dinner.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@944 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-26 18:42:10 +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
elvez 34c65f42d1 - Added the editing feature to the schedulables tree widget
- Value of dialog is now resetted, so they no more show up with the last data that was given

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@938 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-25 00:29:28 +00:00
elvez 50929d9a94 - Removed from GUI and textual interface questions regarding preemptability and availability of resources
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@937 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-24 22:10:31 +00:00
elvez dc09e6918c - First experiment with pango markup on the tree widget: it looks odd but it works!
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@935 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-24 00:28:19 +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
paolo 7756a56b25 - modified simulation_widget to show threads
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@933 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-23 00:34:55 +00:00
elvez 94452ca972 - TODO-- in SchedulablesTreeWidget
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@932 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-23 00:06:29 +00:00
paolo 2ff804ecbe - modified holt_widget to show processes or threads
- updated test-holt_widget to show processes or threads



git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@930 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-22 09:46:49 +00:00
tchernobog 8911016da8 - Fix compilation
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@929 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-22 08:15:23 +00:00
paolo b3335ed467 - added src/holt_widget
- added src/testsuite/test-holt_widget
- updated Makefile.am



git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@928 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-22 01:38:30 +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
paolo ba00eac7f0 - updated simulation_widget
- now hinerith from SimulationObserver and HistoryObserver
- updated gui_builder and test-simulation_widget accordling



git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@925 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-21 17:50:44 +00:00
paolo 2a408b82af - modified cairo_widget, simulation_widget
- updated test-cairo_widget
- improved test-simulation_widget



git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@924 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-21 13:02:04 +00:00
tchernobog 32db4228bb - Use stock buttons for Add & Remove in AddRequestDialog
- Fix compilation


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@923 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-21 11:58:06 +00:00
elvez 077157739c - Enjoy the new ResourcesWidget! (to be honest, it`s mainly a cut-n-paste work made from SchedulablesTreeWidget...)
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@921 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-21 00:12:56 +00:00
elvez d60a7aa25e - Completed the management of add-related actions on the schedulables tree view
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@920 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-20 23:17:32 +00:00
tchernobog 8c3d8b4878 - Some little improvements to interface (use HPaned instead of HBox)
- Add logo to AboutDialog :-)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@919 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-20 22:15:02 +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
tchernobog 0f94562617 - Small improvements. We'd need a derived CellRenderer to put
this into a TreeView


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@917 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-20 20:55:29 +00:00
tchernobog 1fe3c4ddf7 git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@916 3ecf2c5c-341e-0410-92b4-d18e462d057c 2006-08-20 19:20:05 +00:00
tchernobog 23adb864c2 - Add first draft of a widget to show the state of a schedulable
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@915 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-20 19:19:30 +00:00
tchernobog 8965985510 - Remove useless methods from CairoElements
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@914 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-20 18:32:35 +00:00
elvez b554a43f30 - Completed the AddRequestDialog dialog. It`s of little use without resources handling, anyway..
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@912 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-20 17:52:46 +00:00
paolo 894784463f - modified simulation_widget (pre release)
- added test-simulation_widget - modified Makefile.am



git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@910 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-20 03:49:17 +00:00
elvez dd40bac86c - Improvements to the schedulables widget, now the menu is context-sensitive
- Started work on the add-request-dialog derived widget, it`s not so difficult as I first thinked...

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@909 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-19 00:09:36 +00:00
paolo e4c269f5d4 - modified cairo_widget and simulation_widget to support scaling
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@908 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-18 19:54:24 +00:00
paolo 7d6b210b90 - added test-cairo_widget
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@906 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-18 19:49:41 +00:00
paolo 69c098b266 - increased separation between CairoWidget and SimulationWidget
- CairoWidget doesn't extend more History Observer
  - Modified scaling in CairoWidget
  - NOTE: this is a partial update; total update will follow soon 
- added File save/file open in GuiBuilder



git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@903 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-18 07:27:00 +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
elvez d8694b2f5b - Removed "visible" flag from popup dialogs
- Laid out widget code for request adding. That`s not a trivial dialog like the previous...

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@900 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-18 00:27:33 +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 7447bf82ec - Re-enable SimulationWidget in the frontend
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@893 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-17 17:05:47 +00:00
tchernobog f42eea8514 - The problem with CairoWidget was that it did scale a pixmap of ~100x100
with a *factor* of ~640x480. That means ~64*48*10^6*3 bytes = a ~1.1 Gb RAM pixmap.
The problem didn't show in versions of cairo >= 1.2 because it automagically
clips (yeah, cairo programmers *are* smart :-))
It is temporary fixed for the moment, will be made better asap.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@892 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-17 17:03:42 +00:00
elvez 09ad981251 - Make the schedulables widget do something useful, now that I know it was the simulation widget, not the schedulables one which completely put KO my system...
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@889 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-16 23:56:28 +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 74ec2ed372 - Fix SIGSEGV: we were clearing the smart pointer instead of its contents!
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@885 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-16 16:58:05 +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
tchernobog 390af1f09d - Add support for input sequences via template; this should simplify a little
iterating over containers


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@857 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-14 12:09:51 +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
tchernobog 59edb09c14 - Create SimulationWidget
- Drop the old SchedulablesWidget in favor of a simple Gtk::TreeView
- Update the GuiBuilder consequentially
- FIXME: in cairo_widget.cc : have we to scale the context before or after
drawing on it?


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@845 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-12 15:49:37 +00:00
tchernobog 51fdeea4d1 - Prettify textual simulation output, simplyfing the code, too.
- Fix return code on exit


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@844 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-12 13:33:28 +00:00
elvez 97d6f574af - Done some more experimental work on the tree widget, indeed I hoped gtk were a more developer-friendly toolkit than it is...
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@843 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-12 00:35:40 +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
elvez 436e401ae8 - Added a tree widget as a temporary replacement for the cairo-based one. it`s still incomplete, but I should get it working in no time now that I understand how to use it
NOTE: to use it _SG_SCHEDULABLES_TREE_WIDGET must be defined, which is obvioulsy not, by default

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@841 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-11 00:45:41 +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 aaf8e068d3 - Add prompt display for my mental sanity sake, so I know when I can type something
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@836 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-09 14:13:41 +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
tchernobog 2174c25f74 - Fix drawing of widget background. Now I'll move the code to
an abstract base class, and I'll start working out the 
adjustement / resizing problems (they're not easy to work out 
correctly).


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@822 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-04 19:12:17 +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 56d7ddbc5a - Widgets now will be shown. Still some problem with their background
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@820 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-03 15:43:21 +00:00
tchernobog b76756c2a8 - Add untested code to SchedulableWidget, manually inheriting from a raw Gtk::Widget
and doing things by hand


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@819 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-03 11:16:16 +00:00
elvez 82289edc14 - Corrected a potentially disastrous automatic int->uint conversion in TextSimulation
- Make test-history run by commenting some "dangerous" lines
- Added a couple of comments to SchedulablesWidget::update() in the hope the may be useful to others in finding where the bug resides...

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@818 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-03 01:34:49 +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
tchernobog 5b577c5979 - Start working on double-buffering on cairo widgets. The system
will SIGSEGV. I will fix this asap, in the meantime use the cmdline
interface.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@810 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-02 13:48:26 +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
matrevis 6f8625d308 Just printing resource name along with ID in subrequest (1 line commit!)
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@806 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-31 23:35:27 +00:00
elvez 504311a390 - Made more clear and complete output from TextSimulation
- Added the "continuous" attribute for the SET and GET commands
- Now resource ids are checked for validity

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@805 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-31 23:18:51 +00:00
elvez 8b20c7d30a - Completed code for visualization of the simulation, there`s still the part for the visualization of the request queue commented
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@800 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-29 15:48:24 +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
tchernobog 5b22b503a5 - Do the assignment before using the variable...
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@797 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-28 12:34:13 +00:00
tchernobog 6c79bc361c - Fix deadlock that blocked PythonPolicy::sort_queue
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@796 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-28 12:21:49 +00:00
tchernobog ebeda15359 - Add DLLEXPORT directive to sgpem::Module
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@795 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-25 11:08:05 +00:00
elvez 6a88e3d85e - Added NullPolicyException to scheduler
- Started code for printing the state of the scheduling
- Fixed a bug in the copy constructor of DynamicThread

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@794 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-23 22:27:33 +00:00
tchernobog f26b80f76b - Keep a map to hold request queues into a concrete_environment
- TODO: fix test-history consequentially (request queues should be prepared
by Scheduler or by Environment?)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@793 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-23 13:38:13 +00:00
elvez 0dd711657f - Added the "set cpu-policy" command. It`s still not useful until we initialize the pyloader plugin...
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@789 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-21 13:10:31 +00:00
tchernobog 19ee5c1884 - Fix deletion using an ad-hoc functor to avoid memory leaks, instead that ptr_fun(operator delete). Valgrind says we're doing well with History\!
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@787 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-20 21:50:28 +00:00
tchernobog 69a7ee03eb - Fix visibility support into string_utils
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@786 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-20 11:11:37 +00:00
tchernobog 40180557c7 - Bits and tits of step_forward
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@785 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-20 10:36:24 +00:00
tchernobog dbd24ffd75 - Fix compilation of PoliciesGatekeeper, making sure we don't invalidate iterators
- Fix test-history wrong index variable that made the program try to poke its nose
where it shouldn't


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@783 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-20 08:27:56 +00:00
tchernobog e3d2381212 - Pay attention to iterators invalidated by Container.erase(it) methods.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@782 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-19 15:50:57 +00:00
tchernobog 95ef5eba53 - Fix compilation of test-python_loader (which doesn't f*ckin' work).
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@781 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-19 14:48:53 +00:00
tchernobog 984d390f3f - Fix typo with iterator initialization (screwed RAII)
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@780 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-19 14:02:44 +00:00
elvez a92b542081 - Completed test-history. I still have some doubts about some points, but I think the current implementation is already a pretty intensive test...
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@779 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-18 23:39:33 +00:00
tchernobog 14b5b66b3c - Implement a couple of helper methods into Dynamic(Sub)Request to
make life easier to Scheduler
- Go on implementing a bit more of Scheduler::step_forward()
- Remove "places" from SubRequest


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@778 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-18 15:52:55 +00:00
elvez 53073295d5 - Started test-history
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@777 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-18 14:48:33 +00:00
elvez d9f24de7c0 - Written ConcreteHistory copy constructor
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@775 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-16 21:56:04 +00:00
elvez f4b255d31c - Fixed linking problem with visibility enabled caused by TextSimulation accessing (stupidly) Dynamic* objects
- Removed a bunch of FIXME from text_simulation.cc, now TextSimulation fully cooperates with Environment and History

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@774 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-16 21:43:54 +00:00
elvez a092f3dc7b - Moved Simulation and ConcreteSimulation to the backend
> - Completed ConcreteSimulation, i think it is all we need at the moment...

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@773 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-16 13:35:39 +00:00
paolo cab84a0e3d - deleted "gera ora!" test-global_preferences_serializer.cc
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@772 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-15 21:03:55 +00:00
elvez 4ab7123ced - Added ConcreteSimulation, but not coded it`s behaviour
- Made Simulation a singleton

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@771 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-15 17:35:24 +00:00
elvez 1506c46287 - Added the REMOVE command, it was almost completely a cut-and-paste work, so the code will need some refactoring to remove duplicated portions
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@770 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-15 15:46:13 +00:00
paolo 1ea164cb23 - added a semi-good global preferences serialization test program
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@768 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-15 11:28:11 +00:00
paolo 2b31d6d2eb - fixed global preferences serialization
- global_preferences.??
- fixed key=value configuration class
  - key_file.??
 


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@767 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-15 11:25:57 +00:00
paolo 6ea402f012 - removed unused files serializer_visitor.??
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@765 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-15 01:31:38 +00:00
paolo 35ae7f4eae - updated seriralize_visitor to manage history & environment
- corrected wrong calls to SerializeVisitor in dynamic_process & dynamic_thread



git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@763 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-15 01:25:31 +00:00
elvez d31c31d8a3 - Completed the ADD command, or better, what was implementable of the ADD commmand... Beware this is UNTESTED code!
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@760 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-13 21:09:27 +00:00
elvez 751ecf6415 - Begin writing the ADD command. I`m assuming you all like what I`m doing...
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@759 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-13 15:07:15 +00:00
elvez 456cef0fd3 - Added some more templates in preparation of the ADD wizards. This will minimize redundant code in the forthcoming methods
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@758 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-12 23:52:09 +00:00
elvez 4bece17f36 - Completed the SHOW command with the best I can do at the actual stage of development
- Layout of output is not tested so it will surely look odd the first time it is run...

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@757 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-12 22:46:55 +00:00
tchernobog 09268f7fd4 - Add stubs to implement custom widget to show schedulables entities.
Paint a red clown nose just to show the humour of the thing, and that it
works(?).


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@755 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-12 09:24:57 +00:00
tchernobog db34232e72 - Textual simulation is now brought up only if requested
by the -N switch given at the cmdline


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@754 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-12 08:31:25 +00:00
elvez 3612d20ae0 - Partially written the code for the SHOW command.
- Reorganized source to avoid duplicated code

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@753 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-11 22:50:41 +00:00
elvez d4beb67d0e - Added the GET and SET commands to TextSimulation
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@752 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-11 15:46:46 +00:00
elvez 8ffd81b823 - Adjusted copy construction of the Dynamic* hierarchy. Hope this is what you wanted, Matteo...
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@751 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-11 14:20:30 +00:00
paolo 864e71b82e - update serializer related files
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@749 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-11 00:04:26 +00:00
elvez 6150af3d30 - Fixed some bugs in command processing, added the configure-cpu-policy command
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@748 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-10 22:28:51 +00:00
elvez 2ede92d6d1 - Written some code for command processing. Still not tested it. Feedback is very much appreciated!
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@746 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-09 16:27:16 +00:00
tchernobog 0e79b163f3 - Fix Dynamic* constructor to add them objects into the correct
vector
- Split push_back in constructors on two lines so the compiler warns
us if returned vectors are temporary objects, or do not match the
expected type


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@745 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-09 15:48:24 +00:00
paolo 301775debd - modified concrete_hystory
- method add_thread - fix push into static_process's vector and
    dynamic_process's vector
  - method add_request - fix push into static_thread's vector and
    dynamic_thread's vetor 


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@744 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-09 15:25:19 +00:00
paolo 4d862a3c2f - added classes needed by serialization
- serializers_gatekeeper
  - serializer
  - serializer_error
  - serializer_visitor (should replace serialize_visitor)



git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@742 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-08 05:50:41 +00:00
tchernobog c1d104dba8 - Small changes: no need to use assert, since libGlade already
does print a warning for us on error
- Fix Makefile


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@740 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-06 12:36:05 +00:00
tchernobog f84c7bbf40 - Do things in a more C++ style
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@739 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-06 12:23:29 +00:00
tchernobog 483cf2815d - Pardon my italian, but "'affanculo" is the only thing that
crosses my mind seeing what was the correct fix.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@738 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-06 11:26:23 +00:00
tchernobog 933d814ddc - Trivialities: change a couple of comments. The SIGSEGV isn't related
to option parsing.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@737 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-06 10:51:37 +00:00
tchernobog 8b1da4e1c7 - Fix plugin.hh visibility attributes
- Improve option parsing
- Strange SIGSEGV still happening (a different one, though)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@736 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-06 09:49:35 +00:00
elvez 3125f3d3cf - Option parsing system is now complete, shame on me, Glib::Option* was so easy to use...
- This is not so important, but the app now segfaults because of this "improvement", don`t say it`s my fault, from what I can understand, glib crashes at some time in between the call to parse_options() is terminated and the call to start_gui() is performed

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@735 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-06 00:05:50 +00:00
elvez b6da06e014 - Added a touch of class to the plugin management system. Now we do things (more or less ;-) ) like gaim does!
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@734 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-05 21:30:08 +00:00
elvez 27ac53330e - Written what I could for commandline options parsing, it will take a lot to move from this point if I can`t find adequate documentation for the option parsing system of Glib...
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@733 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-05 21:00:57 +00:00
tchernobog 331bf0c9e5 - Empty test-history
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@732 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-05 17:21:05 +00:00
elvez 45cc6733e4 - Fixed plugin interface. Now both plugins are loaded. Not tried calling the exported functions, though...
- To make sure libraries are not loaded multiple times, only .so files are considered. Beware that this is not portable

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@731 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-05 17:03:04 +00:00
paolo f181c93527 - added global_preferences_serielizer
- TO DO - test-program not finished



git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@730 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-05 16:01:44 +00:00
tchernobog d7ca106d89 - Add about dialog as an extra example on how to use libglade with
signals
- Remember that sigc::bind exists for passing extra parameters to
called methods/functions


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@729 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-05 15:16:58 +00:00
tchernobog 41d20ba6eb - Move to libglademm to handle GUI creation. This is experimental,
but should greatly help in reducing development times


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@727 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-05 14:37:11 +00:00
tchernobog 1b018234be - Make me compile! (this doesn't necessarily mean it runs, though.)
- Fix SWIG interface to correctly manage things
- PythonPolicyManager isn't a singleton anymore. Since I did this in
a bit of a hurry, check the modifications are right


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@725 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-05 12:46:12 +00:00
paolo fee643d3f3 - added files to write to and read from configuration files
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@724 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-05 12:32:16 +00:00
paolo 90fc0c6c95 - addedd files to read/wride configuration files
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@723 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-05 12:31:07 +00:00
tchernobog cd9a73ee0e - Move macro for checking for GCC visibility support to a separate file
- Delete the "serialize()" method of concrete_environment, since useless


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@721 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-05 11:11:50 +00:00
tchernobog 3e83f4db23 - Fix return type of Scheduler::get_policy() before going to bed
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@718 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 23:12:28 +00:00
tchernobog 22af0b9cdd - Add method to set a request state
- Work on step_forward() a little more
- Add extra check inside dynamic_thread()::decrease_remaining_time()


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@717 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 23:09:10 +00:00
elvez dd4898ca55 - Added SerializeVisitor class and written various serialize() methods
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@716 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 22:34:39 +00:00
tchernobog fcc9e93827 - Let the user disable the new GCC 4.0 visibility support
from configure. This is mainly there for buggy compilers / binutils.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@715 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 22:17:02 +00:00
tchernobog b7d61d5c56 - Fix compilation
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@712 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 19:53:58 +00:00
tchernobog 5ab575dffd - Minor modifications to step_forward()
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@711 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 17:17:31 +00:00
elvez 401c569a9f - Updated interface of pyloader to comply with the new plugin management system`s requirements
- Commented a lot of code to make it compile-able. But still it doesn`t link (at least for me...)

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@710 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 15:05:04 +00:00
tchernobog b65adbe1cc - Empty the main
- Delegate plugin loading to PluginManager so that it can
be tested


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@709 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 11:09:45 +00:00
tchernobog a378239d60 - Only schedule Threads. Ditch support for Policies deciding
if they want to schedule Threads or Processes altogether
- Move setter methods for last_acquisition/last_release from
DynamicSchedulable to DynamicThread
- Rewrite aforesaid methods, along with the respective getter
methods, into Dynamic(Thread|Process)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@708 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 10:46:15 +00:00
tchernobog 736aa25456 - Change pkg-config file to use ${prefix}/include
rather thant ${prefix}/include/sgpemv2: users will
be able to use directives like "#include <sgpemv2/scheduler.hh>"
in their headers, which reduces name clashes.
- Make _mutex a protected member of Singleton, so that
inheriters can recycle it :-)
- Add exclusive access control for step_forward()
- Add two states (future and exhausted) to Request


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@707 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 10:03:43 +00:00
tchernobog 899e20323a - Write some more of Scheduler::step_forward()
- Noted some design lackings, warning the designers


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@706 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 09:30:45 +00:00
tchernobog cb3305c425 - Fix compilation of backend::Module
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@705 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 08:27:51 +00:00
elvez 9a7b39ed82 - Completed plugin management system. Now we should start using it...
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@703 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-03 22:01:19 +00:00
tchernobog 9856a86c87 - Start implementing Scheduler::step_forward(). Whoohooo!
- Changed Schedulable::get_remaining_time() in get_elapsed_time()


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@702 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-03 21:55:09 +00:00
tchernobog 94f7c1d127 - Fix compilation of libbackend.so
- Erased Scheduler::step_forward(): reimplementing from
scratch


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@701 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-03 20:55:19 +00:00
tchernobog e2fc34f16b - Finish writing ConcreteHistory. That was nasty!
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@700 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-03 20:10:51 +00:00
tchernobog cb8e8dabc7 - "You got another thing comin'" -- Judas Priest
- Add get_request() method to (Dynamic)SubRequest.
- Implement most of ConcreteHistory. It is a fairly complex class,
with some real evilness in it. It should be thouroughly documented 
ASAP.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@699 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-03 18:52:50 +00:00
elvez 68b92db976 - Doh! I forgot to add invalid_plugin_exception.cc
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@698 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-03 18:31:24 +00:00
elvez fac2a08e26 - Written code for plugin management system, some code is missing (Matteo, please...)
- TODO Integrate this new plugin management system into the application

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@697 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-03 18:29:44 +00:00
tchernobog 7d62f4b937 - Mega-update. Take it while it's hot... but my brain's frying!
- Fixed all Dynamic and Static entities lacking proper destructors:
Dynamic entities need to delete Dynamic children, Static entities
need only to delete them from the list of their siblings
- Added methods to get Static "core" from Dynamic*.
- Now get_core() is a pure virtual function into DynamicSchedulable.
A quite nice solution(?), really, if I can say that myself... ;-)
- ConcreteHistory is half-implemented. It's the other half that 
worries me.
- TODO: finish off ConcreteHistory, and check that things get destroyed
properly (no leaks allowed, use valgrind).
- TODO: rework Simulation
- TODO: Scheduler rewrite
- *A side note*: this code is becoming a mess. I prefer references over
pointers, but someone other prefer pointers over references, and what
happens is that you've to continously pass from one to another when
invoking other methods... this is bad.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@694 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-02 22:20:03 +00:00
tchernobog 787d24964b - Big swing of untested code, all for you verifiers :-)
- Fix ReadyQueue constructor
- Change DynamicSubRequest to take an int as a parameter
- Implement ConcreteEnvironment::get_request_queue() (my word, it's ugly!)
- Please note that it still doesn't compile right: ConcreteHistory
and Scheduler need to be radically changed


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@692 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-02 17:38:30 +00:00
tchernobog 55c6b23d31 - Fix visibility outside the DSO
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@691 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-02 15:38:38 +00:00
tchernobog b8f7083bfc - Write interface for History and ConcreteHistory
- Write interface for HistoryObserver
- Remove obsolete interfaces


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@690 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-02 15:27:30 +00:00