Page 90 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 90

Principles of Software Engineering



                   Notes         Disadvantages
                                    •  Changes in data storage format affects all modules, for example if the data structure is
                                      changed, then all the modules have to be modified to adjust to that change.
                                    •  Changes in algorithm not well supported.
                                    •  Poor stability if access to the shard data is not handled appropriately.
                                    •  Not supportive of reuse due to the dependency on the shared data.
                                    •  Enhancements not easily incorporated because of the above reasons.

                                                  An Interpreter Using Different Idioms
                                                            for the Components


                                         ule-based systems provide a means of codifying the problem-solving know how of
                                         human experts. These experts tend to capture problem-solving techniques as sets of
                                   Rsituation-action rules whose execution or activation is sequenced in response to the
                                   conditions of the computation rather than by a predetermined scheme. Since these rules are
                                   not directly executable by available computers, systems for interpreting such rules must be
                                   provided. Hayes-Roth surveyed the architecture and operation of rule-based systems.
                                   The basic features of a rule-based system, shown in Hayes-Roth’s rendering as in Figure 1,
                                   are essentially the features of a table-driven interpreter, as outlined earlier.
                                     •  The pseudo-code to be executed, in this case the knowledge base.

                                     •  The interpretation engine, in this case the rule interpreter, the heart of the inference
                                       engine.
                                     •  The control state of the interpretation engine, in this case the rule and data element
                                       selector.
                                     •  The current state of the program running on the virtual machine, in this case the working
                                       memory.

                                                         Figure 1: Basic Rule-Based System






















                                   Rule-based systems make heavy use of pattern matching and context (currently relevant rules).
                                   Adding special mechanisms for these facilities to the design leads to the more complicated
                                   view shown in Figure 2. In adding this complexity, the original simple interpreter vanishes
                                   in  a  sea  of  new  interactions  and  data  flows.  Although  the  interfaces  among  the  original
                                   modules remain, they are not distinguished from the newly-added interfaces.
                                                                                                     Contd...

        84                                LOVELY PROFESSIONAL UNIVERSITY
   85   86   87   88   89   90   91   92   93   94   95