I appreciate your reply, Joe.
But I do not think this is off-topic, though. If we are going to discuss the details of your project, Ptolomy, right, then it would have been off-topic, I think. But I'm talking about GCC, therefore I believe this is the right place to post these ideas. What I am trying to say is that there is an additional realization of dynamic binding, which is called matrix linking. There are other's realization of that idea, like Darwin project for instance, but all of these realization has one serious stumbling block which makes their use almost impossible and therefore these realizations have only academic interest, but practically they are useless. And this stumbling block is that you need to 'suspend' the application when you do dynamic binding, moreover you should have all the threads finished inside that code which is going to to re-bind. This is a huge problem. New approach, which I have called Matrix Linking does resolve this problem, it means it becomes possible to make binding right on the fly, without any threads suspending, directly in multi threaded application. I believe this is quite interesting idea in order to be shared with GCC community. I do not think this is a professional reply, saying 'Nothing new here: add a level of indirection...'. I believe the idea has a future, just imagine what opportunities it gives to developer, manager, analyst and clients. I would like the community would have considered the idea. I am ready to answer all the questions you might have.

Yours sincerely
George.
http://docs.georgeshagov.com/twiki/tiki-index.php?page=Matrix+Linking

Joe Buck ?????:
I wrote:
Nothing new here: add a level of indirection (or use C++ virtual
functions), and dynamically load code.  In the Ptolemy project
(http://ptolemy.eecs.berkeley.edu/) we were doing that in 1990:
we could define new classes and load them into a running application,
without restarting.

On Sun, Nov 18, 2007 at 09:33:16AM +0300, [EMAIL PROTECTED] wrote:
Is this a thread safe operation for your Ptolomy project?
Should you suspend the application in order to load 'new classes' there?

We're getting off-topic for the list, so I'm answering off-list.

The operation could be made thread-safe with appropriate locking (the
15-year-old code did not have this locking, but it's trivial to add).  It
used the object factory pattern, in which each class has a clone method
and there's support for adding a new, dynamically linked class to the
master list.  If other threads are running and these threads are not in
the act of creating new objects from the object factory, they can run in
parallel.


Reply via email to