• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      UML狀態(tài)機圖的建模分析

      2020-10-21 05:29:27商鵬
      科學與信息化 2020年4期
      關鍵詞:狀態(tài)機建模

      摘 要 狀態(tài)機圖是統(tǒng)一建模語言UML中的動態(tài)模型圖,用來描述一個實體基于事件反應的動態(tài)行為。要研究某個實體或對象的單獨的行為及狀態(tài)變化,可以使用狀態(tài)機模型圖來表示。本文對狀態(tài)機圖進行了介紹,并通過實例進行狀態(tài)機圖的建模分析。

      關鍵詞 狀態(tài)機;單個對象;建模

      引言

      在軟件系統(tǒng)中可能存在著大量的對象,它們需要處理各種隨機發(fā)生的事件,通過相應的動態(tài)行為來產生對事件的響應,最適合描述對象這類動態(tài)行為的建模手段就是狀態(tài)機圖。狀態(tài)機圖是UML2.0中的重要模型,是系統(tǒng)分析過程的常用圖,可以幫助系統(tǒng)開發(fā)人員更好地理解單個對象的行為。

      1狀態(tài)機圖介紹

      狀態(tài)機圖本質上就是一個狀態(tài)機,是展示狀態(tài)與狀態(tài)轉換的模型,在系統(tǒng)控制、編譯技術、機器邏輯等領域應用非常普遍。

      狀態(tài)機可以看作是一個對象的局部視圖,用來精確的描述這個對象的單獨行為。一個狀態(tài)機可以依附于一個類,用來描述類的實例的狀態(tài)及狀態(tài)轉換,并對接收到的事件做出的響應[1]。狀態(tài)機也可以依附于用例、操作、協(xié)作等元素,描述它們的執(zhí)行過程。使用狀態(tài)機考慮問題時,習慣將對象與外部世界分離,適合對局部、細節(jié)進行建模。

      狀態(tài)機圖包含狀態(tài)機的所有特征[2]。狀態(tài)機圖主要由狀態(tài)和狀態(tài)之間的轉換組成。狀態(tài)描述了一個對象生命周期中的一個時間段,在該時間段內保持對象或系統(tǒng)的外在狀況和內在特性的相對穩(wěn)定。轉換是兩個狀態(tài)之間的一種關系,當狀態(tài)發(fā)生這樣的轉變關系時,轉換就被激活。

      狀態(tài)機圖可以展示一個對象、子系統(tǒng)或系統(tǒng)的所有狀態(tài)及其收到的消息對其狀態(tài)的影響。

      2狀態(tài)機圖建模

      2.1 狀態(tài)機圖建模技術

      一般使用狀態(tài)機圖對系統(tǒng)的動態(tài)方面建模,常見的目的是為對象,尤其是類、用例和整個系統(tǒng)的實例的生命周期建模。狀態(tài)機可以看作是一個對象所有可能的生命歷程的模型。為對象的生命期建模時,主要描述對象響應的事件、對事件的響應以及過去對當前行為的影響。

      不需要為系統(tǒng)中的每個對象繪制狀態(tài)機圖,只對那些狀態(tài)和行為較為復雜的對象建立狀態(tài)機模型,以便更清楚的認識這些對象的行為,準確定義它們的操作。

      2.2 狀態(tài)機圖建模實例[3]

      一個負責監(jiān)視報警傳感器的控制器開機后先進行初始化,完成初始化后自動進入待機狀態(tài)。待機狀態(tài)下,每隔15秒會進行設備自檢??刂破鹘邮盏揭粋€報警信號后,會響應該信號,響應時經歷生成警報、驗證警報是否真實、呼叫警報公司登記該警報、等待警報公司處理警報、警報處理完后清除警報的過程。警報清除后,控制器回到待機狀態(tài)。處于待機狀態(tài)的控制器接收到用戶指令,會處理用戶指令,處理完成后自動回到待機狀態(tài)。當控制器處理警報時接到用戶指令,控制器會中斷警報處理,進行用戶指令處理。

      從控制器的生命周期過程分析,可設定控制器有四種狀態(tài):控制器初始化Initializing狀態(tài);等待警報或用戶指令的待機Idle狀態(tài)、處理用戶指令的Command狀態(tài)和處理警報事件的Active狀態(tài)。Active狀態(tài)因為包含一系列的警報處理過程,設計為組合狀態(tài),包含驗證警報的Checking子狀態(tài)、呼叫警報公司登記警報的Calling子狀態(tài)、等待處理警報的Waiting子狀態(tài)。Active組合狀態(tài)有創(chuàng)建警報setAlarm作為入口動作和清除警報clearAlarm作為出口動作。

      狀態(tài)之間存在以下轉換:第一次創(chuàng)建這個控制器對象時,從代表狀態(tài)機圖起始位置的初始狀態(tài)進入Initializing狀態(tài);控制器在完成初始化后無條件的進入Idle狀態(tài),因為不需要觸發(fā)事件,所以是完成轉換。Idle狀態(tài)中,每隔15秒自動進行的設備自檢會暫時離開當前狀態(tài),自檢完成后再返回該狀態(tài)。這類似一個心跳定時器,每隔一段時間就檢查系統(tǒng)或設備的健康狀況,這種情形在嵌入式系統(tǒng)中很常見。在狀態(tài)機圖中設計為一個由時間事件觸發(fā)的自我轉換??刂破鹘邮盏揭粋€報警事件alarm,設置事件參數s表示發(fā)生錯誤的傳感器,控制從Idle狀態(tài)轉換到Active狀態(tài)。Idle狀態(tài)下接收到attention信號事件也會轉換到Command狀態(tài),處理完用戶指令后,通過完成轉換轉回Idle狀態(tài)。在Active狀態(tài)中,執(zhí)行入口動作setAlarm,控制從初始狀態(tài)依次傳送到Checking狀態(tài)、Calling狀態(tài),最后到Waiting狀態(tài)。發(fā)生clearing事件警報被清除時,退出Active狀態(tài),回到Idle狀態(tài)。當用戶向控制器發(fā)attention信號時,轉到Command狀態(tài)。離開Active狀態(tài)時,按照退出組合狀態(tài)的原則,先離開Waiting子狀態(tài),再離開組合狀態(tài),注意clearAlarm出口動作的執(zhí)行。

      這里沒有終止狀態(tài),這在嵌入式系統(tǒng)中是常見的,希望系統(tǒng)無限期不間斷的運行??刂破鞯臓顟B(tài)機圖如圖1所示。

      3結束語

      狀態(tài)機圖適合于描述單個對象的動態(tài)行為,該對象通常代表一個類、一個用例或整個系統(tǒng)的實例。狀態(tài)機圖不適合描述多個對象的協(xié)作行為,要確定對象的所有行為必須同時結合順序圖和通信圖等交互圖來建模,才能得到對象的整體行為。

      參考文獻

      [1] 唐學忠,費賢舉.UML面向對象分析與建模[M].北京:電子工業(yè)出版社,2008:217.

      [2] 呂云翔,趙天宇,叢碩.UML與Rose建模實用教程[M].北京:人民郵電出版社,2016:73.

      [3] Grady Booch,James Rumbaugh,Ivar Jacobson.UML用戶指南(第2版.修訂版)[M].北京:人民郵電出版社,2013:29.

      作者簡介

      商鵬,女,山東淄博人;學歷:碩士,講師,現(xiàn)就職單位:山東理工大學計算機科學與技術學院,研究方向:軟件工程與軟件建模。

      猜你喜歡
      狀態(tài)機建模
      聯(lián)想等效,拓展建?!浴皫щ娦∏蛟诘刃鲋凶鰣A周運動”為例
      基于有限狀態(tài)機的交會對接飛行任務規(guī)劃方法
      縝密審題,準確建模,學以致用
      基于PSS/E的風電場建模與動態(tài)分析
      電子制作(2018年17期)2018-09-28 01:56:44
      不對稱半橋變換器的建模與仿真
      基于狀態(tài)機比對的狀態(tài)機推斷方案
      江蘇通信(2015年5期)2015-03-16 01:16:51
      IDEF3和DSM在拆裝過程建模中的應用
      雙口RAM讀寫正確性自動測試的有限狀態(tài)機控制器設計方法
      三元組輻射場的建模與仿真
      FPGA設計中狀態(tài)機安全性研究
      黑龍江科學(2011年2期)2011-03-14 00:39:36
      绥滨县| 襄垣县| 西吉县| 赣州市| 冀州市| 奎屯市| 山西省| 南皮县| 沙洋县| 平谷区| 顺昌县| 军事| 泰州市| 雷山县| 太原市| 察隅县| 灌云县| 旺苍县| 内丘县| 沈丘县| 成武县| 永登县| 秦皇岛市| 邮箱| 威远县| 梓潼县| 曲水县| 拜城县| 玛纳斯县| 黄骅市| 甘孜| 苏尼特左旗| 额尔古纳市| 婺源县| 确山县| 兰溪市| 渭南市| 红原县| 竹溪县| 盖州市| 宕昌县|