Experimental Adaptive Model-based Diagnostic System

Overview
 
 An adaptive diagnostic system with learning capability.

Characteristics

  1) Model-based diagnosis

      It performs model-based diagnosis, utilizing knowledge about the 
      structure of the target device and the function of each component.
      This eliminates the necessity of interviewing experts in order
      to build a diagnostic knowledge base.

  2) Adaptive diagnosis mechanism with learning capability

      It learns fault probability distribution, based on its diagnostic
      experience, in order to pinpoint the faulty component with minimum 
      number of tests.

  3) Parallel processing 

      Parallel computation on Multi-PSI machine reduces the computation
      time for the diagnosis and the learning function.

Function
 The learning function of the system first estimates fault probability 
distribution for each component from the past case record. The learning 
is performed by an inductive learning algorithm, which is based on MDL 
measurement. This complex task is processed in parallel.

 Then the diagnosis function  calculates the suspect list for given 
symptom and observation data. This task is performed by utilizing a
model-based knowledge which models behavior and interconnection of the 
target device components. This model knowledge is represented in 
first-order predicate scheme and written in thelogic programming 
language KL1. The system computes the suspect list by a hypothetical 
reasoning which calculates a set of explanations of faulty outputs of the
given symptom. This function is also complex and implemented in parallel.


Environment

  Pseudo Multi-PSI on PSI-II
  Pseudo PIM on PSI-UX
  Multi-PSI


