www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 工業(yè)控制 > 工業(yè)控制
[導(dǎo)讀]針對隨著自動售貨機控制器由簡單不斷地變得龐大,從而出現(xiàn)的難擴展、難維護問題,在傳統(tǒng)的有限狀態(tài)機理論基礎(chǔ)上,提出一種層次型有限狀態(tài)機(Hierarchical FSM,HFSM)模型。該模型對系統(tǒng)狀態(tài)進行抽象,增加中間狀態(tài),并將復(fù)雜的系統(tǒng)狀態(tài)圖轉(zhuǎn)化為一棵狀態(tài)樹,利用狀態(tài)的局部相關(guān)性查找下一個目標狀態(tài)。分析表明,該模型能有效地解決復(fù)雜系統(tǒng)的“龐大癥”。

引 言
   
售貨機上除基本自動售貨功能外,增加了諸多功能,如GPRS短信模塊以加強安全監(jiān)控,在售貨機上播放視頻廣告以提高運營商的經(jīng)濟效益等。這就使得存在于售貨機內(nèi)部的控制器(Vencling Machine Controller,VMC)的復(fù)雜程度也迅速增加,先前的一套用于小規(guī)模嵌入式系統(tǒng)的分析設(shè)計方法、應(yīng)用程序結(jié)構(gòu)、運行效率與易維護程度在當前的售貨機需求面前顯得有些力不從心了。有限狀態(tài)機理論在計算機應(yīng)用領(lǐng)域有著廣泛的應(yīng)用,狀態(tài)機對處理一些復(fù)雜情況也大有裨益。在設(shè)計階段,開發(fā)人員可以利用狀態(tài)機模型來描述復(fù)雜的系統(tǒng),從而大大縮短項目的開發(fā)周期,且系統(tǒng)易于維護。魏先民提出了有限狀態(tài)機在嵌入式領(lǐng)域應(yīng)用的一個基本框架,但是在這個框架中,系統(tǒng)中的所有狀態(tài)都是互斥的關(guān)系,盡管有些狀態(tài)之間存在著緊密的關(guān)系。V.Ayvazyan等論述了狀態(tài)之間不僅存在互斥關(guān)系,還存在包含關(guān)系(父狀態(tài)與子狀態(tài))。本文應(yīng)用有限狀態(tài)機的這些特性,提出一個層次型有限狀態(tài)機(Hierarchical FSM,HFSM)模型,對售貨機控制器(VMC)進行改進。

1 有限狀態(tài)機
   
有限狀態(tài)機是一種具有離散輸入輸出系統(tǒng)的模型,在任何時刻都處于一個特定的狀態(tài)。對于事件驅(qū)動的程序設(shè)計,它是非常有用的設(shè)計模型。在某一個狀態(tài)下有事件發(fā)生時,根據(jù)當前狀態(tài)和輸入事件的不同,選擇如何處理該事件以及是否需要轉(zhuǎn)換到下一個狀態(tài)。一個有限狀態(tài)機(FSM)是一個五元組,M=(K,E,T,S,Z)。其中,K是一個有限的狀態(tài)集合,它的每個元素稱為“狀態(tài)”;E表示該系統(tǒng)能接收的所有事件的集合,它的每個元素稱為一個“事件”;T是狀態(tài)轉(zhuǎn)換函數(shù),是K×E→K上的映射;S是系統(tǒng)的一個特殊狀態(tài),一般是系統(tǒng)啟動時的初始狀態(tài);Z是K的一個子集,是一個終態(tài)集。
    有限狀態(tài)機一般有2種表示方式:狀態(tài)轉(zhuǎn)移表和狀態(tài)轉(zhuǎn)移圖。通常用有向圖來表示有限狀態(tài)機,其節(jié)點代表狀態(tài)。如圖1所示,若在狀態(tài)SO接收到某個輸入事件e1后轉(zhuǎn)向S1狀態(tài),就在圖中畫一條從SO到Sl的帶箭頭的弧線,并在弧線上標記e1。

2 基本思想
2.1 必要性分析
   
