A Software Architecture for Knowledge-Based Systems

D.A. Fensel, R. Groenboom

Research output: Contribution to JournalArticleAcademicpeer-review

300 Downloads (Pure)


The paper introduces a software architecture for the specification and verification of knowledge-based systems combining conceptual and formal techniques. Our focus is component-based specification enabling their reuse. We identify four elements of the specification of a knowledge-based system: a task definition, a problem-solving method, a domain model, and an adaptor. We present algebraic specifications and a variant of dynamic logic as formal means to specify and verify these different elements. As a consequence of our architecture we can decompose the overall specification and verification task of the knowledge-based systems into subtasks. We identify different subcomponents for specification and different proof obligations for verification. The use of the architecture in specification and verification improves understandability and reduces the effort for both activities. In addition, its decomposition and modularization enables reuse of components and proofs. Therefore, a knowledge-based system can be built by combining and adapting different reusable components.
Original languageEnglish
Pages (from-to)153-173
JournalKnowledge Engineering Review
Issue number2
Publication statusPublished - 1999


Dive into the research topics of 'A Software Architecture for Knowledge-Based Systems'. Together they form a unique fingerprint.

Cite this