SDL[規範與描述語言]

SDL[規範與描述語言]
SDL[規範與描述語言]
更多義項 ▼ 收起列表 ▲

SDL,是Specification and Description Language的縮寫,意思是規範與描述語言。

語言介紹

規範與描述語言(Specification and Description Language)

SDL(Specification and Description Language)語言是CCITT推薦的規格與描述性語言。由ITU-T發展和標準化,定義在蘭皮書Z.100建議中(1992年,1996年增補)。作為國際標準化的正式語言,它被用來規範描述實時系統。目前,SDL-96是SDL的最新版本。作為SDL相關技術,本文把Z.120建議:訊息序列圖(message sequence charts, MSC)和Z.105建議:抽象語法符號-一(abstract syntax notation -one, ASN.1)作為SDL的一部分理解。

ITU將SDL描述為"實時系統的特性描述語言"。絕大多數SDL概念有文本和圖形兩種表述形式。由於缺乏某些範圍內的高層結構和一些象C語言的概念,SDL並非程式語言。SDL並不描述系統發展進程。因此,在實際套用中,開發人員將套用用SDL圖形描述,再由SDL工具將其轉化為C語言原始碼,或者CHILL原始碼,最後嵌入到實際開發環境中。

使用SDL,可以半圖形、半文本地定義特定類型的嵌入式系統的功能描述。這種方法的高度正式性,使得SDL工具有可能生成和測試完整的嵌入式套用。國外大量軟體評論家認為,SDL的這種正式方法,應該推薦擴展套用到嵌入式系統之外。事實上,如SDL的訊息順序圖,已經被普通的面向對象技術CASE工具,如Rational Rose,在互動式圖形部分廣泛採用。

適應範圍

SDL的使用範圍甚至可以超出電信領域的範疇。但是,SDL也有一些限制。SDL不能適應所有類型的實時系統,例如系統需要描述精確行為,和(或)需要處理複雜數學問題或類似變換,就不適合。需要大量進程間的緊密協作時也不合適。SDL可以很好地處理多種並行處理套用,但僅當它們可用訊息傳送和非優先權排隊模型很好地表述時。另外,SDL難於表示系統的一套複雜靜態規則和數據關係,並缺乏對訪問穩定數據的有效支持。

SDL方法適合於以下系統:

·主要與其他系統通訊(嵌入式系統)

·精確準時行為非關鍵。

·與其他系統主要是數字通訊,而不是模擬信號。

·無須執行複雜計算。

·需要並發運行,異步通訊。(並行系統)

·極少需要複雜數據關係模型。

SDL使用有限狀態機FSM的概念來描述對象。SDL進程本質上是對象,它們具有各種不同的狀態,在每種狀態下傳送、接收和處理進程訊息,對封裝的數據完成處理,並具有確定的狀態行為。當然,其數據處理能力遠不如描述進程能力強。SDL進程的任務是處理輸入訊息佇列。為了提高效率,SDL進程並發運行,相互之間異步通訊。SDL進程之間也可以通過特定的"SDL遠程調用"信號同步通訊。

由於SDL的種種特性,它最適合的場合時描述呼叫處理和協定處理。事實上,大量ITU-T的標準都是用SDL描述的,或者象國標中常常採用訊息順序圖(MSC)來描述。MSC比SDL圖更加直觀,但其描述不足以生成為實際應用程式,它一般被用來作為系統設計用。在當前的多數SDL軟體工具中, 都提供了從SDL到MSC的生成工具,用以作為後期設計系統的正確性驗證用。在如Telelogic的SDT軟體中,甚至提供了SDL調試中動態MSC跟蹤功能。

對於主機資料庫開發,用SDL就不合適。因為在這裡,需要大量單任務,同步通訊一個進程調用另外一個進程。SDL可以處理這種過程直接調用模型,但其真正的長處在於處理並行多任務之間的異步通訊。當然,在協調並發任務之間的同步機制上,SDL僅提供了高級的支持。對於一部分流行的支持搶先式多任務的作業系統,如pSOS, VxWorks, Win32等,部分SDL工具附帶提供了SDL與作業系統的緊耦合接口庫。

軟體工具現狀

SDL的商用工具主要有以下幾種:

·CATT的SDL工具Melba。

·Kvatro Telecom的SDL到CHILL轉換器,與Telelogic的SDT集成在一起。CHILL工具CHIPSY。

·Telelogic的SDL工具SDT,和其他相關工具。

·Verilog的SDL工具ObjectGEODE,和其他相關工具。

另外,還有一些SDL的共享軟體工具。

由於SDL語言在工程設計中所處的層次較低,及它已經面向套用開發的最末端(可以生成機器代碼),SDL在系統分析方面,尤其是面向對象的分析方面有自身的不足,SDL-92開始引入面向對象的概念。而在SDL工具軟體中,則大量使用流行的OMT/UML對象標準模型(Object Modeling Technique),並提供CORBA/IDL支持。SDT也不例外。其UML(Unified Modeling Language)編輯工具,採用的就是OMT/UML標準文法及標註方式。在分散式套用面向對象模型CORBA中,兩個重要的部件是ORB(Object Request Broker)和IDL(Interface Description Language)。SDT支持用IDL寫CORBA對象描述,然後通過SDT提供的IDL-SDL轉換工具,自動轉換並實現在SDL中。

相關詞條

熱門詞條

聯絡我們