研究复杂技术系统的故障诊断方法一直是自动化与过程控制、机械工程、人工智能、医疗诊断、航天测控等领域十分重要的课题。早期研究以诊断集中式、静态系统的故障为主,后期开始研究分布式、动态系统的故障诊断。
故障诊断技术发展至今,出现的大量方法可以划分成解析方法、基于信号处理的方法和基于知识的方法。解析方法将被诊断对象(设备或系统)的可测信息和由定量模型表达的系统先验信息进行比较产生残差,对残差进行分析和处理而实现故障诊断。基于信号处理的方法通常利用信号模型,如相关函数、频谱、自回归滑动平均等,直接分析可测信号、提取特征值,识别和评价系统所处的状态。基于知识的方法是一种基于定性模型的故障诊断方法,在给定观测的情况下运用定性物理、逻辑规则、统计智能等进行定性的诊断推理识别故障原因。相比之下,解析方法假设可以建立比较准确的诊断对象的数学定量模型——如用微分方程(或差分方程)描述的连续时间(或离散时间)系统;基于信号处理的方法回避了建立精确数学模型的难点,实现简单,工程应用广泛,但是它只能对故障范围做出粗略的判断,大多数情况下不能直接定位故障。基于知识的方法引入了诊断对象的经验知识、原理、模型知识,由此避免了对精确数学模型的过分依赖。
数据驱动的基于模型的诊断(MBD)作为一种基于深知识的诊断方法,不依赖于待诊断设备和系统本身的经验性知识,而是从待诊断系统的历史数据中学习得到描述系统行为的隐态模型,或者使用数据增强系统在结构和行为方面的正常行为模型和故障模型,在此基础上自主地完成系统的行为测试、状态监控、健康预测、故障诊断、系统配置和修复等任务。
课题研究:
国家自然科学基金,《开放环境下的辩论诊断方法及其应用研究》(项目编号:61672122)
开放环境下的分布式动态软件系统,如软件Agent、Web服务,是一类特殊的分布式离散事件系统(DDESs),其动态性、自主性、广泛参与性对当前软件诊断技术,特别是基于模型诊断,提出了诸多挑战。针对这类DDESs难以预先定义故障模式、难以定义完备的正常或异常行为模型、没有组件源代码可用等问题,本项目将放宽传统故障诊断的模型完备假设,在学习产生的隐态模型和人工创建的部分模型的基础上探讨具有辩论协商特点的分布式诊断理论和算法。为此本项目主要研究:(1)辩论诊断理论和方法,包括辩论诊断框架及其语义、诊断模型、诊断不确定性和可诊断性;(2)辩论诊断在分布式动态软件系统中的应用研究,通过模型生成、诊断算法、分布式辩论诊断系统等方面的工作而建立基于辩论的服务故障的诊断方法。
国家自然科学基金,《基于模型的结构性程序错误的诊断方法研究》(项目编号:61175056)
由于软件已经成为各类技术系统、物理系统、电子设备等的重要组成成分,程序错误对系统可靠性的影响是不可小视的。程序错误诊断就是用计算机辅助用户检测程序错误,定位错误原因,甚至是改正错误。基于模型的软件调试是一种典型的以演绎推理为基础的程序错误诊断方法,其原理是在一个描述软件系统结构和行为的逻辑模型上进行推理,完成行为预测、故障定位、测试等任务。不过就错误诊断的质量而言,现有方法对于现实程序都显露出一些难于解决的问题,如何诊断结构性的程序错误是一个开问题。为此本课题将把错误诊断视为受怀疑语句间的辩论游戏,研究基于辩论的程序错误诊断理论和方法,探索能够处理结构性程序错误的诊断技术;研究程序模型构造算法,多错误定位与修复算法以及优化诊断推理的相容性检查的快速算法;研制一个能够处理中等规模Java程序的程序错误诊断系统。