簡介
頁面描述語言也就是所謂的打印語言,也可稱為僞碼或結構化語言,功能強大,能輸出複雜的頁面和圖像,但由于其複雜性處理起來的速度也相對較慢。
PDL描述的總體結構和一般的程序很相似,包括數據說明部分和過程部分,也可以帶有注釋等成分。是一種非形式的語言,對于控制結構的描述是确定的,而控制結構内部的描述語法不确定,可以根據不同的應用領域和不同的設計層次靈活選用描述方式,也可以用自然語言。
PDL語言書寫的模塊結構如下:
PROCEDURE<過程名>(<參數表>)<數據說明部分><語句部分>END<過程名>數據說明部分形式為:
<數據說明表>
數據說明表由一串說明項構成,每個說明項形如:<數據項名>As<類型字或用戶定義的類型名>
語句部分可以包括:賦值語句、if一then,else語句,do一while語句、for語句、語句、調用語句、返回語句等。與一般程序模塊不同,其語句中除描述控制結構的關鍵字外,書寫格式沒有嚴格定義。自然語言書寫的注釋可以插在任意位置。
雖然不如圖形化的設計描述直觀,但和可執行的程序具有類似的結構,因此便于實現借助計算機自動轉換為可執行的程序代碼,已經研制出針對特定語言的自動工具。
舉例
例如:查找拼錯單詞的程序
Procedure SPELLCHECK is
begin
split document into single words
look up words in dictionary
display words which are not in dictionary
treat a new dictionary
end SPELLCHCK
特征
①用PDL寫出的程序具有正文格式。在計算機上可做正文處理。
②PDL程序中會有一些能夠标明程序結構的關鍵字。
③PDL語言僅有少量的簡單語法規則,大量使用人們習慣的自然語言。
④使用PDL語言常常按逐步細化的方式寫出程序。
⑤PDL程序的注釋行對語句進行解釋,起到提高可讀性的作用。
構成
數據說明
PDL程序中指明數據名的類型及作用域。其形式為:end<子程序名><PDL語句指各種PDL構造>
分程序結構
begin<分程序名><PDL語句>
end<分程序名>
順序結構
選擇型
if<條件>then
<PDL語句>
else
<PDL語句>
end if
if<條件>then
<PDL語句>
else if<條件>then
<PDL語句>
else
<PDL語句>
end if
WHILE循環
loop while<條件>
<PDL語句>
end loop
UNTIL型循環
loop until<條件>
<PDL語句>
end loop
CASE型
Case<選擇句子>of
<标号>{,<标号}:><PDL語言>
[default]:[<PDL語句>]
end case
輸入/輸出結構
print read display
PDL應該具有下述特點:
關鍵字的固定語法,提供了結構化控制結構、數據說明和模塊化的特點。為了使結構清晰和可讀性好,通常在所有可能嵌套使用的控制結構的頭和尾都有關鍵字,例如,if…fi(或endif)等。
自然語言的自由語法,描述處理特點。
數據說明的手段。應該既包括簡單的數據結構(例如純量和數組),又包括複雜的數據結構(例如,鍊表或層次的數據結構)。
模塊定義和調用的技術,應該提供各種接口描述模式。
PDL作為一種設計工具有如下一些優點:
可以作為注釋直接插在源程序中間。這樣做能促使維護人員在修改程序代碼的同時也相應地修改PDL注釋,因此有助于保持文檔和程序的一緻性,提高了文檔的質量。
可以使用普通的正文編輯程序或文字處理系統,很方便地完成PDL的書寫和編輯工作。
已經有自動處理程序存在,而且可以自動由PDL生成程序代碼。
缺點
是不如圖形工具形象直觀,描述複雜的條件組合與動作間的對應關系時,不如判定表清晰簡單。
相關研究
随着網絡規模的不斷擴大,網絡應用的日趨增加,利用策略對網絡進行管理成為必然的趨勢。目前關于網絡管理的研究可分為兩個部分:一部分集中于策略本身,包括策略建模、策略定義語言、策略沖突檢測與消解以及策略的存儲模式等;另一部分研究工作主要集中于策略網管的實現和應用,包括網絡系統的框架結構,各功能組件的抽象以及組件之間交換策略信息的協議等。在此的主要工作是研究Bell實驗室設計開發的策略描述語PDL(PolicyDescription Language)以及基于PDL語言的策略管理系統。



















