C++ design question

R

RM

We have several hundred classes that essentially implement a variety of
features in our system. Communication between classes is via message
passing. Each class acts like a process, getting a time slice to process
any messages in its queue.

These classes are all at some point involved in a no down-time software
upgrade process that has little to do with their main function. This
upgrade process is really complex, with dependencies between classes,
involves the transfer of dynamic data from old version of class to new
version, with a central controller keeping track of which classes have
upgraded and which have not. Any class can abort the entire sequence if
it fails to respond.

One of the things we want to do is improve reporting from the classes so
we can detect classes that are blocking the process.

I thought of requiring each class to support new methods that would
implement a query interface to report status information, but since the
classes are largely independent of one another, this would not be feasible.

Another approach would be to introduce a friend class into each feature
class that would include a query interface and possibly even methods to
handle most of the logic related to software upgrades.

Anyone have any recommendations in this regard or other approaches that
might be used?

Thanks,
RM
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,183
Messages
2,570,967
Members
47,517
Latest member
Andres38A1

Latest Threads

Top