激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频

一種系列化語(yǔ)言族及其軟件工程環(huán)境

時(shí)間:2024-08-29 13:32:00 碩士畢業(yè)論文 我要投稿
  • 相關(guān)推薦

一種系列化語(yǔ)言族及其軟件工程環(huán)境

  一、歷史背景
  
  多年來(lái)一直困擾程序技術(shù)研究領(lǐng)域的一個(gè)根本問(wèn)題是計算機程序難寫(xiě)、難讀、易錯、難以維護,致使軟件生產(chǎn)率很低。對比之下,計算機應用的發(fā)展及硬件生產(chǎn)率的提高卻非?,很不匹配,針對這個(gè)問(wèn)題,30多年來(lái),程序技術(shù)的研究可分為三個(gè)階段 。
  
  1. 高級語(yǔ)言時(shí)期。從60年代初起,人們認識到, 為了解決程序難寫(xiě)、難讀、易錯,難以維護的困難,應將書(shū)寫(xiě)程序所用的程序語(yǔ)言與在計算機上執行的機器語(yǔ)言區分開(kāi)來(lái)。后者主要表示程序如何執行,即“怎么做”(how),而前者主要表示程序的涵義或功能,也就是“做什么”(what)。提高程序設計效率的途徑應該是:一方面設計更直接表示程序涵義且使用更方便的程序語(yǔ)言,另一方面找出有效方法能實(shí)現由這種程序語(yǔ)言書(shū)寫(xiě)的程序到可高教執行的機器語(yǔ)言程序的自動(dòng)轉換。60年代的巨大成就,即在于設計出了各種具有高級控制結構及數據結構能表示算法的程序語(yǔ)言,同時(shí),又創(chuàng )造了由程序語(yǔ)言到機器語(yǔ)言的自動(dòng)轉換技術(shù),即編譯技術(shù)。然而,隨著(zhù)軟件應用的飛速發(fā)展,軟件規模及其復雜度的不斷增大,高級程序語(yǔ)言顯得仍不夠理想, 用這類(lèi)語(yǔ)言書(shū)寫(xiě)的程序中仍包含了太多的執行細節,從而仍使用戶(hù)感到難寫(xiě)、難讀、易錯與難以維護,也就是說(shuō),程序可靠性仍然是一個(gè)困難問(wèn)題.因此,到了70年代,程序技術(shù)研究進(jìn)入集中對程序可靠性進(jìn)行討論的時(shí)期。
  
  2.結構程序設計時(shí)期。主要進(jìn)行三方面工作,(i)程序語(yǔ)言研究,可分二類(lèi):(a)結構他高級語(yǔ)言,即重新評議常見(jiàn)高級語(yǔ)言中的控制結構及數據結構,其最后結果即Ada。到此,高級語(yǔ)言的研究走到了極限。的確進(jìn)步很大,但所希望達到的目標并未達到,Ada程序仍然有難寫(xiě)、難讀、易錯等方面的問(wèn)題。只得另求出路,研制另一種語(yǔ)言。(b)抽象描述語(yǔ)言(印q觸 m缸n )。這是比高級算法語(yǔ)言更能直接表示“做什么 的涵義,且更抽象更少表示“怎么做 細節的程序語(yǔ)言。它們多從某種形式語(yǔ)義理論轉化而來(lái).如數理邏輯、抽象代數、形式文法或可計算理論等。它們與高級算法語(yǔ)言有本質(zhì)的不同。對于它們,事實(shí)上不存在將其描述自動(dòng)轉換成可有效執行的機器語(yǔ)言程序的編譯方法。(ii)程序設計方法論的研究。即找出如何設計-t確程序的好方法。這方面的探索雖然很多,最為人們接受的一種則是逐步求精方法,即先從表示程序涵義的抽象描述出發(fā),逐步精化,晟后得到一可有救執行的正確程亭。
  與程序設計方法及語(yǔ)言的臺理結構相對應,還有另一影響大型軟件可靠性的因素,即(iii)大型軟件開(kāi)發(fā)計劃的組織與管理,包括各個(gè)環(huán)節的文檔資料等。以上三方面的的探索,構成了70年代結構程序設計研究的主要內容。到70年代末,微機終端出現,使計算機本身有可能成為支撐上述三方面工作的輔助手段。從而使程序技術(shù)研究進(jìn)入一新的時(shí)期。
  
  3.自動(dòng)程序設計時(shí)期。這方面的工作是從實(shí)現程序設計的各環(huán)節中某些自動(dòng)化軟件工具開(kāi)始的,逐步發(fā)展到覆蓋整個(gè)軟件生命周期各部分,以一致的方法為依據,將各部分工具集成為統一的環(huán)境,以支撐軟件開(kāi)發(fā)的全過(guò)程。這就是所謂計算機輔助軟件工程環(huán)境(即CASE環(huán)境)。近年來(lái),一方面由于影響軟件生產(chǎn)率很大的程序可重用性研究要求程序應有精確的形式語(yǔ)義界面,另一方面由于CASE環(huán)境規模及復雜度大到一定程度后,如其中各種工具沒(méi)有統一的形式語(yǔ)義界面則既難引用亦難由不同工具組成功能更強的工具,故基于形式語(yǔ)義的CASE環(huán)境日益成為人們注意的新方向。
  XYZ系統就是在這樣的條件下提出的。它是最先提出并是唯一完成了的基于時(shí)序邏輯的CASE環(huán)境。它由二個(gè)方面構成,一方面是作為核心的時(shí)序邏輯語(yǔ)言xvz/E}另一方面是由依據多種方法及軟件工具組成的CASE環(huán)境。它的另一特色是能適應多種程序設計方式
  
  二、時(shí)序邏輯語(yǔ)言xvz/EXYZ/E
  
  既是[ylaflna—Pnueli意義下的線(xiàn)性時(shí)間時(shí)序邏輯系統又是一程序語(yǔ)言。事實(shí)上,它是一系列化語(yǔ)言族(XiliehuaYuyanZu) 它以統一的程序框架表示串型或并發(fā)的過(guò)程性算法、抽象描述及產(chǎn)生式規則,還可以表示常見(jiàn)高級語(yǔ)言及多種圖形語(yǔ)言(如數據流圖,PAD圖,Petri網(wǎng)等)的操作語(yǔ)義。其基本結構稱(chēng)為單元,具有如下的形式下面討論幾個(gè)問(wèn)題(1)形式語(yǔ)義方法很多,為什么XYZ系統獨選時(shí)序邏輯?關(guān)于時(shí)序邏輯的優(yōu)點(diǎn),L.Laml~t在1983年FFLP巴黎大會(huì )上已談了很多,此處不擬一一重復.我只想指出如下的事實(shí):不但一般程序工作者對一階邏輯都比較熟習,而且,事實(shí)上時(shí)序邏輯中新增加的算子,都與常見(jiàn)高級語(yǔ)言中某些結構有直接的對應,比如下一時(shí)刻算子。$O”對應著(zhù)狀態(tài)轉換的一步,二目算子。$u”與。$W”事實(shí)上直接與循環(huán)結構相對應,而終于算子“()”則對應著(zhù)過(guò)程。所以,與其它形式化理論相比,時(shí)序邏輯這一形式化理論對一般程序工作者說(shuō)接受起來(lái)較為自然。(2)在時(shí)序邏輯系統中·xY'Z/E有何優(yōu)點(diǎn)?人們對時(shí)序邏輯的批評往往集中在一點(diǎn),即認為時(shí)序邏輯描述令人難懂、難以驗證 事實(shí)上,就單一的時(shí)序算子講其涵義是比較易懂的,這里所謂難懂難證,我認為主要是指用多層嵌套的時(shí)序算予表示復雜的性質(zhì)而盲·而XYZ/E中引入的單元中,每一條件元只允許出現一層時(shí)序算子.不允許嵌套,故并不存在難懂的問(wèn)胚 近年來(lái).在國外頗受重視的Chandy—Misra的UNITY中“性質(zhì)”也是用一層時(shí)序算子來(lái)表示的 不過(guò).由此又產(chǎn)生另一問(wèn)題t經(jīng)過(guò)這樣的限制之后,XYZ/E中的單元是否仍能有一般時(shí)序邏輯公式同等的表示力?我們已經(jīng)證明,存在一機械的方法將任給的一時(shí)序邏輯公式轉換成等值的XYZ/E中一組單元 因此,XYZ/E中單元具有足夠強的表示力。XYZ/E的另一特色,即用統一的單元框架可以表示出申型的或并發(fā)的過(guò)程性算法、抽象描述及產(chǎn)生式規則·此外.還可表示出常見(jiàn)高級語(yǔ)言及圖形語(yǔ)言的操作語(yǔ)義。這一功能是一般時(shí)序邏輯公式所難以做到的。(3)在前面談到XYZ/E的單元框架可以表示出多種程序結構,這一特色在程序設計方法論方面有什么重要意義?(a)逐步求精方法是一由抽象描述到可有效執行的算法程序的多層轉換過(guò)程,因此,在中間各層中必然出現抽象程度逐漸減弱而程序細節逐漸增加的程序 這不同層次的程序如用不同語(yǔ)言來(lái)描述,則將遇到一個(gè)問(wèn)題,即如何驗證(甚至說(shuō)明)其語(yǔ)義一致性?由于這個(gè)原因,經(jīng)過(guò)多年研究,專(zhuān)家一致承認,還是用統一的語(yǔ)言表示各層的描述為好。但到現在止.除XYZ/E外,尚未見(jiàn)到另一邏輯語(yǔ)言能做到這一點(diǎn)。故這種表示力正是XYZ/E的長(cháng)處所在。(b)近數年來(lái),基于知識的程序設計頗受人注意。在這樣的程序中必然需要將表示算法的部分與表示知識的部分滲合運行。顯然. 如果能用統一的語(yǔ)盲及統一的計算模型來(lái)表示這兩類(lèi)程序, 不但會(huì )增加程序的可讀性與可理解性,而且也易于討論這種程序的性質(zhì)。據知,在邏輯語(yǔ)言中能做到這一點(diǎn)的尚屬少見(jiàn)。(c)由于XYZ/E能表示常見(jiàn)高級語(yǔ)盲及圖形語(yǔ)言的操作語(yǔ)義,故可從它們直接自動(dòng)生成表示其語(yǔ)義的XYZ/E文本。這一特色即使得這三類(lèi)語(yǔ)言可相互溝通,從其一可得到其它,這一點(diǎn)在軟件工程環(huán)境中有重要意義 比如說(shuō), 為了討論數據流圖分解前后的語(yǔ)義是否一致,不必從圖形上討論, 只要根據其相應的XYZ/E語(yǔ)義文本來(lái)討論即可。這就大大增強了圖形語(yǔ)言的性能。由于XYZ/E具有這種統一性.使不少專(zhuān)家相信,XYZ/E很適于作新型計算機的核心語(yǔ)言t XYZ/E是最先討論這種統一性的語(yǔ)言。近年來(lái). 已有不少人開(kāi)始注意到這種范型統一性的重要意義。
  
  三、軟件工程環(huán)境
  
  XYZ系統以上述時(shí)序邏輯語(yǔ)言XYZ/E為基礎,由多種軟件工具與環(huán)境組織成一協(xié)調的系統.以支撐多種程序設計方法和方式 總的講.其中子系統可分支撐逐步求精方法設計可重用軟件及支撐不同語(yǔ)言問(wèn)的形式轉換二類(lèi)逐步求精方法又可分成二種:(I)每一步對原有描述進(jìn)行組合性(即結構化)分解,其每一步分解并不改變原來(lái)的總體結構,只是將其中某些部分予以精化I(Ⅱ】每一步精化都是在上一步的基礎上對解題方法作出新的決定,然后再根據此新的決定由非形式化描述逐漸過(guò)渡到形式化描述。因此,每進(jìn)行這樣的一步, 必須保證由于該步新決定得到的描述與上一步描述的語(yǔ)義一致性?梢哉f(shuō). (Ⅱ)比(I)更為一般一些, (I)是(Ⅱ)的較簡(jiǎn)情形。(I)是較常用的方法,但對于某些復雜的問(wèn)題.(I)的方法難以處理,需要用方法(Ⅱ)。
  由于圖形的二維直觀(guān)性,近年來(lái)圖形程序設計環(huán)境在軟件工程領(lǐng)域十分流行 XYZ系統中也提供一圖形環(huán)境以支撐(I)所示的逐步求精方法,其核心為下面二類(lèi)圖形環(huán)境連接面成,(a)設計數據流圖的環(huán)境XYZ/DFD,(b)設計算法程序的圖形環(huán)境XYZ/CFC及XYZ/PAD,后者是前者的結構化形式,其圖形為結構化程序流圖PAD與Petrl阿的結合體。
  用戶(hù)先通過(guò)XYZ/DFD進(jìn)行數據流圖分析與設計,并可在每一步對圖中表示進(jìn)程的節點(diǎn)進(jìn)一步分解成子數據流圖。這環(huán)境具有如下特色.第一,其數據流圖中每一節點(diǎn)的輸入輸出端隱含著(zhù)同步機制。所以,由此作出的數據流圖事實(shí)上是通訊進(jìn)程的圖形 第二,每設計出一個(gè)層次的數據流圖后,只要給出進(jìn)程節點(diǎn)的語(yǔ)義信息(事實(shí)上是前置條件與后續條件),系統即可自動(dòng)生成該圖用XYZ/E表示的操作語(yǔ)義文本(即XYZ/E程序,并由此可進(jìn)一步自動(dòng)生成C語(yǔ)言程序)。每次對其中節點(diǎn)進(jìn)行分解成子數據流圖后,可根據分解前后生成的XYZ/E程序,嚴格地驗證或測試分懈前后語(yǔ)義是否一致。第三,這里所謂驗證,即驗證分解后的描述是否可推出分解前的描述。這種驗證可以手工方式進(jìn)行也可以在計算機上以交互方式進(jìn)行。
  為了支撐后一種驗證,XYZ系統中實(shí)現了一關(guān)于時(shí)序邏輯公式及XYZ程序的驗證系統XYZ/VERI。因程序驗證是一繁重的工作,并非每一程序都需用這種途徑來(lái)評估其正確性。為此,XYZ系統中又提供了另一測驗程序的途徑,其子系統XYZ/PROT事實(shí)上是將每一步設計出的抽象描述作為速成原型用PROLOG予以執行的系統。利用此系統執行每一步分解前后的抽象描述,即可測試其語(yǔ)義是否一致。
  在程序設計過(guò)程中應用XYZ/DFD進(jìn)行通訊進(jìn)程分解到一定程序后,卵不必再作此種分解,而轉入XYZ/PAD,用PAD圖進(jìn)行算法程序設計,這系統提供的圖形工具功能比單純作結構比程序流圖PAD要強一些,它也可以逐步求精將其中算法節點(diǎn)分解成子PAD圖,而且它還可作Petri網(wǎng)以表示具有共享變量的并發(fā)進(jìn)程。與XYZ/DFD一樣,每一步設計出這種PAD圖后,亦可自動(dòng)生成其XYZ/E程序,并驗證或測試(作速成原型執行)正確性。
  與(I)那種按用戶(hù)決定逐步求精方法相應.XYZ系統還提供一設計可重用程序的環(huán)境XYZ/SPEC 其中,一個(gè)工具XYZ/SDL輔助用戶(hù)從決定的非形式描述到形式化描述的過(guò)渡{另一工具XYZ/REUSE用來(lái)存放每一步設計的描述, 以備重用或者檢索過(guò)去曾設計過(guò)的描述看是否可重用,并紀錄全設計過(guò)程的歷史}每一步描述既可作為速成原型執行亦可驗證前后步描述的一致性。由于這種描述中可能包含通訊信息,用PROLOG已不能勝任,為此,XYZ系統中提供另一功能更強的速成原型工具XYZ/RULE,它可執行通訊進(jìn)程的抽象描述。xvz/SPEC系統不咀可增強程序的可重用性,而且可使抽象描述易寫(xiě)、易讀、易證。因如一程序的抽象描述用一個(gè)式子一次寫(xiě)出,其中必應表示所有各種決定包含的信息,這樣的描述必然非常復雜,因此寫(xiě)、讀、證都將很困難 而XYZ/SPEC所依據的方法論是將整個(gè)設計過(guò)程分懈為一連串逐步求精的步驟’, 每一步只作一個(gè)決定,因此,每一步的描述比上一步只增加一個(gè)決定的信息。而且各次決定構成的歷史均有案可查,每步的設計意圖清晰, 自然就容易書(shū)寫(xiě)與理解。這是此方法論的優(yōu)點(diǎn)所在至于不同語(yǔ)言的形式轉換,是由兩個(gè)子系統組成的,首先,源語(yǔ)盲的靜態(tài)語(yǔ)義分析系統XYZ/GPAE,這是一屬性文法計算系統,不過(guò)它可根據-級文法對屬性進(jìn)行分塊以減少內存開(kāi)銷(xiāo)·在對源語(yǔ)言進(jìn)行靜態(tài)檢查(如類(lèi)型一致性、轄域規則等)后,系統將作一些替換以消除源程序中的與上下文相關(guān)信息(如嵌套轄域中定義的同名量等)。這部分事實(shí)上還包含一語(yǔ)法分析器YAYACC,其用戶(hù)界面為YACC,但所處理的文法是LR(1),且極大程度上進(jìn)行狀態(tài)優(yōu)化及加速。其次,源語(yǔ)言的動(dòng)態(tài)語(yǔ)義轉換系統XYZ/CC~S,用源語(yǔ)言XYZ/ML表示將源語(yǔ)言的操作語(yǔ)義轉換成XYZ/E程序的替換規則,這系統運行的結果即將源程序轉換成XYZ/E程序.而由XYZ/E轉換成任何常見(jiàn)算法語(yǔ)言都非常簡(jiǎn)單·這兩部分連接起來(lái)即可將一源語(yǔ)言程序以XYZ/E為中介轉換成另一源語(yǔ)言。因此,XYZ系統不但能接受XYZ/E中各子語(yǔ)言及相應的多種圖形語(yǔ)言,而且還能實(shí)現其它常見(jiàn)語(yǔ)言的轉換與溝通。
  整個(gè)XYZ系統通過(guò)面向多種對象的模塊管理系統XYZ/OOMM聯(lián)系起來(lái).可進(jìn)行圖式管理與版本控制,并以統一的面向對象的模塊管理作為入12將各部分集成為一整體。
  
  四、應用前景
  
  XYZ系統對程序技術(shù)研究30年來(lái)所提出的各種主要問(wèn)題作了一較為全面的回答 當然,這種問(wèn)題的答案并不唯一,XYZ系統也并非在每一方面都找到了一最優(yōu)方案。事實(shí)上.目前世界上也還沒(méi)有系統能做到這一點(diǎn)。但有一點(diǎn)不必諱言.XYZ系統中有許多思想是由這系統最先提出且有不少方面目前仍處于世界領(lǐng)先地位。有的同行認為它。將是一次重大突破的基礎 ,“有使軟件生產(chǎn)率取得重大提高的實(shí)際應用前景”。因此,對這系統的最終評價(jià)還應該看今后的應用效果 在這方面, 我們已與有關(guān)領(lǐng)域的專(zhuān)家合作進(jìn)行了一些有益的嘗試。
  我們認為.XYZ系統的應用應該從二方面人手。一方面將它看成是一工具集,它是UNIX及Xwindow上的一種擴充.用戶(hù)可直接從這系統中選取所需的工具予以應用{系統中工具雖已集成為一完整的系統.但均可拆開(kāi)引用 當然.用戶(hù)必須對XYZ系統有了較深的了解,才能靈括運用這些工具。另一方面.為了使這系統在某些重要工業(yè)領(lǐng)域能更方便地應用,我們認為應找出最臺適的領(lǐng)域中有代表性的用戶(hù).根據其工作的特點(diǎn),在XYZ系統的基礎上.建立有針對性的專(zhuān)用環(huán)境。其中工具主要由XYZ系統中選取加以組合.也可根據其工作特點(diǎn)稍作修改或補充,集成的專(zhuān)用環(huán)境必須十分符合該領(lǐng)域專(zhuān)業(yè)人員的工作習慣,使之不經(jīng)太多訓練即可使用。因此,這樣的專(zhuān)用環(huán)境最好與該領(lǐng)域專(zhuān)家合作研制。在過(guò)去一年中我們已經(jīng)初步開(kāi)展了一些這方面的工作,計劃今后將研制如下幾類(lèi)專(zhuān)用環(huán)境,(1)實(shí)時(shí)過(guò)程控制.(2)通訊協(xié)議工程,(3)硬件描述.(4)軟件更新的重新程序設計,(5)實(shí)時(shí)仿真系統中并發(fā)通訊進(jìn)程程序的自動(dòng)生成。

中國碩士論文網(wǎng)提供大量免費碩士畢業(yè)論文,如有業(yè)務(wù)需求請咨詢(xún)網(wǎng)站客服人員!

【一種系列化語(yǔ)言族及其軟件工程環(huán)境】相關(guān)文章:

沙陀的族源及其早期歷史11-30

淺談古詩(shī)歌語(yǔ)言特點(diǎn)及其語(yǔ)言理解03-21

淺探非語(yǔ)言交際及其與文化的關(guān)系03-19

語(yǔ)言中的文化基因及其在語(yǔ)言教學(xué)中的重要作用03-12

菟絲子及其一種人工偽造品的鑒別02-28

現代雕塑藝術(shù)的語(yǔ)言形式及其邊界模糊化10-17

結構主義語(yǔ)言學(xué)及其源流論文01-01

企業(yè)資源及其配置:一種關(guān)于成本管理戰略的認識03-24

高中美術(shù)素描系列化教學(xué)模式探析03-28

激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频