4.1 Distributive Cooperative problem solving
To solve a complex design problem, there is a need
for a large number of tasks to be performed. If all the necessary
tasks were successfully incorporated within a single code, the
code will be of such immense size that it will be impossible to
maintain it. It will be very difficult to read the code for any
modifications or additions. Hence, it is necessary to break down
the large problem into small and manageable sizes so that procedures
can be written to perform each individual task. These small tasks
are easy to manage and can be controlled through a central controller.
The controller is responsible for distributing the tasks and organizing
them based on their relative importance. This concept is called
the distributive cooperative problem solving method. To implement
the above idea a blackboard approach is adopted.
4.2 Blackboard approach
4.2.1 Basic concepts
The blackboard approach [10] is a powerful means
of flexibly combining individually developed software systems
and modules into a single integrated application. The GBB software
development environment is based on the blackboard approach. The
GBB is an object-oriented environment for developing high-performance
software applications in which software modules interact in much
the same way as human experts collaborate to solve complex problems.
Figure 4.1 The basic concept of blackboard approach
for problem solving
A GBB application consists of three major components
as shown in Figure 4.1.
4.3 Implementation of blackboard approach
The basic algorithm of INFINTE (INtegration
of FINIte element method and Taguchi design of Experiments)
software developed for this project is based on the blackboard
approach of distributed cooperative problem solving. The development
strategy for structuring the blackboard database involves careful
consideration of various knowledge sources that are going to be
built, the existing expert tools that are to be integrated, and
the various objects that are defined. This has been explained
in the Figure 4.2.
Figure 4.2 Implementation of blackboard approach
for INFINITE software
The following sections explain the details of the
data structure created using the blackboard approach, the control
shell and the knowledge sources.
4.3.1 Blackboard
The blackboard for INFINITE software
consists of different blackboard panes with the spaces defined
in each of them. The spaces are characterized by the units that
will be stored in them. Under each unit space, various classes
are defined. The unit classes contain the structure of data type,
various slots to store the information pertaining to the unit
class, and the links between slots of one unit class and another.
The following are the three different blackboard
panes meant for manipulating the information.
This blackboard pan contains the orthogonal array
unit space. Under this unit space, the basic structure for storing
each orthogonal array is defined by means of orthogonal array
unit class as shown in Table 4.1. All the information pertaining
to orthogonal array such as the number of levels, maximum number
of design variables, the total number of experiment to be conducted
and level combinations of design variables are stored by means
of slot variables. Once the unit space is instantiated, the instances
of each orthogonal array will be generated. Later on, any
particular orthogonal array can be retrieved to conduct the design
of experiments.
2.Levels
3.Max-factors
4.Total-number-of-dv
2. Relation-list
3. Initial-level-value
4. Description
2. Material-name
3. Property -value
2. Level-value
3. Description
2. Material-no
3. Material-as-level
4. Property-name
5. Level-value
2. Type
3. Description
The defined model blackboard contains element types unit
space. This unit space is meant for storing the type of element
used in the finite element analysis. As explained later, the selection
of objective function variable is in most of the cases based on
the element type being used. The instances of typename
is created once the ANSYS input file is read.
The variable blackboard contains parameters and objective unit
spaces. The parameter unit space has 4 different unit classes
viz. defined parameter, defined material, design parameter
and design material. The defined parameter and defined
material unit spaces are meant for storing the information
pertaining to all the parameters and materials defined in the
ANSYS parametric input file. The design parameter and design
material unit class stores the information related to the
independent design variables. The instances of the design parameter
and material is created during the selection process of independent
variables. The objective unit space is meant for storing the data
pertaining to objective function.
4.3.2 Control Shell
The control shell executes the knowledge source in the logical
order. In a more complicated environment, where each knowledge
source will be executed based on the available information on
the database, the control shell plays an important role.
4.3.3 Knowledge Sources
The knowledge sources can be developed using object oriented common-lisp
programming, C program or external software which runs outside
the common-lisp environment such as finite element analysis software,
etc., The various numerical and logical values which are generated
during the process of running the knowledge sources are posted
in the blackboard database.
Some of the tasks of knowledge sources developed for this project
includes the initiating the database, reading the ANSYS file,
retrieving the assigned variables and materials, creating the
orthogonal array table, creating the graphical user interface
windows and command buttons, selecting the design variables, number
of levels and objective function, automatic selection of an orthogonal
array, conducting the finite element experiments, reading the
process parameter variables, calculating the main effect, and
the percent contribution etc., The complete listing of all the
knowledge sources and their task is given in
Appendix A.
The major advantage of the blackboard approach is
that the blackboard can be used to organize knowledge in a modular
way and the knowledge sources can be across different computers.
In addition to this, the object oriented approach can be used
for efficient data handling.
Blackboard Unit Space
Unit Class Slot-Variables
1.DOE Orthogonal-arrays
Orthogonal-array 1.OA-name
2.Defined model Element types
Type-name1.Element-name
3.Variable 1. Parameters
1. Defined parameter 1. Variable-name
2.Defined material
1. Material-no
3. Design parameter
1. Variable-name
4. Design material
1. Material-name
2. Objective Function
1. Variable-name
Table 4.1 The object unit classes and slot variables