專利名稱:嵌入式專家系統(tǒng)事實(shí)創(chuàng)建控制方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及自動(dòng)化技術(shù)領(lǐng)域中的專家系統(tǒng),具體講涉及一種嵌入式專 家系統(tǒng)事實(shí)創(chuàng)建控制方法及系統(tǒng)。
技術(shù)背景基于規(guī)則的專家系統(tǒng)(包括嵌入式專家系統(tǒng)),其基本組成有以下幾 個(gè)部分1. 事實(shí)列表(Fact List),包含推理所需的數(shù)據(jù),通常用自定義事實(shí) 構(gòu)成事實(shí)集合;2. 知識(shí)庫(Knowledge Base),包含所有規(guī)則,通常用自定義規(guī)則形成3. 推理機(jī)(Inference Engine),按一定推理機(jī)制進(jìn)行推理并對運(yùn)行進(jìn) 行總體控制。事實(shí)是專家系統(tǒng)內(nèi)數(shù)據(jù)的基本形色,每一條事實(shí)表示當(dāng)前事實(shí)表中的 一條信息,而模板(Deftemplate)用于定義事實(shí)的顯式結(jié)構(gòu),由一個(gè)模板 名和多個(gè)域定義即模版槽(slot)組成。含模板的自定義模版事實(shí) (Deftemplate fact),不同于普通事實(shí),由模板名和一系列含域名的域組 成,與規(guī)則匹配時(shí),以域名為標(biāo)準(zhǔn),域位置可以交換。自定義模板(Deftemplate)結(jié)構(gòu)的一般格式為(deftemplate 〈relation—name〉 [〈optional-comment〉]〈slot-definition〉氺)<slot-definition)::=(slot〈slot-name》/(multislot<slot_name〉)其中slot表示單字段槽,multislot表示多字段槽。例如事實(shí)person 可描述成如下模板(defetmplate person "An example deftemplate,, (slot name) (slot age) (slot eye-color) (slot hair-color))自定義事實(shí),其結(jié)構(gòu)一般格式如下(deffacts<deffacts-name〉[<optional_comment>]〈fact〉氺) 例如事實(shí)(deffacts people "some person we know" (person (name "John Q. Public" ) (age24) (eye color blue) (hair colour black))(person (name "Jack S. Public" ) (age28) (eye color black) (hair-color red)) )作為專家系統(tǒng),特別是嵌入式專家系統(tǒng),其模版定義和事實(shí)創(chuàng)建將涉 及的slot槽的數(shù)量比較大,需要對各slot槽分別定義槽名、類型、缺省值等,或需要對事實(shí)的各個(gè)槽進(jìn)行賦值處理,尤其在所開發(fā)的專家系統(tǒng)規(guī) 模比較大且模版定義復(fù)雜條件下,模版定義和事實(shí)創(chuàng)建過程和修改維護(hù)過 程工作量較大。嵌入式專家系統(tǒng)中設(shè)置工作存儲(chǔ)區(qū),用于保存參與推理過程的事實(shí), 即推理所需的數(shù)據(jù),知識(shí)庫保存所有領(lǐng)域規(guī)則,推理機(jī)決定各規(guī)則是否為 事實(shí)滿足并根據(jù)規(guī)則優(yōu)先級(jí)進(jìn)行推理,外部控制模塊協(xié)調(diào)控制上述過程并 實(shí)現(xiàn)外部數(shù)據(jù)接口 ?,F(xiàn)有常規(guī)技術(shù)是借助編程接口通過硬編碼方式控制嵌 入式專家系統(tǒng)的內(nèi)部環(huán)境和運(yùn)行操作,創(chuàng)建模版時(shí),外部控制模塊根據(jù)需 要向?qū)<蚁到y(tǒng)工作存儲(chǔ)區(qū)內(nèi)逐個(gè)扦插模版和槽(包括槽名、類型、缺省值 等),事實(shí)創(chuàng)建時(shí)將對各槽進(jìn)行逐個(gè)賦值處理,所有槽信息和槽值均由外 部控制模塊通過編程接口進(jìn)行硬編碼編程控制。所有模版和事實(shí)信息均在外部控制模塊直接控制,其缺陷是該控制模 塊功能龐大,既需要實(shí)現(xiàn)嵌入式專家系統(tǒng)與外界的通信與聯(lián)絡(luò)功能,又需 要實(shí)現(xiàn)專家系統(tǒng)內(nèi)部工作存儲(chǔ)區(qū)具體內(nèi)容的管理,將導(dǎo)致該控制模塊與專 家系統(tǒng)之間的偶合過緊密,致使整個(gè)應(yīng)用系統(tǒng)過程復(fù)雜化、同時(shí)增加系統(tǒng) 調(diào)試難度和維護(hù)難度。發(fā)明內(nèi)容本發(fā)明要解決的技術(shù)問題是,實(shí)現(xiàn)嵌入式專家系統(tǒng)模版事實(shí)的自動(dòng)創(chuàng) 建并能輕松維護(hù)操作。為解決上述技術(shù)問題,本發(fā)明提供了一種嵌入式專家系統(tǒng)事實(shí)創(chuàng)建控 制方法,其特征在于,首先進(jìn)行事件定義,并建立定義表,當(dāng)定義的事件 發(fā)生時(shí),外部控制模塊調(diào)用存儲(chǔ)區(qū)控制模塊,由存儲(chǔ)區(qū)控制模塊根據(jù)定義表控制在存儲(chǔ)區(qū)內(nèi)創(chuàng)建模版事實(shí)。存儲(chǔ)區(qū)控制模塊控制在存儲(chǔ)區(qū)內(nèi)創(chuàng)建事實(shí)的步驟可以為-步驟一、根據(jù)定義表確定處理事件需要?jiǎng)?chuàng)建的事實(shí);步驟二、根據(jù)定義表檢査與當(dāng)前需要?jiǎng)?chuàng)建的事實(shí)相關(guān)的存儲(chǔ)區(qū)中的存 儲(chǔ)模塊是否存在;若不存在則定義相關(guān)存儲(chǔ)模塊;步驟三、根據(jù)定義表檢査與當(dāng)前需要?jiǎng)?chuàng)建的事實(shí)相關(guān)的模版是否存 在,若不存在則定義相關(guān)模版及其模版槽;步驟四、初始化需要?jiǎng)?chuàng)建的事實(shí);步驟五、根據(jù)定義表及己定義的模版讀取數(shù)據(jù)源、數(shù)據(jù)項(xiàng)和數(shù)據(jù)處理 要求;步驟六、根據(jù)數(shù)據(jù)定義要求讀取并處理數(shù)據(jù)項(xiàng),將結(jié)果賦到相應(yīng)模版步驟七、重復(fù)進(jìn)行步驟五、步驟六,對各個(gè)模版槽進(jìn)行賦值; 步驟八、在存儲(chǔ)模塊上完成一個(gè)事實(shí)的創(chuàng)建;步驟九、重復(fù)進(jìn)行步驟二至步驟八,進(jìn)行下一個(gè)事實(shí)的創(chuàng)建,直至完 成處理事件所需要的所有事實(shí)的創(chuàng)建。為解決上述技術(shù)問題,本發(fā)明還提供了一種嵌入式專家系統(tǒng)事實(shí)創(chuàng)建 控制系統(tǒng),包括外部控制模塊、存儲(chǔ)區(qū),還包括存儲(chǔ)區(qū)控制模塊及定義表, 定義的事件發(fā)生時(shí),外部控制模塊調(diào)用存儲(chǔ)區(qū)控制模塊,由存儲(chǔ)區(qū)控制模 塊根據(jù)定義表控制在存儲(chǔ)區(qū)內(nèi)創(chuàng)建模版事實(shí)。定義表可以包括事實(shí)信息定義、模版信息定義、模版槽信息定義、事實(shí)模版槽信息定義、數(shù)據(jù)來源信息定義。本發(fā)明的嵌入式專家系統(tǒng)事實(shí)加載控制方法及系統(tǒng),將模版信息及事 實(shí)信息的定義過程與加載過程徹底分離,獨(dú)立定義事實(shí)信息、模版信息、 模版槽信息、事實(shí)模版槽信息、數(shù)據(jù)來源信息,并開發(fā)標(biāo)準(zhǔn)的外部控制模 塊,該模塊實(shí)時(shí)根據(jù)所發(fā)生的事件并依據(jù)定義表的相關(guān)信息內(nèi)容確定事實(shí) 加載過程和內(nèi)容。實(shí)現(xiàn)了嵌入式專家系統(tǒng)模版事實(shí)的自動(dòng)創(chuàng)建并能輕松維 護(hù)操作。
圖1是本發(fā)明中的存儲(chǔ)區(qū)控制模塊的創(chuàng)建事實(shí)流程圖; 圖2是現(xiàn)有常規(guī)嵌入式專家系統(tǒng)事實(shí)創(chuàng)建控制功能架構(gòu)圖; 圖3是本發(fā)明的嵌入式專家系統(tǒng)事實(shí)創(chuàng)建控制功能架構(gòu)圖。
具體實(shí)施方式
下面結(jié)合附圖及具體實(shí)施方式
對本發(fā)明作進(jìn)一步詳細(xì)說明。 如圖3所示,本發(fā)明的實(shí)施方式將模版和模版事實(shí)創(chuàng)建從專家系統(tǒng)外 部控制模塊內(nèi)剝離出來,由 一專門設(shè)計(jì)的專家系統(tǒng)存儲(chǔ)區(qū)控制模塊控制, 進(jìn)行模版和事實(shí)的內(nèi)容創(chuàng)建,使專家系統(tǒng)工作存儲(chǔ)區(qū)的創(chuàng)建模塊相對獨(dú) 立。為模版和事實(shí)定義各自加載條件或加載事件,當(dāng)模版和事實(shí)加載條件 或加載事件出現(xiàn)時(shí),該存儲(chǔ)區(qū)控制模塊進(jìn)行模版定義或根據(jù)已定義模版讀 取數(shù)據(jù)源、數(shù)據(jù)項(xiàng)和數(shù)據(jù)處理要求,根據(jù)數(shù)據(jù)定義要求讀取并處理數(shù)據(jù)項(xiàng), 將結(jié)果賦到相應(yīng)模版槽,從而存儲(chǔ)區(qū)創(chuàng)建事件需要?jiǎng)?chuàng)建的事實(shí)。本發(fā)明的實(shí)施方式對所有數(shù)據(jù)來源進(jìn)行分類整理定義,明確定義各事 實(shí)模版槽值的數(shù)據(jù)來源和數(shù)據(jù)項(xiàng)目,明確事實(shí)創(chuàng)建的數(shù)據(jù)項(xiàng)目。通過對嵌入式專家系統(tǒng)的編程接口進(jìn)行二次封裝,當(dāng)有關(guān)定義的事件 發(fā)生時(shí),專家系統(tǒng)控制模塊調(diào)用存儲(chǔ)區(qū)控制模塊,該模塊讀取該事件對應(yīng) 的事實(shí)定義信息,并實(shí)現(xiàn)自定義模版和自動(dòng)創(chuàng)建事實(shí)。事件定義主要解決自定義模版和模版事實(shí)加載條件的事先定義,當(dāng)所定義的事件發(fā)生或條件滿足時(shí),專家系統(tǒng)存儲(chǔ)區(qū)控制模塊自動(dòng)加載相關(guān)模 版和事實(shí)。事件類型包括兩類:信號(hào)觸發(fā)類事件和時(shí)間定周期觸發(fā)類事件。實(shí)施方式中定義表包括事實(shí)信息定義、模版信息定義、模版槽信息定 義、事實(shí)模版槽信息定義、數(shù)據(jù)來源信息定義。模版信息定義以明碼方式定義模版序號(hào)(TEMPLATEID)、模版的名稱 (PLATENAME)、模版類型(PLATETYPE)、加載事件等信息,示例如下TEMPLATEID PLATENAME PLAYETYPE DESCRIPTION1 Template—A—PCS—Data 1 短期推理PCS模版2 Template—A—LHS_Para 2 短期推理LHS模版3 Template_A—RHS_Para 3 短期推理LHS模版4 Template—B—PCS_Data 1 中期推理PCS模版5 Template_B_LHS—Para 2 中期推理LHS模版6 Template_B—RHS_Para 3 中期推理LHS模版7 Template_Result 4 Result模版模版槽信息定義以明碼方式定義模版槽序號(hào)(SLOTID)、模版槽名 稱(SLOTNAME)、數(shù)據(jù)類型(DATATYPE)、所屬模版(TEMPLATEID) 以及默認(rèn)值(DEFAULTVAL)信息,示例如下SLOTIDTEMPLATEID DATATYPE SLOTNAME DEFAULTVALl薩 1 11 dtc—bff—bhv一000一avg2m 350011002 1 11 dtcb^—top_000 211003 1 11 dtc—cif一blc—c00 053001 15 11 tz3064 -50053002 15 11 tz3065 -200 61001 16 12 source 061004 16 12 operate 061005 16 11 wind air adv 0事實(shí)信息定義以明碼方式定義事實(shí)的序號(hào)(FACTID)、名稱 (FACTNAME)、模版類型(TEMPLATEID)、存儲(chǔ)模塊(M0DULE)、加載事件 (TRIGGER)等信息,示例如下FACTIDFACTNAMEMODULETEMPLATEIDTRIGGERDESCRIPTION11Fact_A_PCS_DataMain1300Sec短期推理PCS事實(shí)12Fact _A_LHS_ParaMain2300Sec短期推理LHS事實(shí)13Fact _A—RHS_ParaMain3300Sec短期推理LHS事實(shí)21Fact —B_PCS_DataMain4900 Sec中期推理PCS事實(shí)22FactJB_LHS_ParaMain900 Sec中期推理LHS事實(shí)23Fact —B_RHS—ParaMain6900 Sec中期推理LHS事實(shí)31Fact ResultMain■730 SecResult事實(shí)確定所有事實(shí)加載過程的數(shù)據(jù)來源,并進(jìn)行分類,如OPC Server, 中間件平臺(tái),數(shù)據(jù)庫表等,并對所有的數(shù)據(jù)來源分別定義。針對各事實(shí)Fact (FACTID)的各個(gè)Slot槽(SL0TID),分別定義其 數(shù)據(jù)源(0RIGINID)、數(shù)據(jù)項(xiàng)(ITEM)、數(shù)據(jù)處理要求(ACTION, INTERVAL, OFFSET)等信息,示例如下SLOTTOFACTIDORIGINIDITEMACTIONINTERVALOFFSET11001111dtc—bff—blw—00015Minlnf011003111dtc一cif一blc—c0030Seclnf011004111ptm_bfg_ 1 ng^_sv35Minlnf033002134tzl029032008133gzl0860事實(shí)的加載過程是由事件觸發(fā)執(zhí)行的。事件觸發(fā)后將逐個(gè)加載所需的 事實(shí),在加載過程中需要檢查存儲(chǔ)區(qū)上的存儲(chǔ)模塊和模版定義情況。具體過程如下步驟一、根據(jù)定義表確定處理事件需要?jiǎng)?chuàng)建的事實(shí);步驟二、根據(jù)定義表檢査與當(dāng)前需要?jiǎng)?chuàng)建的事實(shí)相關(guān)的存儲(chǔ)區(qū)中的存儲(chǔ)模塊是否存在;若不存在則定義相關(guān)存儲(chǔ)模塊;步驟三、根據(jù)定義表檢査與當(dāng)前需要?jiǎng)?chuàng)建的事實(shí)相關(guān)的模版是否存 在,若不存在則定義相關(guān)模版及其模版槽;步驟四、初始化需要?jiǎng)?chuàng)建的事實(shí);步驟五、根據(jù)定義表及已定義的模版讀取數(shù)據(jù)源、數(shù)據(jù)項(xiàng)和數(shù)據(jù)處理 要求;步驟六、根據(jù)數(shù)據(jù)定義要求讀取并處理數(shù)據(jù)項(xiàng),將結(jié)果賦到相應(yīng)模版槽;步驟七、重復(fù)進(jìn)行步驟五、步驟六,對各個(gè)模版槽進(jìn)行賦值; 步驟八、在存儲(chǔ)模塊上完成一個(gè)事實(shí)的創(chuàng)建;步驟九、重復(fù)進(jìn)行步驟二至步驟八,進(jìn)行下一個(gè)事實(shí)的創(chuàng)建,直至完 成處理事件所需要的所有事實(shí)的創(chuàng)建。本發(fā)明主要適用于基于自定義模板結(jié)構(gòu)、自定義事實(shí)結(jié)構(gòu)的嵌入式專 家系統(tǒng)推理應(yīng)用,解決自定義模版(Defte即late)及模版槽(Slot)的 定義,解決自定義模版事實(shí)(Defte即latefact)的創(chuàng)建和各槽的數(shù)據(jù)定 義,實(shí)現(xiàn)專家系統(tǒng)自定義模版和自定義模版事實(shí)的自動(dòng)定義功能。本發(fā)明 針對嵌入式專家系統(tǒng),將自定義模版和事實(shí)的內(nèi)容定義與專家系統(tǒng)控制模 塊剝離,建立獨(dú)立的專家系統(tǒng)存儲(chǔ)區(qū)控制模塊,可實(shí)現(xiàn)事實(shí)的自動(dòng)定義和自動(dòng)加載控制,提高了嵌入式專家系統(tǒng)的靈活性和開發(fā)效率。
權(quán)利要求
1、一種嵌入式專家系統(tǒng)事實(shí)創(chuàng)建控制方法,其特征在于,首先進(jìn)行事件定義,并建立定義表,當(dāng)定義的事件發(fā)生時(shí),外部控制模塊調(diào)用存儲(chǔ)區(qū)控制模塊,由存儲(chǔ)區(qū)控制模塊根據(jù)定義表控制在存儲(chǔ)區(qū)內(nèi)創(chuàng)建模版事實(shí)。
2、 根據(jù)權(quán)利要求1所述的嵌入式專家系統(tǒng)事實(shí)創(chuàng)建控制方法,其特征在于,存儲(chǔ)區(qū)控制模塊控制在存儲(chǔ)區(qū)內(nèi)創(chuàng)建模版事實(shí)的步驟為步驟一、根據(jù)定義表確定處理事件需要?jiǎng)?chuàng)建的事實(shí);步驟二、根據(jù)定義表檢査與當(dāng)前需要?jiǎng)?chuàng)建的事實(shí)相關(guān)的存儲(chǔ)區(qū)中的存 儲(chǔ)模塊是否存在;若不存在則定義相關(guān)存儲(chǔ)模塊;步驟三、根據(jù)定義表檢査與當(dāng)前需要?jiǎng)?chuàng)建的事實(shí)相關(guān)的模版是否存 在,若不存在則定義相關(guān)模版及其模版槽;步驟四、初始化需要?jiǎng)?chuàng)建的事實(shí);步驟五、根據(jù)定義表及已定義的模版讀取數(shù)據(jù)源、數(shù)據(jù)項(xiàng)和數(shù)據(jù)處理 要求;步驟六、根據(jù)數(shù)據(jù)定義要求讀取并處理數(shù)據(jù)項(xiàng),將結(jié)果賦到相應(yīng)模版步驟七、重復(fù)進(jìn)行步驟五、步驟六,對各個(gè)模版槽進(jìn)行賦值; 步驟八、在存儲(chǔ)模塊上完成一個(gè)事實(shí)的創(chuàng)建;步驟九、重復(fù)進(jìn)行步驟二至步驟八,進(jìn)行下一個(gè)事實(shí)的創(chuàng)建,直至完 成處理事件所需要的所有事實(shí)的創(chuàng)建。
3、 根據(jù)權(quán)利要求2所述的嵌入式專家系統(tǒng)事實(shí)創(chuàng)建控制方法,其特 征在于,以明碼方式定義模版序號(hào)、模版名稱、模版類型、加載事件等模 版信息;定義模版槽序號(hào)、模版槽名稱、數(shù)據(jù)類型、所屬模版、默認(rèn)值等 模版槽信息;定義事實(shí)序號(hào)、事實(shí)名稱、模版序號(hào)、存儲(chǔ)模塊、加載事件 等事實(shí)信息;定義其數(shù)據(jù)源、數(shù)據(jù)項(xiàng)、數(shù)據(jù)處理要求等事實(shí)模版槽信息; 定義數(shù)據(jù)來源信息。
4、 根據(jù)權(quán)利要求1、2或3所述的嵌入式專家系統(tǒng)事實(shí)創(chuàng)建控制方法, 其特征在于,事件類型包括兩類信號(hào)觸發(fā)類事件和時(shí)間定周期觸發(fā)類事 件。
5、 一種專家系統(tǒng)事實(shí)創(chuàng)建控制系統(tǒng),包括外部控制模塊、存儲(chǔ)區(qū), 其特征在于,還包括存儲(chǔ)區(qū)控制模塊及定義表,定義的事件發(fā)生時(shí),外部 控制模塊調(diào)用存儲(chǔ)區(qū)控制模塊,由存儲(chǔ)區(qū)控制模塊根據(jù)定義表控制在存儲(chǔ) 區(qū)內(nèi)創(chuàng)建模版事實(shí)。
6、 根據(jù)權(quán)利要求5所述的專家系統(tǒng)事實(shí)創(chuàng)建控制系統(tǒng),其特征在于, 定義表包括事實(shí)信息定義、模版信息定義、模版槽信息定義、事實(shí)模版槽 信息定義、數(shù)據(jù)來源信息定義。
全文摘要
本發(fā)明屬于嵌入式專家系統(tǒng)技術(shù)領(lǐng)域,公開了一種嵌入式專家系統(tǒng)事實(shí)創(chuàng)建控制方法,其首先進(jìn)行事件定義,并建立定義表,當(dāng)定義的事件發(fā)生時(shí),外部控制模塊調(diào)用存儲(chǔ)區(qū)控制模塊,由存儲(chǔ)區(qū)控制模塊根據(jù)定義表控制在存儲(chǔ)區(qū)內(nèi)創(chuàng)建模版事實(shí)。還公開了一種嵌入式專家系統(tǒng)事實(shí)創(chuàng)建控制系統(tǒng),包括外部控制模塊、存儲(chǔ)區(qū),還包括存儲(chǔ)區(qū)控制模塊及定義表,定義的事件發(fā)生時(shí),外部控制模塊調(diào)用存儲(chǔ)區(qū)控制模塊,由存儲(chǔ)區(qū)控制模塊根據(jù)定義表控制在存儲(chǔ)區(qū)內(nèi)創(chuàng)建模版事實(shí)。定義表包括事實(shí)信息定義、模版信息定義、模版槽信息定義、事實(shí)模版槽信息定義、數(shù)據(jù)來源信息定義。本發(fā)明實(shí)現(xiàn)了嵌入式專家系統(tǒng)模版事實(shí)的自動(dòng)創(chuàng)建并能輕松維護(hù)操作。
文檔編號(hào)G05B13/02GK101334635SQ200710093920
公開日2008年12月31日 申請日期2007年6月29日 優(yōu)先權(quán)日2007年6月29日
發(fā)明者徐長盛, 鈞 陶 申請人:上海寶信軟件股份有限公司