有限狀態(tài)機是通過事件來觸發(fā)狀態(tài)的轉(zhuǎn)變的,其事件來源主要有2個:其一是外部觸發(fā)事件,如響應(yīng)用戶鍵盤的輸入;其二是內(nèi)部觸發(fā)事件,如系統(tǒng)所發(fā)出來的各種命令。有限狀態(tài)機這種事件驅(qū)動的特性具有良好的開放性,可以根據(jù)用戶的要求方便地增加相應(yīng)的狀態(tài)與事件,完成系統(tǒng)功能的擴展。本文所研究的自動售貨機配有1個5×5的管理鍵盤和1個3×7用戶鍵盤,二者復(fù)用了部分的鍵盤掃描線;另外有37個外部事件源,加上幾條內(nèi)部命令,可能觸發(fā)的事件達45個。如此多的事件,當某個事件發(fā)生時,如果采用if…else或switch…case語句進行一一判斷,將非常復(fù)雜。而采用有限狀態(tài)機,每個狀態(tài)維護一張事件表,無需比較,大大提高了響應(yīng)速度;并且就擴展需求較為頻繁的自動售貨機而言,有限狀態(tài)機也是便于維護的。
2.2 實現(xiàn)方式
    根據(jù)系統(tǒng)中各個狀態(tài)之間是否存在包含關(guān)系,有限狀態(tài)機可以分為常規(guī)狀態(tài)機與層次型狀態(tài)機(hierarchicalstate machine)。對于前者,系統(tǒng)中各個狀態(tài)是獨立的、互斥的,適合應(yīng)用于那些存在狀態(tài)數(shù)量不多的簡單系統(tǒng);而對于后者,系統(tǒng)中的狀態(tài)除了互斥關(guān)系以外,還存在真包含的關(guān)系。
    分析自動售貨機這樣一個狀態(tài)機,圖2為自動售貨機的狀態(tài)圖(不完整)。

    從圖中可以看出,自動售貨機控制器存在的狀態(tài)數(shù)量是比較多的,但是無論何時,自動售貨機總處于空閑、售貨、商品價格設(shè)置、時間設(shè)置、測試等諸多狀態(tài)之中的一個.這些狀態(tài)之間是互斥的。同時,上面列舉的所有狀態(tài)都包含子狀態(tài),例如:狀態(tài)S2(時間設(shè)置狀態(tài))包括日期設(shè)置、時分秒設(shè)置、星期設(shè)置等子狀態(tài),而對于S3(日期設(shè)置狀態(tài))又包括S4(日期顯示狀態(tài))和S5(日期編輯狀態(tài))兩個子狀態(tài)。因此,對于自動售貨機控制器這樣一個系統(tǒng),其內(nèi)部的狀態(tài)機是一種層次型狀態(tài)機。本文根據(jù)層次型狀態(tài)機的互斥與包含的雙重特性,提出層次型有限狀態(tài)機模型,并且用來實現(xiàn)自動售貨機控制器。模型使用樹結(jié)構(gòu)來描述狀態(tài)集,包含其他狀態(tài)的狀態(tài)稱為“樹枝節(jié)點”,不包含其他狀態(tài)的狀態(tài)稱為“葉子節(jié)點”。為方便用單樹結(jié)構(gòu)描述,總是設(shè)計一個狀態(tài)包含所有的狀態(tài)節(jié)點,稱為“根節(jié)點”,它是一個虛擬的節(jié)點,在系統(tǒng)中沒有狀態(tài)與其對應(yīng)。狀態(tài)機只能停留在葉子節(jié)點,而不能停留在樹枝節(jié)點,每個樹枝節(jié)點需指定一個子節(jié)點為它的默認子節(jié)點,以便狀態(tài)機進入樹枝節(jié)點時能停留到葉子節(jié)點。

3 層次型有限狀態(tài)機模型
3.1 數(shù)據(jù)結(jié)構(gòu)定義
    HFSM模型采用樹結(jié)構(gòu)實現(xiàn)有限狀態(tài)機,樹上的每一個節(jié)點都對應(yīng)了自動售貨機狀態(tài)機的一個狀態(tài)。其中根節(jié)點是一個特殊的節(jié)點,它對應(yīng)的是一個虛擬的并不存在的狀態(tài),其目的是為了構(gòu)造一棵單樹,而不是每一個功能對應(yīng)一棵樹。節(jié)點的數(shù)據(jù)結(jié)構(gòu)如下:


    其中,id為狀態(tài)編號,每個狀態(tài)編號在整個系統(tǒng)狀態(tài)機中是唯一的;name為狀態(tài)名;enter_func為狀態(tài)進入操作;exit_func為狀態(tài)退出操作;event_table為事件表;sub_state_table為子狀態(tài)表。因為葉子節(jié)點沒有子狀態(tài),而樹枝節(jié)點沒有狀態(tài)事件表,所以結(jié)構(gòu)中的事件表與子狀態(tài)可以共享一段存儲空間。事件表中每個元素是另外一個結(jié)構(gòu)FSM_STATE_EVENT,它有事件id(與事件源一一對應(yīng))、事件操作(func)和下一狀態(tài)編號(next_state_id)三個成員。圖2所示的狀態(tài)圖子集經(jīng)過處理形成圖3所示的狀態(tài)樹,它是整個自動售貨機狀態(tài)樹的一部分。

