Representation of knowledge and inference rules in SEMEST+
Shuangshuang Zhang, Yingxu Wang · 2006
SEMEST+ is an extended version of the software engineering measurement expert system tool (SEMEST), which provides a rule-based software engineering measurement and analysis system on the Internet. The core part of SEMEST+ is the measurement knowledge base. Therefore, how to represent the knowledge of experts is the central issue in designing the system. In classical rule base systems, a rule may be specified using some special language, such as Prolog, with a built-in backward chaining inference engine for implementing an expert system. However, it is impossible for SEMEST+ to use Prolog for implementing a complicated Web-based application. Therefore, we should adopt a modern language to represent the inference rules and at the same time utilize the advantage of a generic database system to maintain the knowledge. Since XML has become the standard platform for structured data exchange especially on Web applications, the knowledge rules of SEMEST+ are represented in XML. The SEMEST+ inference engine is implemented in Java. Based on both measurement classical theories and industrial experience, SEMEST+ is implemented as a multiple-layered Web-based system supported by an expert inference engine and a knowledge base. SEMEST+ provides five categories of expert support, known as the goal-, process-, category-, application-domain- and organization-role-oriented measurement analyses, for the software industry to practice quantitative software engineering.