Engng Applic.Artif lntell. Vol.4, No. 6, pp. 439-443, 1991 0952-1976/91 $3.00+0.00 Printedin GreatBritain.All rightsreserved Copyright © 1991 Pergamon Presspie Contributed Paper Application of AI in Software and Information Engineering BALINT MOLNAR Hungarian Academy of Sciences, Budapest JOZSEF FRIGO Hungarian Academy of Sciences, Budapest Methodologies already exist for information systems analysis and design (e.g. SSADM, JSP, Merise, etc.) and supporting tools, namely, CASE (Computer Aided Software Engineering) and RDBMS (Relational Database Management System) and~or 4GL tools. All of these tools contain a data dictionary at the core of certain facilities. In the underlying research and in this paper, the following questions need to be addressed: --How can the capability of a recently available data dictionary be enhanced with some knowledge-based modules? --What would be the architecture of such a system, based on the data dictionary of some CASE tools? --How can the informal and formal modelling approach information system design be combined? --What sort of knowledge-representation techniques would be suitable for the different tasks during the analysis and the design of the system? The system outlined here would work as an intelligent assistant and workbench supporting the developer, but not as an automatic programming environment. Keywords: Knowledge-based management systems, software and information engineering, data dictionary, repository, application of AI techniques. INTRODUCTION Most recently, there are several tools which support the activities of software engineers, namely the various CASE tools and other software systems. They help to increase the performance of development teams, but perspectives exist for further enhancement. In the plan- ning and design of information systems, the data dic- tionaries of the software tools play an important role. Sometimes they are called "repositories", using a newer and more modern term and they are in fact databases covering all aspects of a particular infor- mation system and trying to encompass corporation- wide meta-data. To make this kind of information expressive and useful to the system analysts and developers the data dictionary should be made more "intelligent", in other words--from the knowledge engineering point of view--more active. There are several knowledge sources which can be Correspondence should be sent to: B. Molmir,The Foundationfor Information Technology of Hungarian Academy of Sciences, H-1525 Budapest 114, P.O.B. 49, Hungary. tightly coupled to the meta-data of an information system stored in a data dictionary. For example, the procedures of a particular system development meth- odology, the rules of the applied techniques, the knowledge about the application domain, and the soft- ware engineering knowledge (including the program- ming knowledge) are the most important components of the knowledge structure used in information-system development, either explicitly or implicitly. This paper examines the function and the architec- ture of an intelligent data dictionary supporting the information system development process, and the suit- able knowledge representation techniques which for- mulate some part of the above-mentioned knowledge sources. FUNCTIONS OF A DATA DICTIONARY In database management systems, the data diction- ary contains the so-called "meta-data", i.e. the descrip- tion of the data stored in the database. Therefore the developer/analyst can find the definition of record type, 439