Funding/Industry: Greek R&D General Secretariat

Duration: 18 months (1/6/1996-30/11/1997)

Scientific Responsible: I. Vlahavas

Category: National Projects

The main aim of this project is to develop an expert system for software evaluation. Software evaluation is the procedure that compares a set of software products based on several criteria. It is evident that software evaluation is particularly difficult and many different and contradictory variables at various intermediate steps must be considered and combined in order to reach a final decision. Due to the uncertainty of the problem, it is really hard to be carried out manually, especially from non expert people. The ESSE (Expert System for Software Evaluation) project aims to the design and development of an Expert System to evaluate the combination of the attributes of software products. ESSE takes into account several software attributes, such as quality, cost, time, adherence to standards e.t.c. In addition, a well known and understood operational research method, namely the multiple criteria decision aid (MCDA) is employed to cope with the variety of attributes that affect software evaluation. ESSE elaborates the theoretical results and practical data of previous estimations to fine tune the process of software evaluation in the future.

The ESSE System is being developed in a PC-486 platform. We will use the LPA Flex Expert System Shell. Flex interacts with the underlying language LPA Prolog for MS-Windows, so the final ESSE product will be a combination of these two platforms.

Flex will be used for the construction of the ESSE rules, which will be used for the definition of the problem and for the search of the solutions. LPA Prolog will be used for the interface between the ESSE System and the end user. LPA Prolog supports all the MS-Windows control mechanisms, such as text, list and combo boxes, menus e.t.c.

ESSE Architecture comprises of three main parts, the Kernel, the Knowledge Base and the Intelligent Front End.

  • The IFE has a role to aid the user in collecting the necessary information and in validating the model created. Validation will be provided both through tutorials (on line help) and through verification procedures.
  • The knowledge base consists of three parts. These are the rules, the frames and the historical data. Rules are used mainly in the application running step by the inference engine. Frames have to be defined for each type of objects used by the ESSE machine. Historical data are the instances of the frames described above. They have the same meaning and use like the objects in other object-oriented environments.
  • The kernel of ESSE machine consists of the Flex inference engine and the Prolog itself.


  • Prof. I. Vlahavas, Coordinator
  • Ioannis Stamelos
  • Petros Kefalas
  • Associate Prof. Nick Bassiliades
  • Ioannis Refanidis
  • Panayotis Katsaros
  • Alexandros Tsoukias