Computers in Industry 18 (1992) 77-89 Elsevier
77
Knowledge Engineering
An object-oriented knowledge-based system for manufacturability of printed wiring boards Sisir K. P a d h y l a n d S.N. D w i v e d i Concurrent Engineering Research Center, West Virginia University, Morgantown, WV 26506, USA Received January 29, 1991 Revision accepted April 29, 1991 Design for manufacturabilityhas been proved to be a solution that avoids the problems created by design not amenable to manufacturing.The designershould be aware of the manufacturing constraints to achieve the design for manufacturability. The rapid change in printed circuit board manufacturingwith the induction of surface mounted components and robotic assembly has changed the scenario of the design. The highdensity packaging capability of surface mounted technology has contributed enormouslyto the developmentof new trends in printed wiring board manufacturing. PWBMA,Printer Wiring Board ManufacturabilityAdvisor (printed wiring board is another name for printed circuit board), a knowledge-based system, is developed to capture this new technology and its interaction with the existing through-hole mounting technology.Rules and guidelinespertaining to manufacturabilityof the board are formulatedand incorporated into the knowledgebase in building the system, which is built on an object-oriented paradigm. The importance of the object-oriented approach, the implementationof the object-oriented paradigm, object-oriented programming using Smalltalk-80, and the hierarchical rule structure paradigm are discussed. The implementationof recta-level to increase the efficiencyof the system is also presented. Furthermore a rating system is introduced to rank various designs. FWBSiAis capable of suggestingdesign modificationsat the early stage of design to eliminate the manufacturing problems in the later phase of board production. The system is very easy to use with a broad user interface. Keywords: Artificial intelligence, Knowledge-based system, Object-oriented programming, Printed circuit board, Manufacturabilitystudy. 1 Present address: Appliance Park, General Electric Company, Louisville,KY 40225, USA.
1. Introduction The role of artificial intelligence (AI) has been established in the manufacturing and design community as a design or manufacturing aid to ill-defined and diverse problems. The importance of AI can be realized in various domains of engineering starting from material selection to production and packaging. In the integration of CAD and CAM, the knowledge-based systems are taking a primary role. Recent developments in knowledge-based systems have a tremendous impact in the production world. Knowledge-based systems are functioning as assistant, colleague and expert in today's industries. However, the application of AI in the electronics manufacturing domain so far is very limited. Again with the recent trends of design and manufacturing involving concurrent engineering practices, the key role of the knowledge-based systems in providing a common knowledge platform has been realized. The purpose of the concurrent design methodology is to let the designer know the consequences of his design decision in the manufacturing and assembly stages as well as in subsequent operations. Their role in D o it right the first time is very important in providing technical aid to the designers or manufacturers to optimize the design or manufacturing setups for a cost-effective and reduced time production. The Institute of De-
0166-3615/92/$05.00 © 1992 - Elsevier Science Publishers B.V. All rights reserved
78
Computers in Industry
lOrowledgeEngineering
lense Analysis (IDA) defined concurrent engineering (CE) in the report R-338 as follows [1]: "Concurrent Engineering is a systematic approach to the integrated, concurrent design of products and their related processes, including manufacturing and support. This approach is intended to cause the developers, from the outset, to consider all elements of the product life cycle from conception through disposal, including quality, cost, schedule, and user requirements." Design for manufacture and assembly as well as design for reliability, testability, etc. are the major part of concurrent engineering. Consideration of all disciplines in parallel to achieve a global optimum in production, results in better initial design and requires fewer reworks to compensate for problems discovered downstream. This consequently shortens the design as well as production cycle time and reduces cost. Figure 1 illustrates this concurrent paradigm and the role of the manufacturability advisor PWBMAin this scenario. To address the manufacturability of the design of printed wiring boards, a knowledge-
-
-
Sisir K. Padhy obtained his bachelors degree in mechanical engineering from Orissa University of Agriculture and Technology, Bhubaneswar, India with first class honors. He was awarded the Gold Medal for securing the top rank in the engineering division of the University for the year 198% He holds a master of science degree in mechanical engineering from West Virginia University with research focus on artificial intelli-
General Electric Company. He has published ten technical papers to his credit. Suren N. Dwivedi is a Professor at the
mechanical engineering department at West Virginia University. He has published more than 100 technical papers and edited three conference proceedings. He was a visitng Professor to the Robotic Institute at Carnegie-Mellon University during 1987-88, He is the founding Chairman of the International Society for Productivity Enhancement and the International Conferences on CAD/CAM, Robotics and Factories o f the Future, He is also the founding editor of the International Journal of System Automation, Research and Applications (SARA). He has been elected as an outstanding researcher at the West Virginia University in 1989 and 1990. His interest lies in the areas of robotics, design&manufacturing automation, metal forming processes and applied artificial intelligence.
CONCURRENCY I ~ L B LACKBO A~/~_~ MANAGEMENT ARCHrrECTURE
1
ffTHERMAL & ADviso"~ LTE fDESIGN FOR YsisSPEC'AL'ZED ,N, I ,.EL E Ty r ''L Y A,WSOR)/"~ ADVISORY TOOLS If COMPONENT'~ |rMANUFACTURABILITY •]
TOOLS
~.OESmN
)
TOOLS & WORKCELL Fig. 1. Concurrent scenario of printed wiring board production (PPO = product and process organization; LCM ffi local concurrency manager).
based system has been developed and applied to hybrid technology (combination of surface mounted technology and through-hole mounted technology).
2. Previous work
The General Electric Company has developed the MRS (Manufacturing Rating System) knowledge-based system [2] for through-hole component assembly. Struttmann [3] applied design for manufacturability (DFM) principles to printed wiring board producibility. His software, written in ANSI C, consists of 47 production rules and is limited mainly to the assembly of through-hole components. McKirachan and BaG [4] described the DMRS (Design Merit Rating System) for assembly of the printed wiring boards using surface mounted technology. Questions and design parameters are weighted to calculate an overall rating of the design. The system was able to rate the design from the assembly point of view. In another work, BaG [5] described the PCn-DFM expert system for assessing the assemblability of the printed wiring boards with the rating scheme
Computers in Industry
S.K Padhy, S.N. Dwivedi / An object-oriented knowledge-based system
based on his previous scheme. However, the software is limited to assembly considerations and focuses primarily on surface mounted technology. In an earlier effort, Padhy and Dwivedi [6] built a knowledge-based system using VP-Expert shell with forty-five rules. The system has very limited capability and a poor user interface. In a recent paper, Wilson et al. [7] from Texas Instruments presented an integrated tool set for printed wiring board design with emphasis on circuit design.
3. System development 3.1. Object-oriented programming
Object-oriented programming is a recent methodology for a new way of thinking about programming applications. It also provides a new way of addressing problems and appropriate tools to develop their solutions. With complex engineering problem solving, it becomes necessary to represent the problem and data in a more effective manner than that of the structured programming paradigm followed at present. Object-oriented programming is a methodology that employs data abstractions, called objects, as the basic structure of the program. Data abstraction refers to defining data by the way in which it may be used rather than by what it is. It allows the development of data representation that emphasizes important properties of the system while concealing the details of how properties are stored in the computer. The use of data representation produced by the abstraction process results in a software that is flexible to changing needs and requirements. Object-oriented programming (OOP) [8-10] considers the system as independent objects that interact and perform operations on their components. The strength of the approach is the way in which a complex system can be expressed in terms of its objects and their relations rather than addressing the system as one large problem. In essence, OOP represents a hierarchical representation of the problem and the problem solving by object manipulation. Smalltalk-80 [11] has been used as the programming language. A task is accomplished in Smalltalk by sending messages to objects, which encapsulate some state or a data structure to-
79
gether with the only available mechanism for changing the state. To discover or modify the state of some object, suitable messages must be sent to the object (receiver). The message performed by the receiver is entirely its own concern; other objects need not know or care how a particular object decides to implement a certain function. OOP is an attractive alternative to more traditional approaches, especially when the problem either decomposes into objects and their respective behavior naturally, or has no obvious control, i.e. what is to be done next is unknown. OOP speeds up the development of the software effort tremendously because of its inherent capability, reusability of objects and its data encapsulation. 3.2. PWBMAknowledge base
The heart of any expert system is the knowledge base. The system can be good or bad depending upon the quality of the knowledge base. In acquiring the domain knowledge for PWaMA, the description and introspection forms were followed. Experts from industries were consulted for the rule formulation as well as for knowledge sources during the development of the system. Moreover, the pertinent sources of knowledge were studied based on the recommendations and advice of the experts, and knowledge was acquired from those sources for developing PwaMA. Various standards, handbooks and literature [1216] were also surveyed to acquire the latest knowledge. Guidelines and rules were formulated after considering all available knowledge sources; the advice of experts were also incorporated into the knowledge-base. The knowledge base [17] includes knowledge regarding both the surface mounted technology and through-hole mounted technology, thus forming a hybrid knowledge base. Single-layer as well as multi-layer boards are considered from the design-for-manufacturability stand point. The design aspects that are considered include the number of layers, panel layout, hole size and hole locations, composite thickness, conductor width, terminal area, spacings, drilling of holes and drilling speed, plating, soldermasking, allowed tolerances, artwork and material. In the system the knowledge base is broadly divided into dictionary, declarative knowledge base and procedural knowledge base.
80
lOzowledg,,Engineering
Computers in Industry
3.2.1. Dictionary The basic principle behind creating the dictionary is similar to that of any language dictionary. All the words/objects created in the knowledge base belong to the dictionary and any words/objects outside the scope of the dictionary are invalid in creating the knowledge base. The dictionary can be used to store futuristic ideas, to help visualize the object relations in a graphical structure, and to prevent the developed from making errors in building the rule-base. An entry in the dictionary has the following structure:
display the graphical representation of the object (attribute) relationships. In the attribute relation graph, the root atrribute appears to the left with the consequent attributes to the right. Attributes are displayed as text strings and mode connections ar:, shown using straight lines. By selecting a particular attribute the attribute tree can be displayed. Figure 2 illustrates the PWBMA dictionary and the attribute tree in a graphical manner.
attribute antecedent attribute tribute value
RuleName kb#: IF subtask 1 and subtask 2
3.2.2.. Declarative knowledge base The rules have the following format in PWBMA:
consequent at-
The word length of any attribute belonging to any of the four entries cannot be more than two words, but two words are sufficient to build any object and any kind of hierarchy of attributes. For example, a sentence like board border allowance is present is made of board as antecedent attribute, border as attribute, allowance as consequent attribute and present as value. The dictionary is connected with a graphical browser to
find subtask n THEN conclusion Although it is optional, while creating the rule a rule name is given to the rule. The kb (knowledge base) number is automatically added to the rule
A t t r i b u t e Tree I d r i l l i n g
mFgnet I Dictionarg B r ~ dimension manuqaotur~drill absmnt ~ drill index present
d p l i l i n e ~ |/ndd~etxz z
dta
~speed
~s~bindex
speed subindex IMge Index inner lagm
Lt:::.b,w
lager
~lldes
masking Raterial uthod ~Fg
[ gn f l n n u l jl~
legend location unuWaeturJ
xfJ
--
/
' / t Nawe rO | r o u t t ~ - ' l nde x ~ ~.~SP&O InS between I aVBPS t ~s;ubindex / /index r ~Zoeatton [ o o n d u o to x ~ - - P o s i t | on [ ~ S p a o trig b e t w e e n | aMea~s
/ ; p w b/[
~ie reglst=l number /
mnel me|tien
prepog
Jprocese Ipub
required u: screening
~|Zlg SiZe ~----"a II | o w a n o e
--
\ ~;*r
Sr
~width
/ / o u Foil thiokness ///diei e°tPl °'~index ~/ sPao,ng ~ r / d i Mens I on i /~|ndex b°a~dl ~ ' ~ | nne~ l a v e ~ a I eaz~znoe ~
betwee
/ i n d e x
|\\ ~: q e e ~ - n u m b . n
sheet i
llJ
•
Fig. 2. Dictionary and attribute browsers showing the objects and their relations.
n
lay
el
Computers in Industry
S.K. Padhy, S.N. Dwivedi / An object-oriented knowledge-based system
THEN board index is evaluated
after it is created or defined by the user. Making a rule with a name helps to organize the rules into a rule group and thus it becomes easy to access them. This facility also helps significantly in knowledge debugging. In PWBMA, the last subtask of the rule structure contains a message to the procedural knowledge base about the grade or comment or both. This subtask is a predicate and in the form:
This rule has four subtasks to solve, and the last one contains a message grade:comment to the receiver kb. Upon receiving this message, the knowledge-base assigns the grade, a value and accumulates the grade. The numerical values are incorporated in the rules first using a variable and then substituting a numeral for the variable. The rules use x and y as variables with extensions; thus, x~, x 2 etc. and y~, Y2,-.., etc. are also variables. The variables can be added, subtracted, divided or multiplied and compared to numerals or variables, in contrast to other programming environments, the rules in PWBMA are developed using a natural language. The SPOL language used in rule building is very powerful in achieving the degree of naturality. The declarative knowledge base and meta knowledge base are illustrated in Fig. 3 with declarative rules and knowledge sources. The goals in the MF6 knowledge base are organized into a hierarchical structure. The rule
[kb grade: $1etter Comment: aString]
....
An example of rule from the PWBMA knowledge base is: boarder01 kb23 IF technique is smt or thmc or dual and board border allowance is x and [x < 1] and [kb grade: $D comment: 'The border allowance should be 1 inch, for better allowance in cutting out small pieces out of manufactured board.']
mFgmot I DeolAra¢|ve border01 kb? bordere2 kb? kb c i r c u i t 0 2 kb c i r c u i t 6 3 kb c ircu ire4 oircuitOS circuit06 o f r cu i ~ O ? circuite8 c ireu i~g
KU
rating rating rating rating rating rating
is is is is is is
1, 2, 8, 4, 5, fi
,
urowser
BOABD!HDEX kb73: [F b o r d e r index i s e v a l u a t e d and s i s r e g i s t r a t i o n index i s e v a l u a t e d and conductor index i s e v a l u a t e d end lauur index Is e v a l u a t e d and s u r f a c e i n d e x i8 e v a l u a t e d and [kb index: ' b o a r d ' ) matt: met,?.: sstB: ms~4: matS: ms~6:
source i s borind,
source source source source
is is is is
n o r m st i v e mriud, normative c o e i n d , normative iagiv~d, normative s u r i n d , normative
bilitg
Br~l~,
~ nnula~ ~l
~
bo~ae~
Pcuit~
~oi
I
©onducto~l
7
~ borind mkbZ skb3 mkb4 ukbS mkb6 ~bV
81
~u
£ o i 1 ~
die]eot~ic
~ate~ial
s
rating is I ~
Fig. 3. Declarative knowledge base and declarative meta-knowledge base with rules and knowledge sources.
82
KnowledgeEngineering
MFGINDEXcontains the main goal as evaluate mfg index with four subtasks; out of these three are subgoals and the fourth one is the predicate. The subgoals are: (1) evaluate board index; (2) evaluate manufacturing index; (3) evaluate process index. These subgoals in turn consists of other subgoals. For instance, to evaluate the board index the inference engine has to solve for the border index, mis-registration index, conductor index, layer index and surface index. The benefits from this hierarchy of rule structure include: (a) The consultation can be done only part by part. If a subgoal produces a poor rating, then the design parameters of that particular subgoal are studied thoroughly for improvement. The main goal is improved by improving the subgoals. (b) Understanding the inference problem solving becomes easier since the conflict set contains a small number of rules.
3.2.3. Hierarchical Rule Structures The rules pertaining to the printed wiring board domain are classified under several groups pertaining to a major activity in board manufacturing or assembly. Each group consists of several rules containing several design parameters. If one parameter is satisfied in solving for the group goal, the system will stop from further analyzing the rule base because the goal has been found. However, this is not the right strategy to check for all the design parameters in a group. Hence, a hierarchical organization of rules under a rule group is carried out (see Fig. 4). The common if-premises (antecedent subtasks) of the rules are
Fig. 4. Hierarchical structure in PWaM^.
Computers in Industry
taken out and they becomes the if-premises of the top-level rule of the group. Then, the rules are organized such that the conclusions of the low-level rules become the if-premises of their higher-level rules. A psuedo rule hierarchy is presented in the following example for sake of clarity.
Rules without hierarchy 1. IF the process is m and compl is axil and dpm is 1 and [kb grade: $A] THEN process index is evaluated 2. IF the process is m and compl is axil and dpm is not 1 and [kb grade: SD] THEN process index is evaluated 3. IF the process is m and comp2 is radii and pdm is 2 and [kb grade: $A] THEN process index is evaluated 4. IF the process is rn and comp2 is radii and pdm is not 2 and [kb grade: SD] THEN process index is evaluated In the above rules the conclusions being the same, after one rule is satisfied from the above four rules, the system will stop and produce the conclusion for the process index. For instance, if the matched rule is 1 or 2, then the design parameters connected with comp2 are not considered in the problem solving. If the rule matched is 3 or 4, then the design parameters connected with compl are not verified. However, in a multi-parametered design consideration it is neccessary to verify all parameters. Hence, these rules are represented in a hierarchical manner.
Computers in Industry
S.K. Padhy, S.N. Dwivedi / An object-oriented knowledge-basedsystem
Top level (zero level) of representation
1. IF process is m and process compl is evaluated and process comp2 is evaluated THEN process index is evaluated. Intermediate level of representation
2. IF compl is axil and process subindex is 1 THEN process compl is evaluated 3. IF comp2 is radii and process subindex is 2 THEN process comp2 is evaluated Low level representation
4. IF dpm is 1 and [kb grade: $A] THEN process subindex is 1 5, IF dpm is not 1
83
to prove them. To prove these, the antecedent subtasks of the rules in the second level are solved. The antecedent subtasks process subindex is 1 and process subindex is 2 in turn are the goals task for the rules in the lowest level. Hence, the inference mechanism tries to solve the rules in the low level and continues backwards to reach a conclusion for the process index. This hierarchy of rule paradigm is the key to solving multiparametered designs.
3.2.4. Rule consistency Another problem in handling a large system like PWBMAis the consistency of the rules incorporated in the knowledge base. For example, the following is a valid rule:
IF drilling is present and drilling speed is 260sfm and [kb grade: $A] THEN drilling index is evaluated This rule consists of three subtasks and one conclusion. However, if the user provides an intial design as drilling is absent and drilling speed is 260 sfm, then the system will stop without solving the problem, for it will not find any rule dealing with such infeasibility. To avoid such problems, a rule is added to the knowledge base as follows:
and [kb grade: $D] THEN process subindex is 1 6. IF pdm is 2 and [kb grade: $A] THEN process subindex is 2 7. IF pdm is not 2 and [kb grade: $D] THEN process subindex is 2 When the goal is evaluate process index within this rule structure, the system tries to prove the antecedent subtask of the top-level rule, i.e. process compl is evaluated and process comp2 is evaluated. These are the conclusions of the rules of the intermediate level. Hence, the system tries
IF
drilling is absent and [kb comment: 'as drilling is absent no need to be concerned with drilling problems'] THEN drilling index is evaluated Upon finding the initial data of drilling is absent, this rule will send a message to the knowledgebase (kb) which will conclude that as drilling is absent no need to be concerned with drilling problems. Hence, the designer can be aware of the inconsistency in the design. However, this rule does not contribute to the calculation of the rating since it has no message for grade calculation. In other words, this is a kind of dummy rule that enables the problem solving to reach a solution and reports the infeasible design parameter
84
KnowledgeEngineering
Computers in Industry
to the designer. This helps the solving process to proceed without stopping, as if there is no inconsistent data provided by the designer.
3.2.5. Ranking method The printed wiring board involves a number of independent parameters that affect the board's overall manufacturability. To compare different designs, a rating system based on a university grading pattern, which uses the letter grades of A, B, C, D with numerical values of 4, 3, 2, and 1 respectively is chosen. A grade is associated with each design parameter and a design parameter gets a grade of A if the design parameter satisfies the manufacturability criteria; B if it is acceptable, although not the best, i.e. some other value or method is preferred than this parameter value or method; C if the design parameter is not acceptable, but does not influence the manufacturability seriously; D if the design parameter is not acceptable, but influences the overall production.
3.2.6. Procedual knowledge base The procedural knowledge base contains procedures written using conventional or OOP lan-
guage. These procedures are called upon by the inference engine at the time of problem solving. They can be considered as external programs interlinked to the main program. In PWaMA, these procedures are Smalltalk methods. These methods are written to accomplish the tasks of initializing the knowledge base after each task or subtask is solved, assigning numerical values to the literal grades in declarative knowledge base and to calculate the overall ranking of the design, and to display design modifications on the conclusion screen of the PWBMA. In PWaMA, eight procedural methods are written. For example the method grade:comment: is as follows:
grade: aCharacter comment: aString I string I index .= index + (grading at: aCharacter). tail == tail + 1. DICEtalk iBase conclusions add:(Sentence new source: aString; rule: 'by procedural knowledge base', DICEtalk kBase name, 'grade:comment:').
[ 1)NT1 {R) (2)?T1 G O A L
Ix-157÷173/1
t 9)-T3 AND {dY
luZ- 15?+ 175/8.818
.•grade:comeent: index
mfg
Lnitlal Ize Index = 8 IETrue: [ ' t r u e ] . ~ g l e d e x := index := 8, t a i l := O. g r a d i ~ l := D i o t i o n a r U hey. Orading a t : SA put: 4; a t : SB put: 3: a t : $C put: 2: a t : SD put: 1.
lyt-ts?.t?4/e.e24
[ 4) ?T 1(9136 Ix- 168+ 187/8. 884 [5)~*T5 {BOARDIHD, H)I imeJmmmli~mmm--I [?)NT? AND { 6 ) I [8]?~5(R73 i [9)mT9 {borind, H) [18)?gT1 1173 [9) [11)NT11 AND { 3 } t 12)'/Tg(R74 [133-713 {D) I~ [14]78T1 R?4 [ 1 3 ] [ 15]+T13=AH81 {80: BE [ 16)~T16 {P) [17)?8T2 1174 [ 1 3 ) )Qard index 18 e v a l u a t e d and m a n u f a c t u r i n g index i s evalud and p r o c e s s index is e v a l u a t e d and p r e d i c a t e i s (kb mPglndexJ IFGIHDEX kbA3G: IF board index i s e v a l u a t e d and maBu£acturing index i s evalu~ ""~
. . . . . . . .
=1|717f
""
~ . . . . .
I ....
.-.~
Fig. 5, Procedural knowledge-base browser with procedure initialize and inference browser.
Computers in Industry
S.K Padhy, S.N. Dwiuedi / An object-oriented knowledge-based system
SolutionDisplay updateSolutionDisplay; true The message is sent to the knowledge base by the declarative rules in the declarative knowledge base. After the message is received by the knowledge base, the appropriate procedural methods are performed. Figure 5 illustrates the procedural knowledge base along with the inference browser. The method initialize is shown in the procedural knowledge base browser.
3.Z 7. Meta-knowledge The PWBMA contains more than 100 rules and the average problem solving time for these knowledge bases without meta-level is more than 10 minutes. The reason for this time consumption lies in the fact that the inference engine solves the problem with a large number of rules. Metalevel knowledge guides the problem-solving strategy so that the consultation time will be reduced. Meta-level knowledge is the knowledge about knowledge. It directs the knowledge base on how to use the knowledge that it contains. Meta-level knowledge is added to the PWBMA declarative knowledge base as knowledge sources. The knowledge source names are incorporated in the control advices for the rules in the declarative knowledge base. When the consultation begins, instead of all possible rules being in the conflict set, only the rules which are advised by the knowledge sources are considered in the conflict set, reducing the problem solving time. The implementation of m,,ta-level knowledge is explained by taking the following example. BOARDINDEX is a rule in the declarative knowledge base. It has five subtasks, and of these the first subtasks are normative. Control advices are described for these subtasks as given follows:
85
Control Advices: astl: ast2: ast3: ast4: ast5:
source source source source source
is is is is is
borind, normative mrind, normative conind, normative layind, normative surind, normative
The knowledge-sources in the meta-knowledge level are created as follows borind mkb234: source borind: rules are borderOl-oorder02 mrind mkb251: source mrind: rules are mregOl-mreg04 conind mkb246: source conind: rules are conductorOl-conductor04 layind mkb277: source layind: rules are layerOl-layer03 surind mkb291: source surind: rules are surfaceOl-surface04 When the rule BOARD]NDEX from the knowledge base is fired, the control strategy sees the subtask advices and refers to the corresponding knowledge sources. After examining the knowledge sources, the appropriate rules are used to prove the sub-goals. For instance, for the subtaskl, the knowledge source examined is borind. This knowledge source contains the index to the rules borderindex01 and borderindex02 in the knowledge base. Hence, the conflict set only contains the rules borderindex01 and borderindex02 instead of all possible rules to solve the taks border index is evaluated. Similarly, other tasks are proved and finally the goal is solved. With the introduction of the meta-knowledge, the consultation time is reduced from 10 minutes 20 seconds to 3 minutes 5 seconds with same initial data sets.
RuE BOARDINDEX kb136: IF boarder index is evaluated and mis registration index is evaluated and conductor index is evaluated and surface index is evaluated and [kb mfglndex] THEN board index is evaluated
4. Problem-solving architecture The problem solving of PWBMAis based on the problem-solving model of the DlcEtalk object-oriented knowledge-based environment [18,19]. Figure 6 illustrates the the problem solving architecture. The problem-solving model is object-oriented and based on a dispatch-managing problem-solving model. This model is a scheme for
86
KnowledgeEngineering
Computers in Industry
The dispatcher is created to solve a given task or inform about its failure. Dispatchers form a hierarchical structure, called a dispatch-managing network (DM network), according to the relation supertask/subtask between its tasks. The goal is the supertask (parent task) of its subtasks (child tasks). Each of the subtasks acts as a parent task to its own child tasks through the DM network. A dispatcher tries to solve its task if it is possible, or creates its child dispatchers that solve subtasks of their parent dispatcher. Each dispatcher collaborates with its parent and child dispatchers except a top dispatcher created for the goal. Child dispatchers inform its parent dispatcher about achieved local solutions from solving its subtasks. The local solution is written in working memory called a unifying composition,
organizing reasoning steps and domain knowledge to construct a solution to a problem. In other words, the central issue of problem solving deals with the question: What pieces of knowledge should be applied when and how? A problem-solving model provides a conceptual framework for organizing and a strategy for applying that knowledge. A dispatch-managing model is viewed as a natural study of how a group of individual solvers can eombine to solve a goal (problem). The present approach is to split the goal into simpler tasks and solve each of these tasks by a socalled dispatch-managing module (DM module). Such a module consists of a task dispatcher and a task manager. We suppose that the tasks are not independent, rather, they interrelate in some way.
Control panels
Knowledge panels goal
_•
goals I conclusions (
J1 supervisor Iq~
master
?
I
t I
i i l
inference
..~
answers
findings assumptions delineations
descriptive
dispatcher
databases
.~ const!aints normative
I
rules
I
J'l managem I
I
I
-
| •
|
i
procedural
managar
I
tasks
~.,,.oo.,=
--I procedures I"
parameters
u'nilyino composition
t
Id-
E
data
' 'knowleclBs ILl sources I--~ metaknowledgo
control advices
questions' " initdata I
="
( ....... oontrolflow; -- data flow) Fig. 6. Schematic of PWBMA problem-solvingengine (after[20]).
Computers in Industry
S.K. Padhy, S.N. Dwivedi / An object-oriented knowledge-based system
since this solution has to be unified in an appropriate way with other local results. If this unification fails, then the local solution is removed from the working memory and the parent dispatcher is informed about failure, otherwise about success. The actions of individual dispatchers may interact, in that success and failure for one such dispatcher may be partially or wholly contingent upon an action taken by another. Parent dispatchers create their child dispatchers and initialize its activity singly or concurrently (local concurrency). As child dispatchers solve their subtasks, the parent dispatcher suspends or resumes its activity, and also removes old unused child dispatchers and creates new ones. Each dispatcher is associated with a manager. The goal DM module is distinguished from the goal dispatcher and goal manager, called Prover. Prover creates the top dispatcher for the goal, and consequently the top one may produce its local child dispatchers and so on. The purpose of the goal manager is to provide global control strategy for all active dispatchers in the DM network (global concurrency). Other managers, called local managers, are associated with their local dispatchers in the DM network. Given a parent dispatcher, its local manager provides local control strategy for all its child dispatchers, or for used facts during task-solving. Roughly speaking, local managers schedule child tasks for their dispatcher tasks, and provide the global manager with ready child dispatchers, or schedule facts from a knowledge base relevant to their dispatcher tasks. Thus, the local control strategy decides on creating new child DM modules within the DM network, or decides what facts are used for local task-solving. The global control strategy decides on working DM modules within the DM network. The dispatch-managing model deals with problem-solving by separating a goal into a hierarchical structure of child tasks solved by DM modules. A dispatch-managing architecture is thus made up of four basic components that include: (1) The knowledge base: The main repository of goals, facts, control advices and co.routines. (2) Supervisor: The goal DM module deals with solving the goal. It creates the top DM module and controls a DM network activity.
87
(3) The DM network: The problem-solving tasks are kept in local DM modules organized into a hierarchical structure related to the current state of global task-solving. Each local DM module deals with local task-solving according to its local control strategy and a local knowledge-base taken as a subtask perspective of the knowledge base. Managers of local DM module are responsible to its dispatchers for local strategy which decides what actions to take next for the dispatchers. Communication and interaction among parent DM modules and their child modules take place through the dispatchers. (4) Workingmemory: Subtasks are created by dispatchers and supplied for solving by its managers according to control advices. DM modules produce changes in the working memory which lead incrementally to a global solution as a unification of all local solutions. Parameters are user defined characteristics evaluated by dispatchers and then used as arguments of procedure calls. The problem solving scheme involves three types of tasks, i.e. ATOMIC task, AND task and OR task. The AND task and OR task are solved without applying any rules and decomposition of the task into subtasks takes place. In the ANn task, all conjuncts are selected as new tasks. Each new task is solved by appropriate dispatcher. If the system cannot solve them, then failure occurs. In the OR task, the task is split and if one subtask is proved, then success is achieved, but if all subtasks fail then the dispatcher receives failure.
5. Execution The execution sequence for the system starts by loading the knowledge base and the goal is selected in the Problem Solving Browser. The execution of system is carried out in a batch mode consultation with an a priori created design file. The user creates a design file by providing initial data to the declarative knowledge base browser interactively for the first time and then saving the design. Once the design is in a file, design parameters can be easily changed to create new designs and to compare different result for different designs; consequently, the best de-
88
KnowledgeEngineering
Computers in Industry
mFgeet I P r o b l e e S o l v i n g Browser kbB3: kbq4: kbg5: kb.q55: kb364: kb.q72:
i
kb599:
kbfi01: kbfi63: ]~b~84:
ia-
evaluate board index evaluate manufacturing index e v a l u a t e p r o c e s s index " m a n u F a c t u r i n g index i s 2 . 7 8 " " f o r s h e a r c u t b o a r d s t h e s p a c i n g s h o u l d be a g l e a s t be 0 . 5 inch" [] " I r a t h a t 0 . 2 i n c h c i r c u i t s p a c i n g i t i s d i f f i c u l t t o have a i r reeov,[] " F o r s e x , Face mounted t h e t r a c e pad s p a c i n g b e t t e r b e g r e a t e r t h a t 0.01[] "proce~'8 index i s Z.2W' [] "ndFg i n d e x i s 2.79" [] mfg i n d e x i s e v a l u a t e d I lib
~- •
i-~,o~s
bu Tank ;r~,~.,er
T~)ee ~D" I T?8(R86- @ N D ~ : T 8 6
5 n ~ C c n s e ~ l u o n t s | b o r d e r i n d u~j ~' //~-~4"TG3
. .....
~4"=139
/\
,-Tgs
~-,-~-T149¢R154- RND
-T151
~÷1"157'(R155- AHD-~,t.T165'
"~4.T£69
HI
":::'1 *v£O0 ÷Txea
IHD'~-'~÷TI£1 [
/,*1"12l
4.T165
Fig, 7, Problem-solving browser and proof-tree browser.
sign is selected. For the batch mode consultation, the solve again option is chosen from the goal pane menu. To be able to capture the inference engine activities, the tracing option in the problem solving menu is kept at yes. During problem solving, the inference engine findings are displayed in the problem solving browser. After the problem is solved, the conclusions are displayed in the problem solving browser. A particular problem solving is illustrated in Fig. 7. In addition, the time spent in solving the problem is also displayed. The lower portion of Fig. 7 describes the proof tree, which provides the inference engine activities in a graphical structure. The T's describe a particular task and the number [236] which is displayed in the heading of the proof browser denotes the number of tasks solved to achieve the goal.
6. Conclusion
In this paper, an object-oriented knowledgebased system is presented. This is the first knowledge-based system to incorporate the hybrid technology, i.e. the combination of surface mounted and through-hole mounted technology, in creating such a system. Since the present trend has been toward hybrid technology [21], the system is capable of fitting into the real-world production. The declarative knowledge base in the system has been built using production rules in the form If-Then. The percept knowledge representation scheme is used to create the rules, and the procedural knowledge base is developed in Smalltalk80. A hierarchical paradigm is introduced to solve the goal in conjunction with several subgoals, and each subgoal in turn contains further subgoals.
Computers in Industry
S.K Padhy, S.N. Dwivedi / An object-oriented knowledge-based system
The incorporation of meta-level knowledge has resulted in the reduction of execution time by two-thirds. A rating method based on university grading pattern is utilized to rank different designs. Yet again, the feasibility of using an object-oriented paradigm in developing knowledge-based systems for engineering applications has been demonstrated in this paper. The system is capable of analyzing designs and suggesting design modifications for better manufacturing of the printed wiring board.
Acknowledgement The authors appreciate the helpful comments of Mike Cronin and Kevin Sullivan of Cognition Corporation. This work is sponsored by Defense Advanced Research Projects Agency (DARPA), under the contract no. MDA 972-88-C-0047 for DARPA Initiative in Concurrent Engineering (DICE).
References [1] R.T. Wood, "Principles and elements of concurrent engineering", DICE internal Report, Concurrent Eagineering Research Center, West Virginia University, Morgantown, WV, 1989. [2] C.W. $kaggs, "Design for electronics assembly", Proc. ist Conf. on Product Design for Assembly, Newport, R I, April 15-17, 1986. [3] J.D. Struttmann, "Design for manufacturability PC cards PL'RC,A post processor for scicards", Proc. 2nd Int. Conf. for Manufacturability: Building in Quality, Orlando, FL, November 13-15, 1988. [4] J.F. MeKirachan Jr. and H.P. Bao, "Producibility consideration for SMT printed circuit card assembly", Proc. 3rd Int. Conf. on Product Design for Assembly, Newport, RI, June 6-8, 1988. [5] H. Bao, "An expert system for SMT printed board design for assembly", Manuf. Rev., Vol. 1, No. 4, 1988, pp. 275-280.
89
[6] S.K. Padhy, and S.N. Dwivedi, "A rule based expert system for design and assembly of printed circuit board", 4th Int. Conf. on CAD, CAM, Robotics and Factories of the Future, New Delhi, India, December 19-22, 1989. [7] D.R. Wilson, C. Martin and K.K. Hutchinson, "An integrated tool set for printed circuit board design", Unpublished Work, Texas Instruments, Inc., 1993. [8] G.L. Fenves, "Object-oriented programming for engineering software development", Eng. Comput., Vol. 6, 1990, pp. 1-15. [9] D.G. Goldstein, "Ol~ject-oden~ed programming", DEC Professional, Vol. 9, No. 2, pp. 46-54~ February 1990. [10] T.P. Hopkins and M.I. Woiczko, "Writing concurrent object-oriented programs using Smallta~k-80", Comput. Z, Vol. 32, No. 4, 1989, pp. 341-350. [11] A. Goldberg and D. Dob~n, Smalltalk-80, The Language, Addison-Wesley, Reading, MA, 1989. [12] ANSI/IPC-DR-572, Drilling Guidelines for Printed Boards, Institute for Interconnecting and Packaging Electromc Circuits, May 10, 1988. [13] ANS1/IPC-SM-780, Component Packaging and Interconnecting with Emphasis on Surface Mounting, Institute for Interconnecting and Packaging Electronic Circuits, March 31, 1988. [14] ANSl/IPC-SM-782, Surface Mount Land Patterns (Configurations and Design Rules), Institute for Interconnecting and Packaging Electronic Circuits, April 17, 1987. [15] R.H. Clark, Printed Circuit Engineering: Optimization for Manufacturability, Van Nostrand Reinhold, 1989. [16] C.F. Coombs, Jr., (ed.), Printed Circuits Hand Book, Mc-Graw-Hill, New York, 1989. [17] S.K. Padhy, A knowledge-based system for PWB manufacturability in concurrent engineering environment, Master's Thesis, West Virignia University, Morgantown, WV, 1990. [18] M. $obolewski, "DICEtalk: An object-oriented knowledge-based engineering environment", 5th Int. Conf. on CAD/CAM, Robotics and Factories of the Future, Norfolk, VA, December 2-5, 1990. [19] M. Sobolewski, "DXCE percept knowledge and concurrency", Proc. 2nd Natl. Syrup. on Concurrent Engineering, Morgantown, WV, February 7-9, 1990. [20] M. $obolewski, "An introduction to D1cEtalk", CERC internal Report, Concurrent Engineering Research Center, West Virginia University, Morgantown, WV, 1990. [21] P.J.W. Noble, Printed Circuit Board Assembly, Halsted Press/Wiley, New York, 1989.