3.2 狀態(tài)轉(zhuǎn)換算法
   
在有限狀態(tài)機中,是通過事件的驅(qū)動而進行狀態(tài)轉(zhuǎn)換的。狀態(tài)轉(zhuǎn)換算法的關(guān)鍵就在于查找下一狀態(tài)在狀態(tài)樹中的位置,也就是在狀態(tài)樹中查找下一狀態(tài)的時間復(fù)雜度的問題。與常規(guī)狀態(tài)機不同,層次型狀態(tài)機中的各個狀態(tài)不僅存在互斥關(guān)系,還存在包含關(guān)系,特別是當前狀態(tài)與下一狀態(tài)關(guān)系就更為緊密了,不僅存在局部相關(guān)性,而且在很多情況下,它們之間在狀態(tài)樹中表現(xiàn)為兄弟節(jié)點關(guān)系。因此,要在狀態(tài)樹查找下一狀態(tài),需先查找當前節(jié)點的兄弟節(jié)點,再查找父節(jié)點的兄弟節(jié)點。如此循環(huán),直到找到下一狀態(tài)或試圖查找根節(jié)點的兄弟節(jié)點(根節(jié)點沒有父節(jié)點,所以要查找的下一狀態(tài)是不存在的)。
    狀態(tài)查找算法如下:


    有限狀態(tài)機的一般狀態(tài)轉(zhuǎn)換過程是:系統(tǒng)首先執(zhí)行exit_func退出當前狀態(tài),然后執(zhí)行驅(qū)動此次狀態(tài)轉(zhuǎn)換的事件操作func,最后執(zhí)行enter_func進入新狀態(tài)。為了便于遍歷狀態(tài)樹,系統(tǒng)為層次型有限狀態(tài)機建立一個狀態(tài)堆棧,堆棧中記錄的數(shù)據(jù)是當前狀態(tài)在狀態(tài)樹中對應(yīng)的節(jié)點路徑上所有節(jié)點(自身除外,因為沒有必要人棧)的地址。堆棧的初始狀態(tài)如圖4所示,此時系統(tǒng)處于空閑S1狀態(tài),棧中只有根節(jié)點信息。在某個事件或一系列事件的驅(qū)動下(比如通過按鍵顯示系統(tǒng)的當前日期),系統(tǒng)將要從空閑狀態(tài)轉(zhuǎn)換到日期顯示狀態(tài)S4。從圖3的自動售貨機狀態(tài)樹可以看出,系統(tǒng)需要經(jīng)過S1一S2一S3一S4的過程,中間的S2和S3是不可停留的狀態(tài)。當按下管理鍵盤的“Time”鍵時,系統(tǒng)先執(zhí)行exit_idle函數(shù)退出S1(空閑狀態(tài)),然后根據(jù)空閑狀態(tài)的事件表得到下一狀態(tài)編號,再通過狀態(tài)查找算法搜索狀態(tài)樹,最后到達目的狀態(tài)S4。S2與S3是兩個中間狀態(tài),但是這兩個狀態(tài)節(jié)點的地址需要入棧。

