什么是SDL
SDL ( and ) ,定義了一種規(guī)范和描述語言, 是一種用于描述實時系統(tǒng)的建模語言。
SDL圖說明了規(guī)范和描述語言建模的過程。它可廣泛應用于汽車、航空、通信、醫(yī)療和電信領域。
SDL圖有三個部分:
SDL的結構block
塊是一種結構化元素,并不意味著目標上的任何物理實現(xiàn)。 一個塊可以進一步分解成多個塊,以此來處理大型系統(tǒng)。 塊符號是一個實心矩形在線c語言流程圖,中間是它的名稱
一個進程基本上就是將要執(zhí)行的代碼。它是一個基于有限狀態(tài)機的任務,有一個隱式消息隊列來接收消息。同一進程的多個實例可以獨立運行。系統(tǒng)啟動時出現(xiàn)的實例數(shù)和最大實例數(shù)在進程名稱后的括號中聲明。 過程符號的完整語法是: [( ,)] 如果省略,則啟動時實例數(shù)的默認值為1,最大實例數(shù)為無窮大。
整體架構可以看作是一棵樹,樹葉就是過程。
首先,一個進程有一個隱式消息隊列來接收通道中列出的消息。
過程描述基于擴展的有限狀態(tài)機。過程狀態(tài)決定了過程在接受特定刺激時的行為。過渡是兩種狀態(tài)之間的代碼。
該進程可以掛在它的消息隊列或信號量上,或者運行例如執(zhí)行代碼。來自環(huán)境或從另一個代理到代理的信息刺激稱為信號。過程代理接收的信號首先被放入隊列(輸入端口)。
當狀態(tài)機處于等待狀態(tài)時,如果輸入端口中的第一個信號針對該狀態(tài)被使能,則狀態(tài)機開始轉換到另一個狀態(tài)。
Start
開始符號代表流程執(zhí)行的起點
State
進程狀態(tài)的名稱寫在狀態(tài)符號中
Stop
進程可以以停止符號結束。
input
消息輸入符號代表在SDL-RT狀態(tài)下預期的消息類型。它總是跟隨一個SDL-RT狀態(tài)符號,如果接收到該符號,則執(zhí)行輸入之后的符號。 消息輸入符號中的語法如下:
[( {, }*)]
is a variable that needs to be declared.

消息輸出用于交換信息。它以異步方式將數(shù)據(jù)放入接收方的消息隊列中。
[( {,}*)] TO_XXX…
save
一個進程可能有中間狀態(tài),在正在進行的工作完成之前,不能處理新的請求。這些新的請求不應該丟失,而應該保留,直到進程達到穩(wěn)定狀態(tài)。儲蓄概念已經(jīng)被提出來了,它基本上保存著信息,直到它被處理。
The symbol syntax is:
一個連續(xù)的信號是一個表達式,它在一個過程達到一個新的狀態(tài)后立即被求值。它在任何消息輸入或保存消息之前進行評估。
動作符號包含一組用C代碼編寫的指令。語法是C語言的語法。
一個決策符號可以看作一個C開關/案例。
take
當進程試圖獲取信號量時,使用信號量獲取符號。
give
要給出一個信號量,“信號量給出SDL-RT圖形符號”中的語法是:
Timer start
啟動計時器“啟動計時器SDL-RT圖形符號”中的語法為:()
Timer stop
要取消計時器,“取消計時器SDL-RT圖形符號”中的語法為:
Task
要創(chuàng)建流程在線c語言流程圖,創(chuàng)建流程符號中的語法是:
[:] [PRIO ]
call
過程調(diào)用符號用于調(diào)用SDL-RT過程。
過程調(diào)用中的語法SDL圖形符號是標準的C語法:
[ =] ({}*);
連接器用于: 將一個過渡分割成幾個部分,以便圖表保持清晰和可打印,將不同的分支聚集到同一點。
符號的分支具有真或假的值。真正的分支是在定義表達式時定義的,因此等價的C代碼是:#ifdef
注釋符號允許編寫任何類型的非正式文本,并將其連接到所需的符號。如果需要,注釋符號可以不連接。
擴展符號用于完成符號中的表達式。擴展符號中的表達式被視為連接符號中表達式的一部分。因此,語法是連接符號之一。
start
該符號專用于程序圖。它指示過程入口點。
該符號專用于程序圖。它表示程序結束。
Text