久久久久无码精品,四川省少妇一级毛片,老老熟妇xxxxhd,人妻无码少妇一区二区

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

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

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

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

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

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

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

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

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

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

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

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

結(jié)構(gòu)主義語言學(xué)及其源流論文01-01

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

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