Bir arıza giderme uzman sistem kabuğu (AGUSK) ve CFM56 turbofan jet motor arızaları için bir uygulama /
Yazar: MEHMET BİRLİK
Danışman: DOÇ. DR. GAZANFER ÜNAL
İstanbul Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Mühendislik Bilimleri Ana Bilim Dalı / Sistem Analizi Bilim Dalı
Derece: Yüksek Lisans, 1998
Konu: Mühendislik Bilimleri = Engineering Sciences
Dizin: Arıza giderme = Fault removing ; Turbo jet motoru = Turbojet engine ; Uzman sistemler = Expert systems

Özet:
Bu tezde güdülen birinci amaç tamamen bilgisayara dayalı genel bir arıza giderme uzman sistem kabuğu geliştirmektir. Arıza giderme, yapay zeka disiplininin bir dalı olan uzman sistemler konusunun asla vazgeçilemeyen bir uygulama alanıdır. Arıza giderme işlemi zaman alıcı bir işlemdir. Genel bir arıza giderme uzman sistem kabuğu geliştirilmesi, birçok teknolojik üründe ortaya çıkması kaçınılmaz olan arıza ve anormalliklerin giderilmesi için önü açık bir yol sunabilir ve bir bilgi mühendisinin zamanını son derece fazla alan programlama işinden kurtarabilir. Bu düşünce ışığı altında geliştirilecek arıza giderme uzman sistem kabuğu kullanılarak hazırlanacak uzman sistemler için bilgi mühendisi tüm mesaisini bilginin kendisine ve bilginin kurallara dökülmesine verebilecektir. Bu sayede uzman sistemleri oluşturmak için harcanan zaman ve yapılan analizler için sarfedilecek efor son derece azaltılacaktır. Bu amaca CLIPS uzman sistem aracı kullanılarak hazırlanan bir kabuk programla ulaşılmıştır. Tezin ikinci amacı ise geliştirilen arıza giderme uzman sistem kabuğu kullanılarak gerçek hayattan bir uygulama ortaya çıkarmak ve böylelikle de geliştirilen bu kabuğun genel bir çok alanda kullanılabileceğini kanıtlamaktır. Bunun için birçok büyük uçak tipinde güç birimi olarak kullanılan CFM56 turbofan jet motorlarının arızaları problem alanı seçilmiştir. Kurulan 278 gibi çok sayıda kurala sahip bir uzman sistemin çalışmasıyla bu amaca da ulaşılmıştır.

