Engineering Computational Technology
Chapter 12 Th. Zimmermann+ and P. Bomme*
+Laboratory of Structural and Continuum Mechanics, Faculty of Natural Environment, Architecture & Construction, Swiss Federal Institute of Technology, Lausanne, Switzerland *Consultant, Lausanne, Switzerland Keywords: intelligent object, object-oriented programming, rule-based expert system, scientific applications, finite elements.
The idea of combining artificial intelligence with scientific applications is certainly not new. The feasibility and the great potential of rule-based expert systems interacting with scientific applications have been demonstrated, in the seventies already. However, all early attempts used commercial environments that introduced undesirable constraints in the setting up of scientific applications; consequently, in spite of enthusiasm and research investment, the use of expert systems in scientific applications did not meet the engineer's expectations. The main reasons for failure lie in the respective implementation languages of the two domains and also in the lack of integration methodology. The high level of interoperability required between scientific applications and their associated knowledge-based systems seems impossible to achieve when different paradigms are used. The object-oriented concept, which emerged from the artificial intelligence field, is receiving increasing acceptance within the scientific community nowadays. The object-oriented paradigm, recognized to help in developing better numerical simulation tools with increased maintainability, reusability, and efficiency, provides de facto a paradigm on which an integration methodology can be built. The work presented herein originated in an attempt to design an expert-assistant for field engineers confronted with the problem of optimizing the proper selection of industrial equipment in a context subject to a large number of constraints of various natures: mechanical, thermal, environmental, etc. Early designs of the system used a commercial expert system to manage all constraints and it soon became evident that the resulting system was insufficient, as all decisions were extracted from a global knowledge base and did not properly exploit the specificity of the rules and the evidence that most inferences could be carried out on small subsets of the rules database. An intelligent-object concept was therefore introduced, featuring a methodology for integrating propositional rules with objects. The proposed concept achieves a good interoperability between rule-based expert systems and object-oriented scientific applications, as well as a high level of reusability and decentralization of control. The approach fully benefits from the features of object-oriented programming, which enables the association of rules with objects of a scientific application by using an inheritance scheme. Any object of an application can be transformed into an intelligent object. In other words, integration of rule-based intelligence may be limited to part of the application, there is no need for modifying the whole application. In addition, the proposed concept does not introduce additional constraints in the application, which keeps its own identity. Another interesting aspect is the organization of rules, which mimics the implementation hierarchy of the application. This means that associating rules with objects automatically organizes them into a hierarchy reflecting the hierarchy of the application. Consequently, if the hierarchy of the application is modified, changes are straightforwardly propagated to the hierarchy of knowledge in order to reorganize the rules in the same manner. This hierarchical organization of knowledge automatically selects relevant rules in a reasoning process without any additional artifact. Knowledge processing is implemented by local reasoning modes working on a limited number of rules and managed by intelligent objects. These reasoning modes are activated very easily. It is not necessary to know how they are implemented; knowing what they do is sufficient to use them adequately. In addition, the object-oriented implementation of reasoning modes provides a high flexibility for the creation of new reasoning modes, or for the customization of inference engines. The decentralization of knowledge activation allows the instantiation of multiple local reasoning modes, each of which under the control of an intelligent object. Finally, the whole concept is implemented as an object- oriented C++ library consisting of an object-oriented propositional rule-based expert system and a generic intelligent object represented by class IntelligentObject. This package makes it possible to use AI techniques within a scientific application by focusing on the needs of the scientific application rather than on the AI implementation aspects. This high level of modularity leads to ease of use, genericity, portability, and efficiency of the proposed concept. In the last part of the paper, we present an application of the intelligent-object concept to data preparation for an object-oriented nonlinear finite element program. Finite element methods have become the standard approach to the analysis of structural and mechanical systems. The availability of finite element programs with a very high level of sophistication and a wide range of modeling capabilities, operating in a graphical mode of interaction, has made the method particularly attractive for routine use. However, some software designs require that engineers fully understand every tool they use. It may take a user a year or more to learn effectively and efficiently how to use the common options and capabilities of a large FEA program. Finite element modeling assistants can reduce the number of tasks delegated to the user, allowing a shorter turn-around time for the analysis. The approach proposed herein constitutes a step forward toward the integration of rule-based expert systems into object-oriented scientific applications. Due to its genericity, many applications could benefit from this efficient and portable approach.
|