基于契約式設計的VeriJava編程語言設計.pdf_第1頁
已閱讀1頁,還剩67頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、上海交通大學碩士學位論文基于契約式設計的VeriJava編程語言設計姓名:張思博申請學位級別:碩士專業(yè):計算機軟件與理論指導教師:饒若楠趙建軍20070101上海交通大學基于契約式設計的VeriJava編程語言設計II為了能夠令Java在語言級別支持契約式設計,從而真正使契約的編寫與程序的開發(fā)同步,實現(xiàn)基于契約編程的開發(fā)模式。我們嘗試對Java語言進行擴展,在保留Java編程語言原有特性的基礎之上,為其在語言級別支持契約式設計。我們構建

2、出一種新的語言系統(tǒng)——VeriJava。本文利用BNF范式對VeriJava語言系統(tǒng)的詞法和語法進行了定義,并以此定義為基礎制定了規(guī)約說明。本課題實現(xiàn)了契約式設計中3個方面的契約條件,包括方法契約,類契約和非空類型。這些契約條件又可以按照校驗時機的不同分為靜態(tài)編譯期契約和動態(tài)執(zhí)行期契約。由于面向對象語言的多態(tài)和繼承等特殊性,我們對擴展之后語言系統(tǒng)中程序的行為進行了研究和分析,論述了幾種契約條件對面向對象程序可能出現(xiàn)的影響。為了實現(xiàn)程序的

3、可驗證性,本課題提出了一種基于AOP和Annotation的動態(tài)檢查方案,并在工具中予以實現(xiàn)。在實踐工作方面,我們構建了一套基于Eclipse插件的VeriJava開發(fā)工具包,允許開發(fā)者利用該開發(fā)工具創(chuàng)建基于VeriJava的程序。并將動態(tài)檢查工具良好的集成入VeriJava插件工具包之中,可以對程序進行執(zhí)行期的動態(tài)檢查。本文首先將介紹契約式設計的背景和發(fā)展,分析已有技術的優(yōu)劣,在此基礎上,給出VeriJava語言的語法與語義定義,然后

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論