目錄
程序的結構合成
編輯程序的結構合成(SSP)是一種基于命題微積分的(自動)程序合成的特殊形式。更確切地說,它使用直覺邏輯來描述程序的結構,使程序可以由子程序甚至計算機命令這樣的片段自動組成。它假定這些片段已經被正確實現,因此不需要對這些片段進行正確性驗證。SSP非常適用于面向服務的體系結構的服務的自動組成和大型模擬程序的合成。
程序的結構合成的歷史
編輯自動程序合成開始于人工智能領域,用于自動解決問題的軟件。實際適用的程序合成器出現得相當晚。在SSP中,設計一個解決問題的計劃的方法是作為一個形式系統提出的。最近一個支持SSP的集成開發環境是CoCoViLa--一個基于模型的軟件開發平臺,用于實現特定領域語言和開發大型Java程序。
SSP的邏輯
編輯程序的結構合成是一種從已經實現的組件組成程序的方法,這些組件可以被視為函數。通過編寫關于函數適用性的公理,在直覺命題邏輯中給出了合成的規范。前提條件可以是一個說明輸入數據存在的命題,但它也可以表示一些其他條件,例如使用函數f所需的資源是可用的,等等。前提條件也可以是與上述公理形式相同的暗示,那么它就被稱為子任務。子任務表示在應用函數f時必須有一個函數作為輸入。這個函數本身必須在SSP的過程中被合成。
在這種情況下,公理的實現是一個高階函數,即一個使用另一個函數作為輸入的函數。xxx個輸入是一個必須被合成的函數,用于從狀態計算下一個狀態,第二個輸入是初始狀態。高階函數給SSP帶來了通用性--合成程序中需要的任何控制結構都可以被預編程,然后用各自的規范自動使用。特別是,這里提出的最后一個公理是一個復雜程序的規范--用于在模型上模擬動態系統的仿真引擎,其中NextState可以從系統的狀態中計算出來。
內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/171009/