The Role of Knowledge Based Systems to Enhance User Participation in the System Development Process Gian M Medri, PKBanken, Stockholm Summary: Computers are a fact of life today, even for the public in general. User participa- tion in the system development process is made easier by the present development of technol- ogy. Acceptance of the users' claim to control their computer systems is mandatory not only from a moral, but also from an economic point of view. It's obviously helpful to structure the problems related to the development of a new system in a reasonable way, for example by dividing them into inherent problems, non-inherent problems and symptomatic problems. Examples are provided. There are, at present, three main technologies of application development. Of these, expert systems represent the highest level. As a conclusion an outline of the ideal knowledge based system development tool is presented. This tool does so far not exist in the form of a CASE package, but it would be quite feasible to make one. • The main problem today is certainly not the lack of visions and results in the field of tech- nolgical development. It is rather that most data centers work for and with third generation software. A CASE tool of the kind outlined here would provide the possibility of enhancing user participation in the system development process. One important reason for this is that it might be of great help in cleaning out obsolete technologies and working methods from the data centers we have at present. Background based systems, the handling of computer sys- tems has become much easier. Computerization has already brought about profound changes in everyday life. No The acceptance of the users' claim to par- doubt the new technologies of Artificial Intel- ticipate in the development process and con- trol their computer systems is today man- ligence will be reflected in new social struc- tures. This is, however, a slow process, due datory, not only from a moral but also from to social inertia, and we know very little an economic point of view. Nobody can work efficiently and be satisfied with obsolete tech- about the outcome. nologies. Experience shows, for example, that users of a word processing system find it What we know, instead, is that, partly as a consequence of the development of fourth difficult to go back to the typewriter, almost as if they were offered a clay tablet or a generation languages, new tools for prototyp- ing, the widespread use of personal com- piece of calfskin instead of writing paper. puters etc, there is a growing claim from people working with computerized systems to participate actively in the design and solu- tion of their systems. Possibilities and problems The computer is today a common tool, used even in private homes. Only a decade Rapid changes in the market place deter- ago we counted the computers in the world mine the need of both active user participa- in thousands, now we count in millions. tion in the application development, and a rapid development process. This means that This means that almost everybody has the user must understand the whole process. some contact with computers. The computer does no longer appear as something out of a Knowledge based systems seem today to science fiction novel. An increasing number be the best way of meeting the requirements of people do not accept to be told that it's of easy-to-understand system design and of the computer's fault, when errors appear in quick solutions, provided that proper tools their bills or bank statements. They know and methods are connected to the expert sys- that the error generally is caused by the tem for system development. people who made the p.!'ogram. This is, of course, a very positive development. Some of the CASE (computer aided sys- tem engineering) packages in use today are Earlier, computer systems appeared excellent tools in the hands of system mysterious to the man in the street. Users analysts with many years of experience. But needed special intermediaries, in the form of in the hands of system analysts whO'lack suffi- system analysts and programmers, who inter- cient experience they can create more preted and coded the knowledge necessary problems than they solve. to solve the user's problem. I have seen several cases where such tools, Today, with the introduction of spread- improperly used, produced hundreds, in sheets, 4GL, ,WYSIWYG (what you see is some cases thousands, of nice laser printed what you get), WIMPS (windows, icons, logical diagrams describing functions, proces- mouse, pulldown menus) and knowledge ses and information relations. After that, 1 nobody understood what to do or how to con- The inherent problems are those created tinue. to get a workable system off the by the application itself. For example, a bank ground. This was due to the fact that there with 500 branches is to develop a system for was too much information and too many updating balances. The inherent problems in people to get a proper structure. In some this case are the matching of balances and cases the project was stopped after many per- the amount withdrawn, the interest calcula- son-years of work. tion and so on. In the world of manufacturing, we are By non-inherent problems I mean used to handling concrete things like boxes, problems that are created by technology, wheels, engines etc. When we try to policies or environment. An example is that transpose the construction process from clas- 500 branches generate 100 transactions per ( sical manufacturing to software we often second and that the actual balance is in a make mistakes. subrecord of a hierarchical data base. The amount of transactions generate the problem There are, for example, still many Informa- of response-times and special solutions must tion System managers who think that when a be found to make them acceptable. Complex project is late, it is sufficient to put more solutions are also needed in order to programmers or analysts to work, just as a navigate through the data base to find the production manager would do. When he has right subrecord. to double the production of nails, he doubles the productive resources. If one person The symptomatic problems could be that produces 1000 nails per hour, then two per- the development is slow, the project costs ex- sons should produce 2000 nails per hour. ceed the estimates, and that a specialist for the response-time optimization is not avail- This linear relation between workforce able. and production is generally correct in the case of hardware. It is absolutely wrong In this example we can eliminate the non- when it comes to software. In many cases we inherent problems by distributing the data can observe the strange phenomenon that base to the branches, diminishing the transac- the input. of more resources into a project will slow down if not kill the project itself. tions rate to one per five seconds, and sub- stituting a relational data base for the hierar- chical one. We can perhaps use a fourth I generation language, so we won't have to Structuring the problem bother too much with technicalities, and con- centrate our resources on the application. Before deciding which is the best way to By doing this we also eliminate the develop a new system we must structure the symptomatic problems. This situation, espe- problems related to the process. The cially in more complex form, is fairly normal problems can be divided into: in the system development environment. • inherent problems Knowledge based development systems can deal with this kind of problems, if a very • non-inherent problems experienced system analyst is available. • symptomatic problems 2 Who is the expert? . Normally, there is a common base of knowledge for system development that To avoid misunderstandings, I must ex- doesn't differ from place to place or time to plain that i call "experts", those who are ex- time. For example, the rules that govern nor- perts in the field covered by the application, malization of information are the same inde- or those who represent the end-users. "Sys- pendent of the country, the industry or the tem analysts" are obviously those who are technology used in a particular development specialists in system development. Further- process. Perhaps in the future someone will more, I call "system tools" those systems or find some new normalization forms, but the packages that help system analysts and ex- fundamentals are there and will not change. perts to develop systems for the end-user Furthermore, many rules of the thumb in and "application" the object of the system such a system tool will not be subject to development. change. Very often the non-inherent problems are of technical nature. They complicate not only Rules of thumb the system but also the user's understanding of the solution. The power of a CASE pack- Just to give an idea of such a rule of age based on an expert system is among thumb I will mention what happened when a other the possibility to help the system new system was taken into production and analyst to simplify each stage of the system after running a few weeks showed that many development process, while at the same time numerical fields did not balance. When we the expert can follow and determine the looked at the system specifications we didn't rules that govern the application. The almost find anything like balancing the sum of natural language used for the application numerical input fields with the correspond- development is similar to the language used ing changed fields. When we asked the sys- in the tool that governs the methodology for tem analyst why there were no balancing system development checks in the different modules and programs, he answered: "We have been taught that the computer never makes mis- The Importance of Flexibility takes. It is a waste of time and other resour- ces to include these unnecessary controls." The system development process consists It is true that undetected hardware errors \ of many phases that are not cleary defined and change in time and space depending on are very rare, but it is not the same for the technology used, the kind of industry and software errors. It is far from unusual that a the local environment. program has fifty or more two-ways branches. This means that the number of This means that system tools must be very combinations is a figure with fifteen digits. flexible and adaptable. A knowledge based Consequently, it is impossible to run a full system tool can easily be adapted to any test of a program of this kind. working place, because the knowledge base is understandable and furthermore separated The system tool should contain the rules from the inference engine. of thumb that handle this kind of problem and advise the system analyst and the expert at the proper phase of system development. 3 The examples described above are of a 2. The fourth generation packages, with an general kind and can be standardized in a iterative life cycle, a very high language package, but there are other aspects that can- level, form, graphic, and report facilities and not be generalized because they depend on a relational data base. the country, the kind of industry and ul- timately the individual company. 3. Expert systems with an iterative life cycle, knowledge bases (rules, demons, facts The knowledge system tool should be and frames etc.) and a relational data base. made in such a way that it is easily com- pleted by the individual company, so as to in- The system tool should support all the clude their own particular rules. three types. Since the highest form of ap- plication development is knowledge based, it The most obvious adaptation is the lan- seems obvious that the best support will be a ( guage of the country. The next is the par- knowledge based system. This combination - ticular business language used in the in- system tool and application development dustry. For example, the terminology of bank- made with knowledge based technologies - ( ing differs from that of engineering or in- will greatly facilitate the communication and surance. understanding between the system analyst and the expert, and this will contribute to a The language and terminology aspects are better system quality. very important for the commuitication and the understanding between the system The second alternative is also acceptable, analyst and the expert. If the system develop- because the expert can follow the iterative ment tool is easy to understand, this charac- development process and see what happens, teristic will usually hold even for the applica- so he can check that the system will be what tion developed by means of the tool. he wants. Another domain where the adaptation to The first alternative is not so good, since the policy of the individual company is very there is no way to make the system easy to important is the security and auditing fea- understand for the expert. It is impossible tures. The knowledge system tool should em- both for the expert and the system analyst to • phasize this sadly neglected problem. Part of foresee all the logical consequences of the the rules can be generalized, part of them system design. must be adapted to the individual company. A knowledge based tool will help the sys- tem analyst and expert to formulate the re- Three technologies quirements in the form of ruks anJ facts that can be tested preliminarily in an expert At present, there are three main tech- system and then translated into COBOL or other similar languages. nologies of application development: 1. The old one, with static life cycle, with In this case, the knowledge should be limited to rules, demons and facts. Frames, COBOL or some other programming lan- probabilistic reasoning and other advanced guage at the same level, and hierarchical or network data bases. knowledge techniques should be avoided, be- cause it would be difficult to implement them in COBOL. Relational data bases 4 should be preferred to hierarchical or net- • Fuzzy and probabilistic methods that work data bases. The more the expert under- can be used when the boundaries are unclear, for example the question stands the application development, the whether a system is complex or not. greater will be the final usefulness of the production system. • Easily understandable development process, due to the use of rules and local terminology. The decision makers Conclusion and the user representatives can follow, understand and control all the phases of the development process. Since applications are systems that support human beings at work, whether they be bank officers, medical staff, or spare parts service • Possibility of explanations for every clerks, the usability of the system must be advice and decison. ( the highest possible. As far as I know, there is at present no To reach this goal, those who are really ex- CASE package that really covers all the perts in the field to be covered by the ap- ( points mentioned above. It is, however, per- plication should participate in and control fectly feasible to make one, and better tools the application development. The ideal will certainly be forthcoming within the near knowledge based system tool would give the future. best support to application development, for the following reasons: There are many VISIOns about future re- search and development in the computer • High flexibility with the possibility to implement local specialized rules and world. The sixth generation already exists in facts, language and terminology. the minds of some researchers. Unfortunately, there are not many visions • High adaptability to different kinds of development that depend on the about the use of existing technology. Most environment. data centers of some size are doing more than 90 percent of their work with and for third generation software. • Rules of the thumb extracted from a very experienced system analyst. Would a knowledge based system tool of the kind outlined above help to bring the • Advice to the expert and the system computer community up to date? analyst on very complex matters. My answer is: not totally, and not at once. • Calculations of the risks of omitted or But it would certainly be a step - maybe a limited security. giant step - in the right direction. 5