Software engineering for knowledge-based systems software

Various software design principles useful for knowledge-based systems software (KBSS) are discussed. In particular, the applicability of abstraction, information hiding, modularity, localization, uniformity, completeness, confirmability, reusability, and extensibility in KBSS programming paradigms is examined. Conclusions are drawn on the limitations and/or the appropriateness of the KBSS programming paradigms with respect to facilitating the software design principles.<<ETX>>

[1]  Bertrand Meyer,et al.  Reusability: The Case for Object-Oriented Design , 1987, IEEE Software.

[2]  Ruth E. Davis Logic Programming and Prolog: A Tutorial , 1985, IEEE Software.

[3]  Grady Booch,et al.  Software engineering with Ada , 1983 .

[4]  H. Dieter Rombach,et al.  A Controlled Expeniment on the Impact of Software Structure on Maintainability , 1987, IEEE Transactions on Software Engineering.

[5]  Daniel G. Bobrow,et al.  Object-Oriented Programming: Themes and Variations , 1989, AI Mag..

[6]  Shashi Shekhar,et al.  Software Development Support for AI Programs , 1987, Computer.

[7]  Valdis Berzins,et al.  Abstraction-based software development , 1986, CACM.

[8]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[9]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[10]  Vasant Dhar,et al.  Rule-based versus structure-based models for explaining and generating expert behavior , 1987, CACM.

[11]  Ed Stabler,et al.  Object-oriented programming in Prolog , 1986 .

[12]  Norman F. Schneidewind,et al.  The State of Software Maintenance , 1987, IEEE Transactions on Software Engineering.

[13]  Joseph A. Goguen,et al.  Parameterized Programming , 1984, IEEE Transactions on Software Engineering.

[14]  Brad J. Cox Message/Object Programming: An Evolutionary Change in Programming Technology , 1984, IEEE Software.

[15]  T. Biggerstaff,et al.  Reusability Framework, Assessment, and Directions , 1987, IEEE Software.

[16]  Ragui Kamel,et al.  Effect of Modularity on System Evolution , 1987, IEEE Software.

[17]  Alan Snyder Encapsulation and inheritance in object-oriented programming languages , 1986, OOPSLA 1986.

[18]  Mohan Tanniru,et al.  A Framework for Selecting between Knowledge-based and Traditional Systems Design , 1987, J. Manag. Inf. Syst..

[19]  Languages Object-Oriented Programming Systems,et al.  OOPSLA '86 : Object-Oriented Programming Systems, Languages and Applications : conference proceedings, September 29-October 2, 1986, Portland, Oregon , 1986 .

[20]  Mary Shaw,et al.  Abstraction Techniques in Modern Programming Languages , 1984, IEEE Software.

[21]  Jim Diederich,et al.  Experimental Prototyping in Smalltalk , 1987, IEEE Software.

[22]  Peter Wegner,et al.  Classification in object-oriented systems , 1986, OOPWORK '86.

[23]  William B. Gevarter The Nature and Evaluation of Commercial Expert System Building Tools , 1987, Computer.

[24]  Atul Prakash,et al.  Programming in the large , 1986, IEEE Transactions on Software Engineering.

[25]  C. A. Irvine,et al.  Software Engineering: Process, Principles, and Goals , 1975, Computer.