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