AMEsim狀態(tài)機(jī)優(yōu)先級(jí)
如果沒(méi)有轉(zhuǎn)換優(yōu)先級(jí),以下?tīng)顟B(tài)圖是模棱兩可的。事實(shí)上,狀態(tài) 1 之后的狀態(tài)并不是唯一的,因?yàn)閮蓚€(gè)Guard x>= 2 和 x > 0 都是真的,因?yàn)樵诔跏嫁D(zhuǎn)換期間 x 被賦予了值 5。
這種歧義可以通過(guò)向轉(zhuǎn)換添加優(yōu)先級(jí)編號(hào)來(lái)解決:
優(yōu)先級(jí)編號(hào)是附加到退出給定狀態(tài)的轉(zhuǎn)換的唯一編號(hào)。在幾個(gè)候選轉(zhuǎn)換中,采用優(yōu)先級(jí)編號(hào)最低的轉(zhuǎn)換。例如,這里采取了向State 2 的過(guò)渡。
復(fù)合過(guò)渡的優(yōu)先級(jí)
在存在復(fù)合狀態(tài)和并行狀態(tài)的情況下,優(yōu)先級(jí)規(guī)則將擴(kuò)展為處理離開(kāi)復(fù)合狀態(tài)的轉(zhuǎn)換。選擇的優(yōu)先級(jí)是“ 內(nèi)部?jī)?yōu)先 ”(這一點(diǎn)應(yīng)當(dāng)熟記),在嘗試在封閉復(fù)合或并行狀態(tài)上定義的轉(zhuǎn)換之前,我們始終傾向于本地定義的轉(zhuǎn)換。
在此示例中,如果狀態(tài) 2 或 3 處于活動(dòng)狀態(tài)(或狀態(tài) 1處于活動(dòng)狀態(tài) 且 x <= 0),我們可以轉(zhuǎn)到狀態(tài) 4。如果 x 大于 0 并且狀態(tài) 1 處于活動(dòng)狀態(tài),則其中一個(gè)本地轉(zhuǎn)換將具有更高的優(yōu)先級(jí)并將被采用( 這也即是所謂本地局部?jī)?yōu)先原則 )。
并行過(guò)渡優(yōu)先級(jí)
并行狀態(tài)的規(guī)則擴(kuò)展了相同的“ 內(nèi)部?jī)?yōu)先 ”規(guī)則,在并行狀態(tài)下,如果任何子級(jí)進(jìn)行過(guò)渡,則不進(jìn)行上部過(guò)渡。
在這種情況下,如果狀態(tài) 1 、狀態(tài) 2 處于活動(dòng)狀態(tài)并且 e 被激活,則進(jìn)行從狀態(tài) 2 到狀態(tài) 3 的轉(zhuǎn)換。進(jìn)行轉(zhuǎn)換時(shí),不會(huì)進(jìn)行從并行狀態(tài)到狀態(tài) 4 的轉(zhuǎn)換。如果在狀態(tài) 1、狀態(tài) 3 處于活動(dòng)狀態(tài)且e被激活,因?yàn)闆](méi)有過(guò)渡“消耗”事件,那么我們嘗試上層轉(zhuǎn)換并進(jìn)入狀態(tài) 4。
-
轉(zhuǎn)換器
+關(guān)注
關(guān)注
27文章
8607瀏覽量
146744 -
信號(hào)處理器
+關(guān)注
關(guān)注
1文章
250瀏覽量
25233 -
狀態(tài)機(jī)
+關(guān)注
關(guān)注
2文章
491瀏覽量
27461 -
AMESIM
+關(guān)注
關(guān)注
1文章
15瀏覽量
11707
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論