Labels

Friday, June 21, 2013

Development Work on Blackboard System is Still Plodding Along

I can safely say that this Blackboard implementation is taking a long time to design.  The real reason is that I only have a short period of time during the day in which I can attack the problem.  My job and home life take up a lot of my time and there are precious few moments in which I can be by myself doing the things that I like.  That is why I just plod along with the design, touching it here and there throughout the day when I have a moment to myself.

To date, I am trying to come up with a scheme to get the Knowledge Sources created and working within the Blackboard Controller structure.  I decided on making the Blackboard Controller run a state chart system as the Control Plan.  The first Control Plan executed is a bootstrap which loads the top level control knowledge source.  My first implementation of the Top Level Control Knowledge Source (TLC_KS) is driven by a builder pattern.  Later on, I will modify this TLC_KS to be able to load it from a set of XML descriptions.  That TLC_KS is the main element which causes all of the other knowledge sources to be loaded, some with their own control plans, the blackboard elements, and the top level control plan which orchestrates everything.  The top level control plan represents the problem to be solved and is composed of lower level elements arranged in a hierarchy.  The nature of a blackboard system is that at any moment a decision could be made to change the plan that is being executed.  That change is controlled by knowledge sources that react to the current state of the information on the blackboard.

I am just having fun putting the design together, learning about this type of system, and working through the thought process.  So what do you do for fun?