Journal of Computing and Information Technology (Jan 2019)

Diagnostics as a Reasoning Process: From Logic Structure to Software Design

  • Matteo Cristiani,
  • Francesco Olivieri,
  • Claudio Tomazzoli,
  • Luca Vigano,
  • Margherita Zorzi

DOI
https://doi.org/10.20532/cit.2019.1004411
Journal volume & issue
Vol. 27, no. 1
pp. 43 – 57

Abstract

Read online

Diagnostic tests are used to determine anomalies in complex systems such as organisms or built structures. Once a set of tests is performed, the experts interpret their results and make decisions based on them. This process is named diagnostic reasoning. In diagnostic reasoning a decision is established by using both rules and general knowledge on the tests and the domain. The artificial intelligence community has focused on devising and automating different methods of diagnosis for medicine and engineering, but, to the best of our knowledge, the decision process in logical terms has not yet been investigated thoroughly. The automation of the diagnostic process would be helpful in a number of contexts, in particular when the number of test sets to make decision is too wide to be dealt with manually. To tackle such challenges, we shall study logical frameworks for diagnostic reasoning, automation methods and their computational properties and technologies implementing these methods. In this paper, we present the formalization of a hybrid reasoning framework T L that hosts tests and deduction rules on tests, and an algorithm that transforms a T L theory into defeasible logic, for which an implemented automated deduction technology (called Spindle) exists. We evaluate the methodology by means of a real-world example related to the Open Web Application Security Project requisites. The full diagnostic process is driven from the definition of the issue to the decision.