基于契約式設(shè)計(jì)的VeriJava編程語言設(shè)計(jì)
發(fā)布時(shí)間:2021-02-25 02:43
契約式設(shè)計(jì)是一種以Java語言為主流編程的技術(shù)手段,無論是在VeriJava編程語言程序開發(fā)中,還是在C++、S#等語言開發(fā)中,都被程序開發(fā)者廣泛使用.對VeriJava編程語言以契約式設(shè)計(jì)理論的程序設(shè)計(jì)進(jìn)行分析研究,將契約式設(shè)計(jì)理念引入到面向?qū)ο缶幊碳夹g(shù)開發(fā)中,從而實(shí)現(xiàn)契約的編寫與程序分離.
【文章來源】:江蘇第二師范學(xué)院學(xué)報(bào). 2014,30(11)
【文章頁數(shù)】:3 頁
【部分圖文】:
VeriJava語言系統(tǒng)的整體架構(gòu)
ぐ??誥蔡?嘁肫韉姆段е?冢?餼托枰??用編譯器來完整契約校驗(yàn).因此,本文則重點(diǎn)分析動態(tài)的執(zhí)行期契約檢查.動態(tài)檢查主要是利用契約動態(tài)檢查的工作原理進(jìn)行某個(gè)轉(zhuǎn)換程序的轉(zhuǎn)換,通過將契約條件轉(zhuǎn)換為符合面向?qū)ο蟮腏ava語句,并對斷言語句進(jìn)行判斷,若契約條件檢驗(yàn)失敗,系統(tǒng)將以異常的形式將錯(cuò)誤信息報(bào)告給程序開發(fā)人員.在動態(tài)檢查中,采用面向方面的編程的實(shí)現(xiàn)方式,其簡稱為AOP,將面向方面編程的實(shí)現(xiàn)方式應(yīng)用在動態(tài)檢查中,不僅可以充分體現(xiàn)出代碼的靈活性,也可以明確表達(dá)設(shè)計(jì)的程序與類中組件之間契約.圖2表示基于AOP的契約動態(tài)檢查,分析面向方面的編程(AOP)的概念,對于AOP中的切面(Aspect),其是對象操作過程中權(quán)限檢查、日志、事物處理等截面,對于AOP中的Advice,則主要是對某個(gè)連接點(diǎn)所采用的處理邏輯,在Java領(lǐng)域中,最為成熟的則屬于Aspect技術(shù).在契約動態(tài)檢查中,其主要發(fā)生在程序執(zhí)行到某些特性的階段,契約動態(tài)檢查實(shí)際上是一種橫切關(guān)注點(diǎn)分離的方式.比如面向?qū)ο笳Z言中某個(gè)對象的調(diào)用,在調(diào)用之前,首先應(yīng)對契約中的前置條件、后置條件和常量進(jìn)行校驗(yàn),程序開發(fā)人員可以在單獨(dú)的模塊中利用面向方面的編程技術(shù)來編寫語言,充分利用契約中的聲明條件.采用面向方面的編程技術(shù),不僅優(yōu)化了橫切關(guān)注點(diǎn)的建模,也方便程序開發(fā)人員對系統(tǒng)進(jìn)行合理設(shè)計(jì)、理解和維護(hù),提高代碼的產(chǎn)量和質(zhì)量,使AOP技術(shù)更有益于實(shí)現(xiàn)追加的特性.圖2契約組件設(shè)計(jì)與實(shí)現(xiàn)架構(gòu)圖4結(jié)束語VeriJava是一種原有Java的拓展語言系統(tǒng),通過構(gòu)建全新的VeriJava語言系統(tǒng)來實(shí)現(xiàn)Java編程語言支持契約式設(shè)計(jì),即在契約式設(shè)計(jì)理論下通過利用含有契約的方法進(jìn)行編寫契約,當(dāng)程序編寫完成后,采用基于AOP的契約動態(tài)檢查工具對編寫的代碼?
【參考文獻(xiàn)】:
期刊論文
[1]基于用例契約化的測試用例生成策略[J]. 何丹丹,王立娟,劉瑞杰. 西南師范大學(xué)學(xué)報(bào)(自然科學(xué)版). 2013(11)
[2]一種使用AspectJ技術(shù)的Java契約式編程語言模型[J]. 陳平,夏敏. 東北電力大學(xué)學(xué)報(bào). 2011(03)
[3]支持契約式設(shè)計(jì)的Java靜態(tài)驗(yàn)證器的研究[J]. 章程,趙建軍,沈備軍,陳昊鵬. 計(jì)算機(jī)應(yīng)用與軟件. 2008(05)
[4]一種Java平臺上契約式語言的設(shè)計(jì)與實(shí)現(xiàn)[J]. 劉振安,王文濤. 測控技術(shù). 2008(01)
碩士論文
[1]基于元數(shù)據(jù)的Java平臺契約式設(shè)計(jì)框架研究[D]. 顧毅.上海交通大學(xué) 2008
本文編號:3050315
【文章來源】:江蘇第二師范學(xué)院學(xué)報(bào). 2014,30(11)
【文章頁數(shù)】:3 頁
【部分圖文】:
VeriJava語言系統(tǒng)的整體架構(gòu)
ぐ??誥蔡?嘁肫韉姆段е?冢?餼托枰??用編譯器來完整契約校驗(yàn).因此,本文則重點(diǎn)分析動態(tài)的執(zhí)行期契約檢查.動態(tài)檢查主要是利用契約動態(tài)檢查的工作原理進(jìn)行某個(gè)轉(zhuǎn)換程序的轉(zhuǎn)換,通過將契約條件轉(zhuǎn)換為符合面向?qū)ο蟮腏ava語句,并對斷言語句進(jìn)行判斷,若契約條件檢驗(yàn)失敗,系統(tǒng)將以異常的形式將錯(cuò)誤信息報(bào)告給程序開發(fā)人員.在動態(tài)檢查中,采用面向方面的編程的實(shí)現(xiàn)方式,其簡稱為AOP,將面向方面編程的實(shí)現(xiàn)方式應(yīng)用在動態(tài)檢查中,不僅可以充分體現(xiàn)出代碼的靈活性,也可以明確表達(dá)設(shè)計(jì)的程序與類中組件之間契約.圖2表示基于AOP的契約動態(tài)檢查,分析面向方面的編程(AOP)的概念,對于AOP中的切面(Aspect),其是對象操作過程中權(quán)限檢查、日志、事物處理等截面,對于AOP中的Advice,則主要是對某個(gè)連接點(diǎn)所采用的處理邏輯,在Java領(lǐng)域中,最為成熟的則屬于Aspect技術(shù).在契約動態(tài)檢查中,其主要發(fā)生在程序執(zhí)行到某些特性的階段,契約動態(tài)檢查實(shí)際上是一種橫切關(guān)注點(diǎn)分離的方式.比如面向?qū)ο笳Z言中某個(gè)對象的調(diào)用,在調(diào)用之前,首先應(yīng)對契約中的前置條件、后置條件和常量進(jìn)行校驗(yàn),程序開發(fā)人員可以在單獨(dú)的模塊中利用面向方面的編程技術(shù)來編寫語言,充分利用契約中的聲明條件.采用面向方面的編程技術(shù),不僅優(yōu)化了橫切關(guān)注點(diǎn)的建模,也方便程序開發(fā)人員對系統(tǒng)進(jìn)行合理設(shè)計(jì)、理解和維護(hù),提高代碼的產(chǎn)量和質(zhì)量,使AOP技術(shù)更有益于實(shí)現(xiàn)追加的特性.圖2契約組件設(shè)計(jì)與實(shí)現(xiàn)架構(gòu)圖4結(jié)束語VeriJava是一種原有Java的拓展語言系統(tǒng),通過構(gòu)建全新的VeriJava語言系統(tǒng)來實(shí)現(xiàn)Java編程語言支持契約式設(shè)計(jì),即在契約式設(shè)計(jì)理論下通過利用含有契約的方法進(jìn)行編寫契約,當(dāng)程序編寫完成后,采用基于AOP的契約動態(tài)檢查工具對編寫的代碼?
【參考文獻(xiàn)】:
期刊論文
[1]基于用例契約化的測試用例生成策略[J]. 何丹丹,王立娟,劉瑞杰. 西南師范大學(xué)學(xué)報(bào)(自然科學(xué)版). 2013(11)
[2]一種使用AspectJ技術(shù)的Java契約式編程語言模型[J]. 陳平,夏敏. 東北電力大學(xué)學(xué)報(bào). 2011(03)
[3]支持契約式設(shè)計(jì)的Java靜態(tài)驗(yàn)證器的研究[J]. 章程,趙建軍,沈備軍,陳昊鵬. 計(jì)算機(jī)應(yīng)用與軟件. 2008(05)
[4]一種Java平臺上契約式語言的設(shè)計(jì)與實(shí)現(xiàn)[J]. 劉振安,王文濤. 測控技術(shù). 2008(01)
碩士論文
[1]基于元數(shù)據(jù)的Java平臺契約式設(shè)計(jì)框架研究[D]. 顧毅.上海交通大學(xué) 2008
本文編號:3050315
本文鏈接:http://sikaile.net/falvlunwen/hetongqiyue/3050315.html
最近更新
教材專著