File Content

	Utility:
		comp0.com
		comp10.com
		deactall.esp
		demo_comp.esp
		democomp2.esp
		esp_lines.esp
		kl1_lines.esp
		relink.com
		unload.com
		unload0.com

	cmp_data:
		build_mng.cmp
		fadd_8_x.cmp
		fadd_8_y.cmp
		fadd_8_z.cmp
		full_adder.cmp
		packet.cmp
		
	data_base:
		conn.kl1
		fork.kl1
		main.kl1
		packet_db.esp
		packet_db.kl1
		packet_u.esp
		packet_u.kl1
		tpg2_body.esp
		tpg2_body.kl1
		tpg2_main.esp
		tpg2_main.kl1

	def_data2:
		build_mng.p
		building_mng.p
		f_adder.p_11
		f_adder.p_21
		f_adder.p_31
		f_adder.p_41
		fadd_8_x.patte
		fadd_8_y.patte
		fadd_8_z.patte
		full_adder.pat
		packet.p_11
		packet.p_21

	diag:
		diag_auto.esp
		diag_cost.wb
		diag_demo.esp
		diag_mode.esp
		diag_stady.esp
		diag_stady.new
		diag_val.esp
		diagnosis.esp
		diagnosis.new
		joho_ctrl.esp
		joho_data.esp
		joho_data.wb
		joho_draw.esp
		joho_draw.win
		joho_fnsub.win
		joho_fnsup.win
		learn_ctrl.win
		learn_draw.esp
		learn_draw.win
		learn_ebg.esp
		learn_ebg.new
		learn_know.esp
		learn_pre.esp
		learn_rule.esp
		sl_cache.wb
		sl_calc.esp
		sl_calc_p.esp
		sl_control.esp
		sl_control.new
		sl_data.wb
		sl_draw.esp
		sl_draw.win
		sl_know.esp
		sl_know.win
		sl_make.esp
		sl_make.new
		tpg_base.esp
		tpg_base.win
		tpg_cache.esp
		tpg_cache.new
		tpg_cache.wb
		tpg_calc.esp
		tpg_ctrl.esp
		tpg_make.esp
		tpg_make.new
		tpg_make2.esp
		tpg_make2.new
		tpg_p_calc.esp
		tpg_result.esp
		tpg_result.win
		tpg_select.esp
		tpg_sl_calc.wb
		tpg_slcalc.esp

	diag2:
		data_keep.esp
		diag_ctrl.esp
		diag_demo.esp
		diag_main.esp
		know_win.esp
		sl_calc.esp
		sl_calc2.tmp
		sl_calc3.esp
		sl_control.esp
		title_back.esp
		tpg_ctrl.esp
		tpg_hyoka.esp

	diag_kl1:
		d_super.esp
		diag_demo.esp
		diag_main.kl1
		sl_calc.kl1
		sl_calc2.kl1
		sl_control.kl1
		tpg_check.kl1
		tpg_hyoka.kl1
		tpg_hyoka2.kl1

	editor:
		auto_link.esp
		dellink.esp
		ed_main.esp
		editmenu.esp
		editsuper.esp
		editwin.esp
		file_name.esp
		file_uti.esp
		func_index.esp
		grid.esp
		link.esp
		load_data.esp
		m_link.esp
		make_link.esp
		make_node.esp
		make_node2.esp
		move_data.tool
		node.esp
		node_elm.esp
		node_index.esp
		node_name.esp
		ref_node.esp
		save_data.esp
		sel_file.esp
		sel_func.esp
		sel_mouse.esp
		temp_node.esp
		winmethod.esp

	editor2:
		bldmngrtpg.esp
		bldmngstpg.esp
		conn.esp
		data_table.esp
		diag_t.esp
		dr_uti.esp
		e_library.esp
		ed_super.esp
		editor.esp
		f_refresh.esp
		fadd_rtpg.esp
		fadd_stpg.esp
		gc_checkaer.esp
		generator.esp
		init_load.esp
		init_load.esp
		m_super.esp
		main.esp
		mdl_intf.esp
		monitor.esp
		packet.esp
		packet2.esp
		psim.esp
		pwin.esp
		sel_file.esp
		sim_win1.esp
		sj_pksw2.esp
		state.esp
		tp_pool.esp
		tpg.esp
		ttt.tmp

	editor_kl1:
		bldmngrtpg.kl1
		bldmngstpg.kl1
		buf2.kl1
		data_table.kl1
		diag_ctrl.kl1		
		ed_super.esp
		ed_super.old
		editor.kl1
		fadd_rtpg.kl1
		fadd_stpg.kl1
		generator.kl1
		m_super.esp		
		m_super.old
		main.kl1
		packet.kl1
		super.esp
		tp_array.kl1
		tp_indexb.kl1
		tp_indexc.kl1
		tp_indexc2.kl1
		tpg.kl1
		tpg1.kl1
		tpg1_1.kl1
		tpg2.kl1
		tpg3.kl1
		tpg_ctrl.kl1
		winmethod.new

	exp_data:
		build_mng.exp
		fadd_8_x.exp
		fadd_8_y.exp
		fadd_8_z.exp
		full_adder.exp
		packet.exp

	font:
		b_8_14.font
		test_11.font
		tiny_7.font

	func_data:
		and2_1.func
		ba3_3.func
		ban3_3.func
		bldmng.func
		ccp5_5.func
		ctrller.func
		datamng.func
		fadd17_9.func
		fadd3_2.func
		fadd3_2_c.func
		hconsw.func
		hmdsnsr.func
		lcp2_2.func
		llc3_3.func
		llcn3_3.func
		lut3_3.func
		ncp2_2.func
		or2_1.func
		packet14.func
		rmmng.func
		sb1_1.func
		swmng.func
		tconsw.func
		tmpsnsr.func
		xor2_1.func

	main:
		class_def.espX
		demo_menu.esp
		demo_title.esp
		exit_check.esp
		font_def.espX
		main_demo.esp
		mesg_win.esp
		sub.esp

	mdl_DB:
		mdl_tree
		mdl_tree.dat
		mdl_tree02.dat
		mdl_tree03.dat
		mdl_tree04.dat
		mdl_tree2
		mdl_tree3
		mdl_tree4
		model_DB.kl1
		model_DB1.kl1
		model_DB2.kl1
		model_DB3.kl1
		model_DB4.kl1
		model_DB5.kl1
		model_DB6.kl1
		model_DB_3.kl1
		model_DB_31.kl
		model_DB_4.kl1
		obs_DB.dat
		obs_DB1.dat
		obs_DB2.dat
		obs_DB3.dat
		obs_DBp.dat
		packet.dat
		packet_1.dat
		packet_2.dat
		packet_3.dat
		packet_4.dat

	mdl_data:
		packet.mdl

	mdl_demo:
		ReadMe.doc
		a_DB.kl1
		a_arith.kl1
		a_mdl.kl1
		a_mdl_util_1.k
		a_util.kl1
		b_STB.kl1
		b_STB_util_1.k
		c_mdl.kl1
		cmpMDL5gc.inf
		init.mdl
		k_io.kl1
		k_util.kl1
		m_arith.kl1
		m_dmain5_g.kl1
		m_dutil5.kl1
		m_file.kl1
		m_g_cut5.kl1
		m_gct_df51_p.k
		m_gct_df52_p.k
		m_out.kl1
		m_pe2.kl1
		m_rep_tree.kl1
		m_top.kl1
		mdl_CutInf.kl1
		mdl_demo.kl1
		mdl_util.kl1
		relink5gc.inf
		unload5gc.inf

	mdl_win:
		k_prolog.esp
		mColor.esp
		mColorInf.esp
		mWhich.esp
		m_converter.es
		m_cut_w.esp
		m_disp_w.esp
		m_display.esp
		m_distribute.e
		m_env.esp
		m_environ.esp
		m_expla.esp
		m_font_table.e
		m_general_w.es
		m_graph_main.e
		m_graph_util.e
		m_graph_win.es
		m_io.esp
		m_manager.esp
		m_manager.old
		m_matrix_w.esp
		m_monitor.esp
		m_node_db.esp
		m_node_util.es
		m_obs_file.esp
		m_top_w.esp
		m_tree.esp
		s_env.esp
		s_env_win.esp
		s_util.esp

	simulator:
		meta.esp
		poolp.esp
		sim_atts.icon
		sim_ctrl.esp
		sim_ctrl.new
		sim_demo.esp
		sim_menu1.esp
		sim_menu2.esp
		sim_menu3.esp
		sim_win1.esp
		sim_win2.esp
		simulator.esp
		simulator.new

	simulator2:
		ddf_utl.esp
		dr_utl2.esp
		k_sim_demo.esp
		k_sim_init.esp
		k_sim_mnu0.esp
		k_sim_mnu1.esp
		k_sim_mnu2.esp
		k_sim_mnu3.esp
		k_sim_pool.esp
		k_sim_st.esp
		k_sim_utl.esp
		k_sim_win0.esp
		k_sim_win1.esp
		k_sim_win2.esp
		ksimdemo2.esp
		p_st.esp
		sj_bldgmng.esp
		sj_fadd.esp
		sj_pksw.esp
		sj_xbldmng.esp
		sj_xfadd.esp
		sj_xpksw.esp

	simulator_kl1:
		democomp.com
		k_sim_ctrl.esp
		k_sim_ctrl.kl1
		k_sim_demo.kl1
		k_sim_intf.esp
		k_sim_p_st.kl1
		k_sim_st.kl1
		k_sim_svr.ESP
		k_sim_utl.kl1
		k_simdemo2.kl1
		packet_db.KL1
		packet_u.KL1
		sim_packet.kl1
		sj_bldgmng.kl1
		sj_fadd.kl1
		sj_pksw.kl1
		sj_xbldmng.kl1
		sj_xfadd.kl1
		sj_xpksw.kl1

	tr_data:
		buildmng.tr
		fadd_8_x.tr
		fadd_8_y.tr
		fadd_8_z.tr
		full_adder.tr
		packet.tr

	wb:
		wb_def.esp

	wb_lib:
		Univ.esp
		astret.esp
		call.esp
		clause.esp
		copy.esp
		listing.esp
		wblib.esp


Install

  Copy these directories within the login directory.
  If you install this system on PSI, translation font files.
  When you make a copy files, you have to keep these sturcture.
  And you have to make directory under the login directory.
  If you install this system on PSI-UX, you translate font files.
  
  
