Building expert systems in Prolog
Building expert systems in Prolog
Reverse engineering: algorithms for program graph production
Software—Practice & Experience
Reverse engineering processes, design document production, and structure charts
Journal of Systems and Software
A translation approach to portable ontology specifications
Knowledge Acquisition - Special issue: Current issues in knowledge modeling
The Unified Modeling Language user guide
The Unified Modeling Language user guide
The Unified Modeling Language reference manual
The Unified Modeling Language reference manual
Expert Systems: Design and Development
Expert Systems: Design and Development
Artificial Intelligence: A Guide to Intelligent Systems
Artificial Intelligence: A Guide to Intelligent Systems
The use of domain knowledge in program understanding
Annals of Software Engineering
Reverse Engineering and Design Recovery: A Taxonomy
IEEE Software
UVT: A Unification-Based Tool for Knowledge Base Verification
IEEE Expert: Intelligent Systems and Their Applications
Reengineering for knowledge in knowledge based systems
KES'06 Proceedings of the 10th international conference on Knowledge-Based Intelligent Information and Engineering Systems - Volume Part I
ICCCI'11 Proceedings of the Third international conference on Computational collective intelligence: technologies and applications - Volume Part I
Hi-index | 0.00 |
Reverse engineering, also called reengineering, is used to modify systems that have functioned for many years, but which can no longer accomplish their intended tasks and, therefore, need to be updated. Reverse engineering can support the modification and extension of the knowledge in an already existing system. However, this can be an intricate task for a large, complex and poorly documented knowledge-based system. The rules in the knowledge base must be gathered, analyzed and understood, but also checked for verification and validation. We introduce an approach that uses reverse engineering for the knowledge in knowledge-based systems. The knowledge is encapsulated in rules, facts and conclusions, and in the relationships between them. Reverse engineering also collects functionality and source code. The outcome of reverse engineering is a model of the knowledge base, the functionality and the source code connected to the rules. These models are presented in diagrams using a graphic representation similar to Unified Modeling Language and employing ontology. Ontology is applied on top of rules, facts and relationships. From the diagrams, test cases are generated during the reverse engineering process and adopted to verify and validate the system.