3.3 模型評價
    (1)擴展性
    為層次型有限狀態(tài)機模型增加新功能,只需在其根節(jié)點下增加一個子節(jié)點,因為新的子節(jié)點與其他兄弟節(jié)點是互斥的,所以模型可以很方便地進行系統(tǒng)功能擴展。
    (2)查找算法時間復(fù)雜度
    假設(shè)系統(tǒng)中存在的狀態(tài)數(shù)量為n。如果不采用層次型有限狀態(tài)機模型,那么系統(tǒng)中的各個狀態(tài)都是相互獨立、互斥的,相當于所有的狀態(tài)都是一個虛擬根節(jié)點的子節(jié)點。這樣的話,查找下一狀態(tài)的時間復(fù)雜度為:

   
    然而,上面的情況忽略了狀態(tài)之間的相關(guān)性,很有可能當前狀態(tài)與下一狀態(tài)是兄弟關(guān)系,此時的比較次數(shù)就會明顯減少。如果采用層次型狀態(tài)機,假設(shè)系統(tǒng)子功能數(shù)目為m(m>1),那么平均每個子功能的狀態(tài)數(shù)目為n/m,當前狀態(tài)與下一狀態(tài)為兄弟節(jié)點的概率為p(0<p<1)。這種情況下的時間復(fù)雜度為:

   
    其中,t1為當前狀態(tài)與下一狀態(tài)不是兄弟節(jié)點的查找時間,與狀態(tài)樹的平均深度^有關(guān)。但是由于存在局部相關(guān)性,并且這種相關(guān)性越大(即p值越大),平均時間復(fù)雜度就越集中在前面部分(p·n)/(m·2),后面的表達式值可以忽略不計,即:

   
    顯然,T(n)2<T(n)1。因此,該模型對于查找下一狀態(tài)在時間復(fù)雜度上也是有優(yōu)勢的。


結(jié) 語
    通過建立層次型有限狀態(tài)機模型,并應(yīng)用改進的數(shù)據(jù)結(jié)構(gòu)與狀態(tài)轉(zhuǎn)換算法,自動售貨機控制器的程序結(jié)構(gòu)更為清晰。原來存在于程序中的諸多標志變量,由狀態(tài)機的各個狀態(tài)所取代,使系統(tǒng)具有更好的擴展性;并且模型很好地利用了狀態(tài)的相關(guān)性,縮短了查找所花費的時間。但是,該模型也存在一定的局限性。比如,很大數(shù)量在構(gòu)造狀態(tài)樹時需要的存儲空間給一般嵌入式系統(tǒng)的成本帶來了挑戰(zhàn),不過可以試圖通過讓所有的狀態(tài)共享內(nèi)存空間的方法來解決這個問題。因此,層次型有限狀態(tài)機模型應(yīng)用于較為復(fù)雜的嵌入式系統(tǒng)具有更普遍的意義。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險積極籌備個人養(yǎng)老金的產(chǎn)品設(shè)計和系統(tǒng)開發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產(chǎn)品,推動商業(yè)養(yǎng)老保險、個人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險等產(chǎn)品供給。 搭養(yǎng)老政策東風(fēng) ...

關(guān)鍵字: 溫度 BSP 東風(fēng) 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎(chǔ)單元,承載著生存與活動的最基本功能。而對于理想空間的解構(gòu)意義卻在物理性容器之外,體現(xiàn)出人們對于空間和生活深層關(guān)系的思考,同時也塑造著人與空間的新型連接...

關(guān)鍵字: 溫度 BSP 智能化 進程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績預(yù)告。今年前三季度,公司預(yù)計實現(xiàn)營業(yè)收入7.54億元至8.33億元,同比增長60.24%至77.03%;歸母凈利潤預(yù)計為1.73億...

關(guān)鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟和信息化局發(fā)布2022年度第一批北京市市級企業(yè)技術(shù)中心創(chuàng)建名單的通知,諾誠健華正式獲得"北京市企業(yè)技術(shù)中心"認定。 北京市企業(yè)技...

關(guān)鍵字: BSP ARMA COM 代碼

北京2022年10月18日 /美通社/ -- 10月14日,國際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國軟件定義存儲及超融合市場研究報告》,報告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...

關(guān)鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團成立60周年的紀念日。趁著首都銀行集團成立60周年與首都銀行(中國)在華深耕經(jīng)營12年的“大日子”,圍繞作為外資金融機構(gòu)對在華戰(zhàn)略的構(gòu)想和業(yè)...

關(guān)鍵字: 數(shù)字化 BSP 供應(yīng)鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團公司上海通運國際物流有限公司(Nipp...

關(guān)鍵字: 溫控 精密儀器 半導(dǎo)體制造 BSP

廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國進出口商品交易會("廣交會")于"云端"開幕。本屆廣交會上高新技術(shù)企業(yè)云集,展出的智能產(chǎn)品超過140,...

關(guān)鍵字: 中國智造 BSP 手機 CAN

為增進大家對控制器的認識,本文將對影響控制器可靠性的因素以及控制器的常見故障和維修方法予以介紹。

關(guān)鍵字: 控制器 指數(shù) 集成電路

為增進大家對控制器的認識,本文將對溫度控制器的分類以及溫度控制器的功能予以介紹。

關(guān)鍵字: 溫度控制器 指數(shù) 控制器

工業(yè)控制

13471 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