Abstract:
The primary aim of this thesis is to develop a computerized method for the general troubleshooting concept which represent a huge, time-consuming, never-expiring problem area in the expert systems branch of the artificial intelligence. Troubleshooting is a huge area because it has been being done everywhere and will absolutely maintain its importance in almost all branches of industrie. It is time consuming because it requires real experts who have exhaustive knowledge and experience in the area it is applied and needs non-operational time (ground-time in aviation). It will never expire because technology and demand have been the major forces of new products which will allways need maintenance and have troubles. There can be tens or hundreds of reasons more. This aim is achieved by developing a shell which suits most of the problems in a major part of the troubleshooting, binary decision trees. CLIPS expert system tool is used as language and more generally as tool in order to develop and code the project. The secondary aim is to apply the developed shell to a real problem in the industry: problems occured on CFM56 turbofan jet engines. The Troubleshooting Expert System Shell Work The Troubleshooting Expert System Shell (TESS/AGUSK) works by presenting a number of symptoms from which the user can select one in the beginning of the troubleshooting process. Some of these are related to the system overall while others are specific to a subsystem or component. The intend is the user will hopefully be able to find a symptom that matches the problem he is having. Once the user have selected a symptom to diagnose a problem domain trouble, he is given a question and given a choice of answers consisting of either yes or no since the thesis take binary trees of trouble shooting as a design matter.Depending on what the user tell the system, it may come up with a proposed cause quickly for some symptoms, or it may take a bit of work for the others. When it is done, the expert system shell will tell the user what its best guess is at the cause of his problem, so it will suggest a possible repair action to the problem. The expert's analysis of each problem or symptom is in three sections listed once the beginning of the expert system shell run.. Choosing the symptom matching the applicable troubleshooting tree: A description of what the problem is that the user is having, or what the symptom he is seeing really means. For example, this would include explaining an error message, or telling the user what it means when he gets to that section after answering a question in a previous section.. Diagnosis: The expert's current inferencing about what the problem is that the user is having, and what the problem is or might be.. Recommendation: The action that the expert concludes it would be best for the user to pursue at this point. There may only be one step that it thinks makes sense at the user's current position, or there may be another symptom to restart from. Since this is a computerized system, not a person, it is somewhat inflexible, and it is entirely possible that the expert will get things wrong. If it does, trying a different path within the system (by answering some of the questions differently, especially the choosing of symptom) the user may then find a clue to help him out; or he may just find an area of the expert where it is weak. This case can be considered as an opportunity of upgrading the trouble shooting tree by having an uncoded trouble or an uncoded branch of tree. Willing to provide feedback if the user (or at least the knowledge engineer) thinks he has a common problem (not something totally bizarre) that other users of the same system could benefit from by having it included within the knowledge base. This is the way that the knowledge base gets closer to a real experienced expert's knowledge. Problem Area: CFM56 Turbofan Jet Engines This expert system is designed to assist an aviation maintenance technician with the troubleshooting of CFM56 specific type turbofan jet engine. The process of this troubleshooting usually involves a tedious process of manual took ups to match the technicians' or the flight crew's observations of this engines systems. This expert system would drastically reduce the amount of time of the expert has to spend verifying the observations made by less experienced personal for mundane tasks, and mechanics would be freed for more important duties. The reduction of time involved with the problem on the troubleshooting, the reduction of money costs of troubleshooting, duplication of the knowledge and availability of the expert system at any time are the other objectives of the CFM56 turbofan jet engine expert system.Expert Systems Conventional programming languages, such as FORTRAN or C, are designed and optimized for the procedural manipulation of data (such as numbers and arrays). Humans, however, often solve complex problems using very abstract, symbolic approaches which are not well suited for implementation in conventional languages. Although abstract information can be modeled in these languages, considerable programming effort is required to transform the information to a format usable with procedural programming paradigms. One of the results of research in the area of artificial intelligence has been the development of techniques which allow the modeling of information at higher levels of abstraction. These techniques are embodied in languages or tools which allow programs to be built that closely resemble human logic in their implementation and are therefore easier to develop and maintain. These programs, which emulate human expertise in well defined problem domains, are called expert systems. The availability of expert system tools, such as CLIPS, has greatly reduced the effort and cost involved in developing an expert system. Rule-Based Programming Rule-based programming is one of the most commonly used techniques for developing expert systems. In this programming paradigm, rules are used to represent heuristics, or "rules of thumb," which specify a set of actions to be performed for a given situation. A rule is composed of an "if portion and a "then" portion. The if portion of a rule is a series of patterns which specify the facts (or data) which cause the rule to be applicable. The process of matching facts to patterns is called pattern matching. The expert system tool provides a mechanism, called the inference engine, which automatically matches facts against patterns and determines which rules are applicable. The if portion of a rule can actually be thought of as the whenever portion of a rule since pattern matching always occurs whenever changes are made to facts. The then portion of a rule is the set of actions to be executed when the rule is applicable. The actions of applicable rules are executed when the inference engine is instructed to begin execution. The inference engine selects a rule and then the actions of the selected rule are executed (which may affect the list of applicable rules by adding or removing facts). The inference engine then selects another rule and executes its actions. This process continues until no applicable rules remain. CLIPS CLIPS is a productive development and delivery expert system tool which provides a complete environment for the construction of rule and/or object based expert systems. CLIPS is being used by over 5,000 users only in the USA throughout the public and private community including: all NASA sites and branches of the military, numerousfederal bureaus, government contractors, universities, and many companies. The key features of CLIPS are:. Knowledge Representation. CLIPS provides a cohesive tool for handling a wide variety of knowledge with support for three different programming paradigms: rule-based, object-oriented and procedural. Rule-based programming allows knowledge to be represented as heuristics, or "rules of thumb," which specify a set of actions to be performed for a given situation. For this reason it was chosen for the thesis which has basically a "heuristic" knowledge in its knowledge domain. Object-oriented programming allows complex systems to be modeled as modular components (which can be easily reused to model other systems or to create new components). The procedural programming capabilities provided by CLIPS are similar to capabilities found in languages such as C, Pascal, Ada, and LISP.... Portability. CLIPS is written in C for portability and speed and has been installed on many different computers without code changes. Computers on which CLIPS has been tested include an IBM PC running DOS and Windows 95 and a Macintosh running MacOS and Mach. CLIPS can be ported to any system which has an ANSI compliant C compiler. CLIPS comes with all source code which can be modified or tailored to meet a user's specific needs. Integration/Extensibility. CLIPS can be embedded within procedural code, called as a subroutine, and integrated with languages such as C, FORTRAN and Pascal. CLIPS can be easily extended by a user through the use of several well-defined protocols. Interactive Development. The standard version of CLIPS provides an interactive, text oriented development environment, including debugging aids, on-line help, and an integrated editor. Interfaces providing features such as pulldown menus, integrated editors, and multiple windows have been developed for the Macintosh, Windows 3.1/95, and X Windows environments. Verification/Validation. CLIPS includes a number of features to support the verification and validation of expert systems including support for modular design and partitioning of a knowledge base, static and dynamic constraint checking of slot values and function arguments, and semantic analysis of rule patterns to determine if inconsistencies could prevent a rule from firing or generate an error. Fully Documented. CLIPS comes with extensive documentation including a Reference Manual and a User's Guide.TESS Troubleshooting Expert System Shell Troubleshooting concept can be figured as an action with the following steps: - Symptom (that trigers the whole process) - Troubleshooting tree (which represents the expert knowledge) - Troubleshooting TROUBLE SHOOTING TREE Decision Tree and Its Structure Decision trees are binary trees. There are 37 trees corresponding to 37 distinct symptoms. Each symptom has its own question and answer sets. There are 278 decision nodes on these trees. The number of conclusions drawn using these trees is 313. Symptoms, rules, questions and conclusions are obejcts that are all kept in files and these files are edited by either knowledge engineer or the expert technician himself. All these objects are stored in the main memory of computer and TESS inferences using them. symptoms.clp > (deftemplate symptoms... ) question.clp conclusi.clp (deftemplate rules... ) ¦^ > (deftemplate questions... ) > (deftemplate conclusions... )One of these trees, the one corresponding the symptom s07, is seen below, branches and nodes are numbered in the tree as described in chapter 4.5. The