溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

EA畫UML狀態(tài)圖中不是模式的模式是什么意思

發(fā)布時(shí)間:2021-12-20 14:11:53 來源:億速云 閱讀:133 作者:小新 欄目:大數(shù)據(jù)

這篇文章給大家分享的是有關(guān)EA畫UML狀態(tài)圖中不是模式的模式是什么意思的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

不是模式的模式


作為對(duì)系統(tǒng)建模的基本模式,大致可以遵循以下的方式來進(jìn)行。

  1. 隔離系統(tǒng)中的小的功能模塊并根據(jù)前面提到的面向?qū)ο笤瓌t建模。

  2. 設(shè)定一個(gè)系統(tǒng)的管理者或者組織者來管理各個(gè)共通模塊,用于實(shí)現(xiàn)和具體相關(guān)的部分。

雖然這并不是什么設(shè)計(jì)模式,但是按照這種方式建模,可以讓設(shè)計(jì)有一個(gè)良好的開端。

EA畫UML狀態(tài)圖中不是模式的模式是什么意思

在交通信號(hào)系統(tǒng)這個(gè)例子中,車輛信號(hào)燈,行人信號(hào)燈,行人按鈕,停止按鈕等就是可以共通化的小模塊;而信號(hào)系統(tǒng)就是這個(gè)系統(tǒng)的組織者,為了將功能進(jìn)一步分離,我們另外設(shè)置了信號(hào)系統(tǒng)引擎來協(xié)調(diào)和控制信號(hào)的動(dòng)作。

信號(hào)系統(tǒng)引擎TrafficSystemEngine

先看圖。

EA畫UML狀態(tài)圖中不是模式的模式是什么意思

AllStop狀態(tài)

系統(tǒng)啟動(dòng)時(shí)的準(zhǔn)備狀態(tài),這段時(shí)間行人方向和車輛方向都是紅燈。當(dāng)狀態(tài)持續(xù)一定時(shí)間以后,向VehicleGo狀態(tài)遷移。離開本狀態(tài)時(shí),設(shè)定停止按鈕為有效狀態(tài)。

VehicleGo狀態(tài)

車輛正常通行狀態(tài)。在進(jìn)入這個(gè)狀態(tài)時(shí),向數(shù)字式車輛信號(hào)燈發(fā)送Red2Green信號(hào)并允許行人按鈕操作。本狀態(tài)收到來自行人通過請(qǐng)求按鈕的命令時(shí)向VehicleCounter狀態(tài)遷移;接受來自系統(tǒng)停止按鈕的命令時(shí)也會(huì)向VehicleCounter狀態(tài)遷移,但是同時(shí)會(huì)設(shè)置ShutdownFlag。

另外在本狀態(tài)中設(shè)置了MininumTimeGreen和VehicleWaitButton兩個(gè)子狀態(tài)。

MininumTimeGreen維持一定的時(shí)間,在這個(gè)狀態(tài)下如果行人按下通過請(qǐng)求按鈕系統(tǒng)不會(huì)立即切換信號(hào)狀態(tài)以保證足夠的車輛通行時(shí)間。本狀態(tài)期間發(fā)生的按鈕按下時(shí)間都會(huì)被保存,以便在后面處理。

在進(jìn)入VehicleWaitButton狀態(tài)時(shí)首先向行人按鈕模塊發(fā)送HandlerReady信號(hào),如果在MininumTimeGreen已經(jīng)有行人按下通行按鈕,則直接遷移到VehicleCounter狀態(tài);如果沒有則切換行人按鈕處理模塊到立即報(bào)告狀態(tài),然后等待行人按下通行請(qǐng)求按鈕。

VehicleCounter狀態(tài)

顯示綠燈倒計(jì)時(shí)。進(jìn)入狀態(tài)時(shí),向車輛信號(hào)燈發(fā)送向倒計(jì)時(shí)狀態(tài)遷移的通知。進(jìn)入狀態(tài)以后在UpdateCounter中按一定間隔向車輛信號(hào)燈發(fā)送時(shí)間更新要求。設(shè)定的時(shí)間經(jīng)過以后,遷移到VehicleStopSafely狀態(tài)。

VehicleStopSafely狀態(tài)

車輛信號(hào)等黃燈閃爍狀態(tài)。進(jìn)入該狀態(tài)時(shí),向車輛信號(hào)燈發(fā)送向安全停止?fàn)顟B(tài)遷移的通知。離開狀態(tài)時(shí),向車輛信號(hào)燈發(fā)送向紅燈狀態(tài)遷移的通知。

退出該狀態(tài)的條件是計(jì)時(shí)時(shí)間到。離開本狀態(tài)后,如果ShutdownFlag為真則進(jìn)入停止?fàn)顟B(tài);否則進(jìn)入PedestrainGo狀態(tài)。

PedestrianGo狀態(tài)

行人通行狀態(tài)。進(jìn)入該狀態(tài)時(shí),向行人信號(hào)燈發(fā)送向通行狀態(tài)遷移的通知并向音響系統(tǒng)發(fā)送開始播放命令。經(jīng)過一定時(shí)間以后退出改狀態(tài)。離開狀態(tài)時(shí),向音響系統(tǒng)發(fā)送停止命令。另外在本狀態(tài)下按下停止按鈕也會(huì)退出本狀態(tài),但同時(shí)會(huì)設(shè)置ShutdownFlag為真。

PedestrainFinshCrossing狀態(tài)

行人停止通過狀態(tài),已經(jīng)進(jìn)入道路的,迅速離開。進(jìn)入該狀態(tài)時(shí),向行人信號(hào)燈發(fā)送向停止通過狀態(tài)遷移的通知。經(jīng)過一定時(shí)間以后退出改狀態(tài)。離開狀態(tài)時(shí),向行人信號(hào)燈發(fā)送向禁止通行狀態(tài)遷移的通知。離開本狀態(tài)后,如果ShutdownFlag為真則進(jìn)入停止?fàn)顟B(tài);否則進(jìn)入VehicleGo狀態(tài)。

感謝各位的閱讀!關(guān)于“EA畫UML狀態(tài)圖中不是模式的模式是什么意思”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI