擴(kuò)散爐智能控制系統(tǒng)設(shè)計(jì)【獨(dú)家畢業(yè)課程設(shè)計(jì)帶任務(wù)書(shū)+開(kāi)題報(bào)告+外文翻譯】
擴(kuò)散爐智能控制系統(tǒng)設(shè)計(jì)【獨(dú)家畢業(yè)課程設(shè)計(jì)帶任務(wù)書(shū)+開(kāi)題報(bào)告+外文翻譯】,擴(kuò)散,分散,散布,智能,控制系統(tǒng),設(shè)計(jì),獨(dú)家,畢業(yè),課程設(shè)計(jì),任務(wù)書(shū),開(kāi)題,報(bào)告,講演,呈文,外文,翻譯
1 件發(fā)展的改進(jìn)方案心得體會(huì)報(bào)告 5 13/B 41100 13/B 41100 + 39 59 848810 41100 + 39 59 378514 + 39 59 378514 要 可編程邏輯控制器( 件是眾多各種各樣的自動(dòng)化機(jī)器和設(shè)備的重要組成部分。不管它的工業(yè)相關(guān)方面,其目前的開(kāi)發(fā)實(shí)踐存在著嚴(yán)重的缺點(diǎn),導(dǎo)致了質(zhì)量差,可再利用率低和其他問(wèn)題。本文旨在提出一個(gè)已專門(mén)研究改進(jìn)其過(guò)程 的設(shè)計(jì)開(kāi)發(fā)方法和底層模型。這種方法輔助初始設(shè)計(jì)階段和改進(jìn)設(shè)計(jì)階段,形成一個(gè)完整的,均一表示結(jié)構(gòu)和動(dòng)作的樣子 ,有利于早期的正確性和一致性驗(yàn)證,引導(dǎo)有條不紊的軟件編碼和測(cè)試,并保持獨(dú)立的編程語(yǔ)言。雖然采用了面向?qū)ο蠹軜?gòu)的基本原則,但是模型引入了特有的基元去捕獲 件的特性和實(shí)現(xiàn)更高的程度的模塊化。此外,它用不變量和轉(zhuǎn)換條件代替方法在聲明形式上去表達(dá)更多知識(shí)。 關(guān)鍵詞: 工藝改進(jìn),工程需要,設(shè)計(jì),重復(fù)利用, 簡(jiǎn)介 基于 系統(tǒng)范圍從簡(jiǎn)單的數(shù)控機(jī)床到非常復(fù)雜的倉(cāng)儲(chǔ),運(yùn)輸和包 裝設(shè)備,包括直角坐標(biāo)機(jī)器人,繞線機(jī),堆垛機(jī)以及許多其他不同類型的自動(dòng)化系統(tǒng) . 個(gè)人或者課堂上允許免費(fèi)使用數(shù)字或硬拷貝全部或者部分這些資料,但不可用于商業(yè)利益中。版權(quán)須知,標(biāo)題出版物和顯示日期,版權(quán)是通過(guò) 份有限公司許可的。要以其他方式復(fù)制,重新發(fā)布,在服務(wù)器上發(fā)布或者重新分配列表,需要特定的權(quán)限和/或費(fèi)用。 7 A 997 7/05..$中之一的全球成本下降 500 萬(wàn)歐元之間,軟件成本平均 在 5%至 10%,這些取決于系統(tǒng)的性質(zhì)和復(fù)用率??紤]到每年大批基于 系統(tǒng)的產(chǎn)出, 件的絕對(duì)價(jià)值確實(shí)相當(dāng)大。此外, 件就是模擬系統(tǒng),并控制著它們的動(dòng)作,因此,它起到了非常關(guān)鍵的作用就整個(gè)系統(tǒng)的操作性和安全性:機(jī)械和電氣器械是固定不動(dòng)的直到軟件開(kāi)始運(yùn)行以及它出現(xiàn)故障時(shí)。 自動(dòng)化市場(chǎng)的穩(wěn)步增長(zhǎng)和 靈活性,保證了較低硬件成本和軟件為基礎(chǔ)的運(yùn)動(dòng)控制,向著更高水平的產(chǎn)品定制服務(wù)邁步。大多數(shù)開(kāi)發(fā)人員屬于中小規(guī)模企業(yè)之類的(中小企業(yè))。傳統(tǒng)的專業(yè)化的中小型企業(yè)青睞實(shí)行分包的工作組織。這要求支持當(dāng)前件工程實(shí)踐不提供的合作社發(fā)展。 系統(tǒng)的開(kāi)發(fā)通常分為兩個(gè)主要階段,即結(jié)構(gòu)的發(fā)展(機(jī)械和電氣元件)和控制的發(fā)展(電子和軟件組件)。后者是從前者的要求派生的,機(jī)械 個(gè)項(xiàng)目團(tuán)隊(duì)的文化一般是不同的,共同的語(yǔ)言是很難定義的,信息的缺乏和誤解這些結(jié)果在開(kāi)發(fā)過(guò)程中引發(fā)了一些修正和迭代。 目前的 件工程實(shí)踐受制于硬件供應(yīng)商的所提供的編程環(huán)境,因?yàn)榫唧w的設(shè)計(jì)方法和工具仍然缺乏。硬件供應(yīng)商提供的專有低級(jí)編程語(yǔ)言或者通過(guò) 標(biāo)準(zhǔn)版本【 7,13】。因此, 在沒(méi)有進(jìn)行有意義的設(shè)計(jì)活動(dòng)下,要求規(guī)范被非正式的進(jìn)行,軟件編碼立即執(zhí)行。 編程組織是既沒(méi)有技術(shù)也沒(méi)有資源來(lái)重新塑造自己的內(nèi)部實(shí)踐的精簡(jiǎn)的結(jié)構(gòu),必需依賴于程序員的經(jīng)驗(yàn)。引進(jìn) 準(zhǔn)(過(guò)去的幾年主要精力花在 件的發(fā)展)解決了可移植性和互操作性問(wèn)題,但它沒(méi)有顯著提高初始階段的軟件生命周期。 本論文的目的是提出設(shè)計(jì)和開(kāi)發(fā)方法,底層模型,命名為“更容易”,這是已專門(mén)研究的改進(jìn)過(guò)程。該方法支持初步的改進(jìn)設(shè)計(jì)階段,產(chǎn)生了完整的,均勻的表示系統(tǒng)的動(dòng)作,有利于早期的正確性和一致性驗(yàn)證,引導(dǎo)有條不紊的軟件編 碼和測(cè)試,并保持獨(dú)立的編程語(yǔ)言。雖然采用了面向?qū)ο蠹軜?gòu)的基本原則,但是模型引入了特有的基元去捕獲 件的特性和實(shí)現(xiàn)更高的程度的模塊化。此外,它用不變量和轉(zhuǎn)換條件代替方3 法在聲明形式上去表達(dá)更多知識(shí)。 從 件的性質(zhì)研究具體的解決方案的原因是,基于 系統(tǒng)是最常見(jiàn)的時(shí)鐘驅(qū)動(dòng)實(shí)時(shí)系統(tǒng),及其它提出了一種有較差的時(shí)間約束( 20 到 50 赫茲)【 13】的典型循環(huán)執(zhí)行。在每個(gè)周期期間,它檢測(cè)輸入的值和工作變量,并計(jì)算這些工作和輸出變量。執(zhí)行時(shí)間越長(zhǎng),系統(tǒng)狀態(tài)檢測(cè)頻率越低。 像狀態(tài)圖工具管理分層狀態(tài)圖的能力是有趣的 ,但是它們也不能捕獲所有所需的知識(shí),以實(shí)現(xiàn)一個(gè)完整的系統(tǒng)控制(見(jiàn)章節(jié)改進(jìn)方案)。此外,時(shí)鐘驅(qū)動(dòng) 件的本質(zhì)可以防止從應(yīng)用方法設(shè)置為順序的軟件,作為這些建議在【 8, 14, 16】,這是表示動(dòng)態(tài)的可憐方法。甚至最近的 型【 16】的不正規(guī)約束以及狀態(tài)轉(zhuǎn)換的細(xì)節(jié)(觸發(fā)事件,不良反應(yīng)),因此不能支持正確性控制。最后,正式的模型【 6, 12, 17】并不適用復(fù)雜系統(tǒng)表示,并難以使用和轉(zhuǎn)換為 言。這里提出的改進(jìn)過(guò)程已經(jīng)被目 10542于可編程邏輯控制器增強(qiáng)了應(yīng)用軟件的實(shí)現(xiàn) )。本文定量的信息報(bào)告來(lái)自該項(xiàng)目進(jìn)行的實(shí)驗(yàn)。一個(gè)全面發(fā)展的方法,作為 目22273于提高機(jī)床自動(dòng)化的方法和組工具 )在計(jì)算機(jī)數(shù)控( 床該領(lǐng)域正在進(jìn)行。歐洲共同體委員會(huì)【 分支持這兩個(gè)項(xiàng)目。 本文分為六個(gè)主要部分。下一節(jié)介紹“更容易”模型的基本概念,下面兩節(jié)提出了應(yīng)用方法的兩個(gè)步驟,即計(jì)劃建設(shè)和計(jì)劃改善。然后,一節(jié)考察一致性驗(yàn)證問(wèn)題以及下一節(jié)介紹來(lái)自模型應(yīng)用的代碼生成實(shí)踐規(guī)則。最后一節(jié)討論所提出的方法對(duì) 件開(kāi)發(fā)周期的影響。 4 “ 更容易”模型 該模型是基于面向?qū)ο蟮姆独?,最初的靈感是來(lái)自一根棒的作品【 18】。它為對(duì)象組合建立嚴(yán)格的指導(dǎo)方針,因此,通過(guò)組合它的部件單元可以獲得一個(gè)復(fù)合系統(tǒng)的控制代碼。它使用法則和操作原語(yǔ),代替?zhèn)鹘y(tǒng)的,原始的【 2, 5】方法【常規(guī)】,以保持系統(tǒng)的合法性和穩(wěn)定性。報(bào)道的例子在這和下面的部分僅就它們的重要方面做出評(píng)論。 對(duì)象 系統(tǒng)單元模型為對(duì)象類型,對(duì)象的概念,用異常的方法,我們采用的是類似經(jīng)典的面向?qū)ο蟮姆独撵o態(tài)的角度來(lái)看,一個(gè)對(duì)象類型的特征在于是有一個(gè)名稱,一個(gè)屬性和組件列表。簡(jiǎn)單單元不存在復(fù)合結(jié)構(gòu), 因此,它們只描述屬性表示輸入或輸出,設(shè)置,狀態(tài)和工作變量。一個(gè)屬性由它可以給出的值的一對(duì)【屬性:域】表示。復(fù)雜單元的定義包括參與組合的表達(dá)對(duì)象的組件。一個(gè)組件被聲明為一對(duì)【角色:對(duì)象】定義類型的扮演特定作用的對(duì)象。根據(jù)面向?qū)ο蟮姆独?,一個(gè)對(duì)象類型可以通過(guò)專門(mén)定義。專門(mén)類型繼承了起源于對(duì)象的屬性和組件,除了添加和重新定義。重新定義組件僅限于映射到一個(gè)子型,重新定義屬性意味著限制其定義域。 合法法則 常量,關(guān)系到每個(gè)對(duì)象類型的約束空間的合法狀態(tài)和合法狀態(tài)的變化。它們被編寫(xiě)為謂詞演算【 1】的表達(dá)式【法則】,應(yīng)用 到當(dāng)前和前一個(gè)狀態(tài)的對(duì)象,如果有的話,作為它的成分。關(guān)鍵字“過(guò)去”前的屬性名稱是指屬性值之前的最后一個(gè)狀態(tài)對(duì)象的變化,因?yàn)樗l(fā)生在埃菲爾【 14】 果 表先前的和當(dāng)前的對(duì)象狀態(tài), 有的值是記為“過(guò)去”獨(dú)立于它們是否改變或者在 。然后,合法性法則可以看作是后置條件。當(dāng)一個(gè)合法性沖突被檢測(cè)到,控制器必需采取行動(dòng),或者拒絕非法狀態(tài)的變化或者通過(guò)適當(dāng)修改錯(cuò)誤狀態(tài)實(shí)現(xiàn)合法狀態(tài)。出于這個(gè)原因,我們聯(lián)想到每一個(gè)合法性法則相應(yīng)的恢復(fù)操作。 轉(zhuǎn)換法則 除了確保對(duì)象狀態(tài)和狀態(tài)變化的合法性 , 碼的主要任務(wù)是通過(guò)計(jì)算出新的穩(wěn)定狀態(tài)解決不穩(wěn)定狀況。換句話說(shuō),自動(dòng)化系統(tǒng)作為一個(gè)同步狀態(tài)機(jī)【 10,16】,在控制系統(tǒng)中,狀態(tài)轉(zhuǎn)換法通過(guò)比較對(duì)象狀態(tài)和事件發(fā)生檢測(cè)不穩(wěn)定狀態(tài),計(jì)算出新?tīng)顟B(tài)并進(jìn)行所需的操作。雖然合法性和穩(wěn)定性問(wèn)題在性質(zhì)上是不同的,它們的管理都可以基于相同的建模解決方案,因?yàn)閮烧叨夹枰x的條件與相關(guān)的操作進(jìn)行。 虛擬對(duì)象 相互影響的兩個(gè)或兩個(gè)以上的對(duì)象類型,在復(fù)合對(duì)象中,它們扮演著組件這個(gè)角色,經(jīng)常呈現(xiàn)規(guī)律。這意味著某些法則存在所有它們參與的復(fù)合對(duì)象中,它們表達(dá)的約束,在上下文中這些 組件必需要滿足,即其上下文自由交互規(guī)則。這些法則可以從單一復(fù)合對(duì)象和關(guān)聯(lián)到一個(gè)虛擬對(duì)象中刪除,引入到這里的目的。這個(gè)對(duì)象類型被稱為虛擬的,因?yàn)樗鼪](méi)有對(duì)應(yīng)的物理系統(tǒng)單元。在代碼方面,一個(gè)虛擬對(duì)象對(duì)應(yīng)的控制程序執(zhí)行時(shí),這些組件對(duì)象協(xié)同工作。 5 構(gòu)造方案 通過(guò)簡(jiǎn)單的例子,在這里我們展示了軟件設(shè)計(jì)師所做的工作。其結(jié)果是系統(tǒng)控制的一個(gè)初步方案。這個(gè)例子引用輸送機(jī)和挑選灣控制,因?yàn)樗鼈兪谴蠖鄶?shù)自動(dòng)化運(yùn)輸和倉(cāng)儲(chǔ)系統(tǒng)的典型元素(在不同的復(fù)雜程度)。由于一個(gè)單元的完整建模取決于其組件,系統(tǒng)表示通常遵循一個(gè)自低向上的方法。 簡(jiǎn)單 單元結(jié)構(gòu) 一個(gè)輸送機(jī)移動(dòng)對(duì)象通過(guò)一個(gè)引擎從入口點(diǎn)到出口點(diǎn)。在這個(gè)例子中,輸送機(jī)被認(rèn)為是一個(gè)簡(jiǎn)單的單元【沒(méi)有組件】。改對(duì)象代表它具有許多屬性作為單元參數(shù)和變量影響控制。下面定義報(bào)告參與單元控制的典型屬性的一個(gè)示例: 對(duì)象輸送機(jī) 長(zhǎng)度: 2000. 物理參數(shù) 輸入光電管:布爾 輸入變量 退出光電管:布爾 輸入變量 輸入信號(hào)量:(綠,紅) 輸出變量 退出信號(hào)量:(綠,紅) 輸出變量 發(fā)動(dòng)機(jī)轉(zhuǎn)速:(停止,低,高) 輸出變量 狀態(tài):(就緒,等待下載,下載,等待 傳輸,傳輸,忙,卸載,錯(cuò)誤) 過(guò)度變量 模式:(手動(dòng),自動(dòng)) 設(shè)置變量 注意:布爾 工作變量 定時(shí)器:(預(yù)置,復(fù)位,失效) 工作變量 物理參數(shù)描述具體單元的特性,影響其動(dòng)作,輸入變量給傳感器值,輸出變量設(shè)置操作執(zhí)行器, 過(guò)度變量是用來(lái)表示對(duì)象動(dòng)態(tài),引入設(shè)置變量約束系統(tǒng)的動(dòng)作以符合用戶的調(diào)節(jié)選擇,工作變量允許記錄中間值,包括典型的原語(yǔ),比如定時(shí)器和計(jì)數(shù)器。 簡(jiǎn)單單元合法性 合法性法則定義了對(duì)象空間的合法狀態(tài)和合法狀態(tài)變化,包括違反情況下采取的行動(dòng)。為了可讀性,法則都做了標(biāo)記,參照輸送機(jī)的例子,下面的法則: 度 008 → 電機(jī)轉(zhuǎn)速 反應(yīng) {提示信息“錯(cuò)誤速度”,電機(jī)轉(zhuǎn)速: =低 } 為防止長(zhǎng)距離輸送,電機(jī)轉(zhuǎn)速是不允許達(dá)到高值的。如果出現(xiàn)這種情況,就會(huì)發(fā)出警告信息并降低轉(zhuǎn)速。同樣,狀態(tài)變化可以約 束在一下法則: 去電機(jī)轉(zhuǎn)速 機(jī)轉(zhuǎn)速和過(guò)去電機(jī)轉(zhuǎn)速 止 → 電機(jī)轉(zhuǎn)速 反應(yīng) {提示信息“錯(cuò)誤加速”,電機(jī)轉(zhuǎn)速: =低 } 說(shuō)明它是不允許突然從靜止到高速運(yùn)行的。需要注意的是恢復(fù)操作算法寫(xiě)在任何程序語(yǔ)言中(這里,類似于帕斯卡語(yǔ)言)。 簡(jiǎn)單單元轉(zhuǎn)換 狀態(tài)轉(zhuǎn)換關(guān)系到系統(tǒng)動(dòng)作對(duì)象狀態(tài)變量的變化(就輸送狀態(tài)下來(lái)說(shuō))。在當(dāng)前狀態(tài)變量值和其他值表示一個(gè)事件的發(fā)生,左邊的表達(dá)式采取的是一個(gè)布6 爾謂詞的形式。右邊的表達(dá)式描述計(jì)算執(zhí)行確定新的狀態(tài)和其他可能的副作用。例如: 態(tài)(就緒 ,等待下載)和輸入光電管以及輸入信號(hào)量 色 → {狀態(tài):=下載,定時(shí)器: = 設(shè)定 } 描述了從就緒或等待狀態(tài)到下載狀態(tài)的過(guò)渡,以及附加啟動(dòng)下載定時(shí)器。 復(fù)雜單元結(jié)構(gòu) 一個(gè)挑選灣基本上使用臺(tái)輸送機(jī)和兩臺(tái)調(diào)車機(jī)車。出口輸送機(jī)出口托盤(pán)在倉(cāng)庫(kù)里。接著由第一調(diào)車脫離正交的輸送托盤(pán)。然后拾取模塊輸送使托盤(pán)可用人工操作。第二次調(diào)車再次改變朝向倉(cāng)庫(kù)。最后,入口輸送機(jī)把托盤(pán)送回到倉(cāng)庫(kù)。因此,挑選灣是復(fù)雜對(duì)象很顯著的一個(gè)例子: 對(duì)象挑選灣 出口輸送機(jī):傳送帶 組件 拾取模塊 :傳送帶 組件 入口輸送機(jī):傳送帶 組件 第一次調(diào)車:調(diào)車機(jī)車 組件 第二次調(diào)車:調(diào)車機(jī)車 組件 形狀校驗(yàn)器:布爾 輸入變量 狀態(tài):(就緒,等待,忙 ,? ) 過(guò)渡變量 模式:(手動(dòng),自動(dòng)) 設(shè)置變量 錯(cuò)誤:整數(shù) 工作變量 運(yùn)行命令:布爾 工作變量 復(fù)雜對(duì)象顯示 在一般情況下,同一類型的變量和參數(shù)出現(xiàn)在一個(gè)簡(jiǎn)單的對(duì)象里。上面的示例報(bào)告只是它們的一個(gè)樣品。挑選彎應(yīng)該在一定時(shí)間傳送托盤(pán),就緒意味著沒(méi)有托盤(pán)在傳送,等待意味著有操作人員在拾取模塊上管理托盤(pán),忙碌意味著在傳送過(guò)程中托盤(pán)退出或進(jìn)入設(shè)備。除了從合法性和過(guò)渡性法則,從這個(gè)定義上,組成結(jié)構(gòu)和相對(duì)靜止以及行為約束沒(méi)有結(jié)果。 復(fù)雜單元變量和轉(zhuǎn)換 作為單元 本事,復(fù)雜系統(tǒng)的非法狀態(tài)或非法狀態(tài)的變化,必須識(shí)別和管理。如下法則給出了一個(gè)示例: 有形狀檢驗(yàn)器或者錯(cuò)誤 →模式 動(dòng) 反應(yīng) {提示信息“操作員要求”,模式: = 手動(dòng) } 同樣的,復(fù)雜系統(tǒng)顯示自身的狀態(tài)轉(zhuǎn)換,參照所識(shí)別的狀態(tài)變量(狀態(tài)也在這種情況下)來(lái)表示。例如: 態(tài) 緒和過(guò)去模式 動(dòng)以及模式 動(dòng) → {狀態(tài): = 等待 } 然而,復(fù)雜單元的大部分知識(shí)都關(guān)注到它與組件單元的交互,以及本文中組 件單元的交互。 7 復(fù)合單元和組件單元的交互 這種相互依存的關(guān)系既包括合法性和過(guò)渡約束。復(fù)合和組件單元的狀態(tài)和特性的一致性都是通過(guò)法則表示的,像下面的小例子,迫使每個(gè)組件共享整個(gè)系統(tǒng)的運(yùn)行模式(點(diǎn)符號(hào)表示組件屬性): 式 出傳送模式和模式 一次調(diào)機(jī)模式和? 反應(yīng) {退出傳送模式 : = 模式;第一次調(diào)機(jī)模式 : = 模式 } 過(guò)渡約束是非常重要的,因?yàn)樗鼈兺搅私M件和復(fù)合狀態(tài)圖。狀態(tài)圖層次結(jié)構(gòu)的想法不是新的【 10, 16】;我們提出的是一個(gè)分區(qū)強(qiáng)制執(zhí)行模塊化程度的標(biāo)準(zhǔn)。記住, 過(guò)渡法則的特點(diǎn)是一個(gè)授權(quán)的條件和操作產(chǎn)生新的合法狀態(tài)。這個(gè)條件是應(yīng)用于復(fù)合單元和它的組件,以及把所有的組件屬性考慮進(jìn)去。這意味著復(fù)合單元的狀態(tài)轉(zhuǎn)變是可以確定的,還有其他原因,由發(fā)生的一個(gè)狀態(tài)轉(zhuǎn)換到它的一個(gè)組件中。法則: 態(tài) 和過(guò)去傳送狀態(tài) 載以及輸入狀態(tài) 待 → {狀態(tài): = 等待;? } 建立挑選灣是準(zhǔn)備接收一個(gè)新項(xiàng)目,只有當(dāng)它處于完全空置時(shí),那就是之前的項(xiàng)目已經(jīng)返回到倉(cāng)庫(kù)時(shí)。反過(guò)來(lái),運(yùn)動(dòng)可以改變復(fù)合單元屬性和其組件。這意味著復(fù)合單元狀態(tài)圖的過(guò)渡 可以確定,以及其它影響,組件狀態(tài)圖過(guò)渡觸發(fā)。這個(gè)例子: 態(tài) 待和“進(jìn)行”命令 → {狀態(tài): = 忙;拾取模塊通告: = 真 } 意味著只要操作人員按壓進(jìn)行挑選灣按鈕再次啟動(dòng)它,總體狀況忙碌和確認(rèn)這是通過(guò)通知變量給拾取模塊的。這將影響拾取模塊的過(guò)渡(記著它是一個(gè)傳送機(jī)),例如: 態(tài) 待運(yùn)送和通知 → {狀態(tài): = 運(yùn)送;? } 注意,為了使組件描述和復(fù)合行為保持獨(dú)立,后者是不允許直接修改前者的狀態(tài)變量,但工作變量是用于此目的。 在一個(gè)復(fù) 合單元組件之間的交互 在先前的例子當(dāng)中,相互依存延伸到了合法性和過(guò)渡法則。我們已經(jīng)看到了 則約束所有挑選灣組件遵守整體工作模式。同樣的,挑選灣法則可以把組件的兩個(gè)狀態(tài)聯(lián)系起來(lái),像下面的例子: 出傳送狀態(tài) 送 →第一次調(diào)機(jī)通知 反應(yīng) {第一次調(diào)機(jī)通知: = 真 } 意思是說(shuō),當(dāng)出口輸送機(jī)移動(dòng)托盤(pán)時(shí),為了準(zhǔn)備后續(xù)裝載作業(yè),下面的拾取模塊會(huì)被告知。關(guān)于對(duì)第一次調(diào)機(jī)狀態(tài)的影響由下面的過(guò)渡法則表示: 態(tài) 備和通知 → {狀態(tài): = 等待運(yùn)送;? } 8 方案改進(jìn) 工廠控制通常是非常復(fù)雜的。雖然“更容易”表示法是簡(jiǎn)潔的最終數(shù)量的 是它通常包括了幾百條法則。它重現(xiàn)了該方案在建?;顒?dòng)時(shí)造成現(xiàn)存的可以和應(yīng)該改進(jìn)的方面。在本節(jié)中,我們研究三個(gè)改進(jìn)方案,意味著,如果適用,增加模塊化以及因此而重新使用的潛在。 專業(yè)化 第一個(gè)改進(jìn)的建議是通過(guò)采用已被定義的其他對(duì)象描述一個(gè)新的對(duì)象的可能性。一種常見(jiàn)的情況是一個(gè)新對(duì)象作為一個(gè)基本對(duì)象的變形出現(xiàn),這種情況可以很方便通過(guò)專門(mén)模仿,使后者變?yōu)榍罢摺_@個(gè)專業(yè)對(duì)象繼 承了父型的結(jié)構(gòu)(組件),屬性(屬性)和行為(合法性和過(guò)渡法則)。專業(yè)對(duì)象的特性通過(guò)添加新組件或約束那些繼承,添加新屬性或約束那些繼承,添加新法則以防它們與那些繼承有沖突。作為一個(gè)例子,假設(shè)我們有與挑選灣相關(guān)的形狀檢測(cè)器傳感器,而不是在一些輸送機(jī)上: 檢測(cè)傳送對(duì)象是一臺(tái)傳送機(jī) 形狀檢測(cè)器:布爾 輸入變量 下面的法則可以添加用于區(qū)分正常傳送機(jī)和檢測(cè)傳送機(jī)的行為: 是形狀檢測(cè)器 →模式 動(dòng)和電機(jī)轉(zhuǎn)速 止 反應(yīng) {模式: = 手動(dòng);電機(jī)轉(zhuǎn)速: = 停止 } 對(duì)象定義專業(yè)化防止在一個(gè)基本單元類型控制代碼引入不一致。 行為參數(shù)化法 一個(gè)進(jìn)一步的改進(jìn)方案在于組織對(duì)象法則轉(zhuǎn)為模塊,它的執(zhí)行是由對(duì)象屬性的特定組合來(lái)決定的,尤其是物理參數(shù)和設(shè)置變量。參照傳送機(jī),我們可以設(shè)想下,除了普通法則,一些法則在手動(dòng)模式下執(zhí)行以及其他法則在自動(dòng)模式下執(zhí)行。模式條件不是包括在每個(gè)法則里,在適當(dāng)選擇參數(shù)下,我們可以組織法則。以下標(biāo)題: 傳送機(jī)法則 普通法則 ? ? ? 傳送機(jī)法則模式 = 自動(dòng) 在狀態(tài) (下載,卸載 ) →電機(jī)轉(zhuǎn)速 反應(yīng) {電機(jī)轉(zhuǎn)速: = 低 } 傳送機(jī)法則模式 = 手動(dòng) ? ? ? 引入傳送機(jī)法則模塊 行為參數(shù)化法的好處基本上有兩種:第一,對(duì)象方案變得更具可讀性,因此更容易理解和確認(rèn);第二,更高的模塊化程度使“更容易”法則翻譯成可重復(fù)使用的 碼。 虛擬對(duì)象 假設(shè) M 對(duì)象類型在不同系統(tǒng)可能與其他對(duì)象類型一起參與。它們?cè)谶@種場(chǎng)景下的行為是通過(guò)有法則關(guān)聯(lián)的相對(duì)應(yīng)的復(fù)雜系統(tǒng)表示 的。它可能會(huì)發(fā)生一些法則出9 現(xiàn)在所有場(chǎng)景下,這意味著 了避免冗余的定義和提高模塊化設(shè)計(jì),從不同復(fù)雜對(duì)象刪除這些法則,并將它們關(guān)聯(lián)到一個(gè)新對(duì)象是非常有用的,形成這種 這個(gè)解決方案提出了一些缺點(diǎn)。每個(gè)原始復(fù)雜對(duì)象在其結(jié)構(gòu)上被修改:用一個(gè)中間組件取代 N,,從而在組件間引入一種層級(jí),它不對(duì)應(yīng)所感知的現(xiàn)實(shí)。此為,建模在這樣出現(xiàn)問(wèn)題,即 將需要第二個(gè)中間對(duì)象,與前一個(gè)分享一個(gè)組件。 我 們想說(shuō)的是 句話說(shuō),我們不需要一個(gè)新的對(duì)象,而是一個(gè)與上下文無(wú)關(guān)的法則的座位,我們稱為虛擬對(duì)象。并給出一個(gè)例子“雙輸送機(jī)”,因?yàn)檫@種組合經(jīng)常在挑選灣和運(yùn)輸線遇到: 一對(duì)輸送機(jī)虛擬為 2:傳送帶 長(zhǎng)度:實(shí) 雙輸送機(jī)法則 式 2 模式 反應(yīng) {如果過(guò)去 式<> 式 然后 式: = 式 否則 式: = 式 } 態(tài)處于(忙,卸載) 態(tài)處于(等待下載,下載) 反應(yīng) {如果過(guò)去 式<> 式 然后 式: = 值( ( 態(tài))) 否則 式: = 值( ( 態(tài))) } 度 1 長(zhǎng)度 + 度 +應(yīng) {長(zhǎng)度: = 度 + 度 +一旦引入,這個(gè)虛擬對(duì)象及其屬性在每一個(gè)復(fù)雜對(duì)象包括一個(gè)或多個(gè)雙輸送機(jī)的法則可以召回??紤]運(yùn)輸線,包括其他單元,兩臺(tái)輸送機(jī): 對(duì)象運(yùn)輸線 ? ? ? A,B:傳送帶 長(zhǎng)度 :整數(shù) 關(guān)于雙輸送機(jī)運(yùn)輸線的法則如下: 對(duì)輸送機(jī)( ,) 度 對(duì)輸送機(jī)( ,)長(zhǎng)度 + ? 前者指出 的行為根據(jù)一對(duì)連接的輸送機(jī)的典型規(guī)則,后者指出運(yùn)輸線路長(zhǎng)度包括這對(duì)輸送機(jī)。 10 這是值得觀察的方式,“更容易”模型讓上下文無(wú)關(guān)和上下文相關(guān)的行為不同。上下文無(wú)關(guān)的行為由單一對(duì)象和虛擬對(duì)象相關(guān)法則表示。上下文相關(guān)的行為由復(fù)雜對(duì)象關(guān)于其組件和召回虛擬對(duì)象的法則表示。 一致性驗(yàn)證 動(dòng)器,例如輸送機(jī)引擎,在每個(gè)執(zhí)行周期結(jié)束時(shí)動(dòng)作根據(jù)控制軟件邏輯 。根據(jù)不同的控制代碼,正確的行為或輸入信號(hào)的錯(cuò)誤(也可能是危險(xiǎn)的)反應(yīng)和可能發(fā)生的用戶命令。對(duì)象和法則提供了一個(gè)完整的單元和系統(tǒng)動(dòng)態(tài)的表示法。每條法則可以很容易的轉(zhuǎn)換成遵循一定規(guī)律(請(qǐng)參閱下部分)的 確認(rèn)的是,法則效果是一致的并導(dǎo)致了預(yù)期的系統(tǒng)行為。此外,法則可串行性【 9】應(yīng)確保,也就是說(shuō),控制應(yīng)該獨(dú)立的發(fā)行法則命令,或者至少合理排序標(biāo)準(zhǔn)應(yīng)該基于法則分析。 為了滿足這些要求,根據(jù)它們的相互依存關(guān)系,我們把法則進(jìn)行分類,以及通過(guò)特定串行條件下展示不同分類的特點(diǎn)。 給定一個(gè)合法或過(guò)渡法則 屬于整個(gè)系統(tǒng)法則的集合 L,我們用 示違反它的所有狀態(tài)(屬于所有可能狀態(tài)的 S 空間)的集合。此外,我們把與法則 x(轉(zhuǎn)換 )映射輸入狀態(tài),用來(lái)評(píng)估法則,進(jìn)入一個(gè)新?tīng)顟B(tài)。假設(shè)每個(gè)法則本身是正確的,輸出狀態(tài)始終是合法的并與產(chǎn)生它的法則相對(duì)應(yīng)。 每一個(gè)執(zhí)行周期,對(duì)象的兩個(gè)或者更多的法則可能檢測(cè)到需要執(zhí)行相對(duì)操作的情況。在處理這種情況時(shí),我們可以遵循不同的法則掃描模式:串行和并行。前者由下面的算法表示: 所有對(duì)象法則的 n 值和 狀態(tài)經(jīng)過(guò) (并可能 執(zhí)行相應(yīng)動(dòng)作)評(píng)估后獲得。相反,下面的算法表示后者的掃描模式: 初始狀態(tài),也就是說(shuō)在法則掃描開(kāi)始時(shí),其處于空閑。 考慮到這種區(qū)別,現(xiàn)在我們可以根據(jù)互相依賴關(guān)系分類法則:排他性,限制順序獨(dú)立性,擴(kuò)展順序獨(dú)立性,平行的獨(dú)立性。不屬于這些類型的法則可能會(huì)引入串行問(wèn)題,因此必須重寫(xiě)。 排他性 第一種情況的發(fā)生,在任何情況下,僅有一個(gè)對(duì)象法則可能受到違背,執(zhí)11 行相關(guān)的操作不違反其他法則??紤]成對(duì)法則,下面的條件(不被掃描方式影響)必須滿足 可能輸送機(jī)法則滿足排他性是: 態(tài) 備 → 托 盤(pán)代碼 反應(yīng) {托盤(pán)代碼: = 0} 態(tài) 誤 → 電機(jī)轉(zhuǎn)速 止 反應(yīng) {電機(jī)轉(zhuǎn)速: =停止 } 托盤(pán)代碼是一個(gè)整數(shù)屬性,其報(bào)告在輸送機(jī)上移動(dòng)的托盤(pán)類型,以及錯(cuò)誤是其中一個(gè)可以取的狀態(tài)值。這些法則不能同時(shí)違反,以及任一反應(yīng)不能確定其他法則的非法狀態(tài)。事實(shí)上,在不違反 , 應(yīng)零值分配到托盤(pán)代碼,同樣 足來(lái)自 應(yīng)執(zhí)行的引起的狀態(tài)。 限制順序獨(dú)立性 發(fā)生這種情況,如果最后對(duì)象狀態(tài),根據(jù)順序掃描模式的一個(gè)完整法則掃描獲得的總是獨(dú)立于掃描命令和所有法則的合法性。此外, 反法則已經(jīng)符合相應(yīng)的反應(yīng)。從形式上看,下面條件必須滿足 : 注意,第二條件是相同的排他性,因?yàn)樵谶@兩種情況執(zhí)行一個(gè)操作不能違反其他已滿足條件的法則。第一個(gè)條件, 1ˊ部分)說(shuō)到一個(gè)反法則不能由其他法則操作滿足, 1〞部分提到最后狀態(tài)必須獨(dú)立于掃描命令。 挑選灣可能滿足限制順序,但不是唯一獨(dú)立的法則有以下幾種: 出輸送機(jī)模式 一次調(diào)機(jī)模式 反應(yīng) {第一次調(diào)機(jī)模式: = 退出輸送機(jī)模式 } 出輸送機(jī)電機(jī)轉(zhuǎn)速 一次調(diào)機(jī)電機(jī)轉(zhuǎn)速 反應(yīng) {第一次調(diào)機(jī)電機(jī)轉(zhuǎn)速: = 退出輸送機(jī)電機(jī)轉(zhuǎn)速 } 這兩條法則可以同時(shí)違反,并且它們各自的反應(yīng)不影響其他法則的合法狀態(tài)。這意味著這兩條法則的不合法狀態(tài)對(duì)于在 作執(zhí)行后的 直是不合法的,以及對(duì)于作執(zhí)行后的 是一樣的。因此,掃描命令并不影響最后結(jié)果。 擴(kuò)展順序獨(dú)立性 發(fā)生這種情況,如果最后對(duì)象狀態(tài),根據(jù)順序掃描模式的一個(gè)完整法則掃描獲得的總是獨(dú)立于掃描命令和所有法則的合法性。然而,這里的法則可以由其他法則的操作滿足,并使得順序獨(dú)立擴(kuò)展。下面的條件必須滿足 : 12 并且它可以證明它們與此等效: 作為一個(gè)例子,考慮下面的輸送機(jī)法則: 突發(fā)事件 →狀態(tài) 誤以及輸入信號(hào) 反應(yīng) {狀態(tài): = 錯(cuò)誤;輸入信號(hào): = 紅;電機(jī)轉(zhuǎn)速: = 停止 } 其中突發(fā)事件是布爾屬性,其值取決于操作人員可能按的按鈕。如果與上面定義的則一起考慮, 于擴(kuò)展順序獨(dú)立類型而不是限制類型。事實(shí)上,條件“ 狀態(tài) 誤和引擎轉(zhuǎn)速 ”對(duì)于這兩條法則是不合法的,除了首先掃描 的操作執(zhí)行決定了一個(gè)新的狀態(tài),其結(jié)果對(duì)于這兩條法則是合法的。 并行獨(dú)立 發(fā)生這種情況,如果最后對(duì)象狀態(tài),根據(jù)并行掃描模式的一個(gè) 完整法則掃描獲得的總是獨(dú)立于掃描命令和所有法則的合法性。因此,它可能發(fā)生,相應(yīng)于違反了當(dāng)前狀態(tài)(最后動(dòng)作執(zhí)行產(chǎn)生的)的法則的動(dòng)作不執(zhí)行,反過(guò)來(lái),因?yàn)閷?duì)于檢測(cè)法則它的初始狀態(tài)(在其基礎(chǔ)上對(duì)所有法則進(jìn)行評(píng)估)是合法的。出于此原因,條件必須滿足 ,它們與上述不同: 當(dāng)掃描模式是并行的時(shí)候我們考慮對(duì) T'i 進(jìn)行轉(zhuǎn)換。 讓我們?cè)敿?xì)的檢驗(yàn)輸送機(jī)法則 果我們分析設(shè)置的狀態(tài)違反兩條法則: 態(tài) 備和托盤(pán)代碼 發(fā)事件(狀態(tài) 誤或者輸入信號(hào) ) 態(tài) 備和托盤(pán)代碼 以及突發(fā)事件 態(tài) 備和托盤(pán)代碼 以及不是突發(fā)事件 發(fā)事件和(狀態(tài) 誤或者輸入信號(hào) )以及(狀態(tài) 備和托盤(pán)代碼 ) 13 我們觀察到并行獨(dú)立的條件 1 滿足,因?yàn)椤? 生的狀態(tài)“狀態(tài) 和托盤(pán)代碼 以及輸入信號(hào) 和電機(jī)轉(zhuǎn)速 止”不是取決于掃描命令,并且對(duì)于兩條法則它是合法的。此外,法則 證了條件 2。因?yàn)樗鼈兊姆磻?yīng)沒(méi)有違反其他法則。因此, 于并行獨(dú)立類 型。相反,它可以很容易的看到它們不滿足順序獨(dú)立(提示:考慮到 態(tài) 備和托盤(pán)代碼 和突發(fā)事件)。 在本節(jié)結(jié)束,圖 1 顯示了上面定義的法則分類間的關(guān)系。一條法則歸為其中所提出的分類中的一類,如果它的相對(duì)獨(dú)立性遵循所有的其他對(duì)象法則。因此,屬于擴(kuò)展順序獨(dú)立性的法則包括那些呈現(xiàn)限制順序獨(dú)立性還包括排他性法則。只有一個(gè)順序獨(dú)立的子集也獨(dú)立并行掃描。同樣,只有呈現(xiàn)并行獨(dú)立的一個(gè)法則子集也是順序獨(dú)立的。 所有這些都可以翻譯成序列化的控制代碼,我們將在下一節(jié)中看到。相反,既不是順序和并行獨(dú)立的法則必須重 寫(xiě),因?yàn)橄鄳?yīng)的控制代碼和其他法則可能導(dǎo)致不一致。 14 代碼生成 根據(jù)“更容易”模型的對(duì)象定義提供了必要的信息生成模擬單元和系統(tǒng)的控制代碼。量將反映對(duì)象的屬性以及 件將對(duì)象法則轉(zhuǎn)換成條件操作的形式。一旦對(duì)象法則分成上面的獨(dú)立性分類(和不可歸類的法則已經(jīng)重寫(xiě)),在它們自己的分類標(biāo)準(zhǔn)上,代碼生成可以進(jìn)行。 在這節(jié)我們首先展示和證明 碼結(jié)構(gòu)轉(zhuǎn)換為不同的法則類型。然后我們討論對(duì)象內(nèi)的代碼排序,以便獲得滿足可串行性原則的控制代碼。最后,為了建立整個(gè)系統(tǒng)的控制,我們提出了一個(gè) 不同組件單元裝配 碼的一般標(biāo)準(zhǔn)。 法則轉(zhuǎn)換 排他性 我們已經(jīng)觀察到執(zhí)行方案是獨(dú)立于掃描模式的,因?yàn)槊看沃挥幸粭l法則可以違反(若有的話)。然后,對(duì)于恢復(fù)執(zhí)行法則操作的最簡(jiǎn)單的執(zhí)行方案如下: 如果不是 后執(zhí)行 則 如果不是 后執(zhí)行 ? ? 否則 如果不是 后執(zhí)行 一個(gè)布爾變量(或者一個(gè)映射當(dāng)前狀態(tài)為一個(gè)布爾值的函數(shù)),如果 則得到滿足它具有真值,如果違反了它有假值。此外,執(zhí)行 味著與 則相關(guān)的操作被執(zhí)行;用正式術(shù)語(yǔ), 應(yīng)轉(zhuǎn)換 S\ 順序的獨(dú)立性 對(duì)于限制和擴(kuò)展順序獨(dú)立法則,可以提出一個(gè)獨(dú)特的執(zhí)行方案。它不同于排他性法則,需要考慮在同樣掃描周期間,兩條或更多法同時(shí)違反: 如果不是 后執(zhí)行 如果不是 后執(zhí)行 ? ? ? 如果不是 后執(zhí)行 并行獨(dú)立 動(dòng)作執(zhí)行被施加到當(dāng)前狀態(tài),但它是由初始決定的。為了避免動(dòng)作執(zhí)行影響法則合法性,很有必要首先執(zhí)行屬于這種分類的所有法則,然后應(yīng)用相對(duì)于反法則的動(dòng)作。并行法則的整體影響是有執(zhí)行最后一次動(dòng)作的狀態(tài)產(chǎn)生的。下面是我 們每次并行獨(dú)立出現(xiàn)的執(zhí)行方案: 如果不是 后標(biāo)志 1: =真; 如果不是 后標(biāo)志 2: =真; ? ? ? 如果不是 后標(biāo)志 n: =真; 15 如果標(biāo)志 1 然后 執(zhí)行 如果標(biāo)志 2 然后 執(zhí)行 ? ? ? 如果標(biāo)志 n 然后 執(zhí)行 標(biāo)志 i 是一個(gè)布爾變量記錄著由 據(jù)初始狀態(tài) 設(shè)的值。另一種方案,即分開(kāi)執(zhí)行兩個(gè)階段,但需要存儲(chǔ)初始狀態(tài) 是: 如果不是 后執(zhí)行 如果不是 后執(zhí)行 ? ? ? 如果不是 后執(zhí)行 S→ {真 假 }的真值函數(shù)把狀態(tài) 且僅當(dāng) 滿足。在這兩種方案中,操作 i : S → S\ 意,這里的變換域是不是 為操作可能也適用于當(dāng)前合法狀態(tài):僅基于初始狀態(tài)的操作激活。 對(duì)象控制代碼 源于單一對(duì)象法則譯成的代碼必須結(jié)合起來(lái)建立相關(guān)單元或系統(tǒng)的控制軟件。法則分類標(biāo)準(zhǔn)驅(qū)動(dòng)法則轉(zhuǎn)換。這里我們看到在對(duì)象控制軟件里它們也驅(qū)動(dòng)代碼命令。 假設(shè)對(duì)象行為是由 m< 其他 后,每條法則屬于第一組,它滿足兩個(gè)并行獨(dú)立條件和遵循所有其他法則。同樣的,每條法則屬于第二組,它滿足擴(kuò)展順序獨(dú)立條件并遵循所有其他法則(兩個(gè)獨(dú)立類型的法則可以屬于任一組)。 一個(gè)對(duì)象執(zhí)行方案以確保在排序法中的可串行性,因此要先掃描那些前一組和在這些后面的一組。 2, ? , 并行掃描模式 ,,? , 順序掃描模式 生成的代碼結(jié)構(gòu)如下: 如果不是 后執(zhí)行 如 果不是 后執(zhí)行 ? ? ? 如果不是 后執(zhí)行 如果不是 然后執(zhí)行 ; 如果不是 然后執(zhí)行 ; () ? ? ? 如果不是 后執(zhí)行 其中每個(gè) 映射到 函數(shù)適用于引起前面動(dòng)作的當(dāng)前狀態(tài)。最后一條 16 則滿足順序獨(dú)立性,因此它們的掃描沒(méi)有違反前面的 m 法則。事實(shí)上,對(duì)于第一條 狀態(tài)是合法的,因此,如果 違反了它,這意味著 C m+1\中i=1,2, ? , m。由于順序獨(dú) 立的第二個(gè)條件適用于( )對(duì),明顯的,對(duì)于第一條m 法則 (合法的。這也適用于( m+1) 的其他法則以及對(duì)于所有對(duì)象法則是合法的最后狀態(tài)。 一個(gè)更有效的對(duì)象執(zhí)行方案的結(jié)果是把順序獨(dú)立性法則分為三個(gè)不相交的子組:一個(gè)( A 組)收藏排他性法則,另一個(gè)( B 組)收藏剩余的限制順序獨(dú)立性法則,第三個(gè)(C 組 )收藏剩余的擴(kuò)展順序獨(dú)立性法則。命名為 D 組的法則滿足并行獨(dú)立性,根據(jù)A,B,C,D 組的命令轉(zhuǎn)換法則可以獲得對(duì)象控制代碼。這將產(chǎn)生以下控制軟件結(jié)構(gòu): 如果不是 后執(zhí)行 否則 如果不是 后執(zhí)行 ? ? 否則 如果不是 后執(zhí)行 則 開(kāi)始 如果不是 然后執(zhí)行 ; 如果不是 然后執(zhí)行 ; ? ? ? 如果不是 Lh+k 然后執(zhí)行 Ah+k ; 如果不是 (后執(zhí)行 ; 如果不是 (后執(zhí)行 ; ? ? ? 如果不是 Ln(后執(zhí)行 如果不是 Lh+k+1 然后執(zhí)行 Ah+k+1 ; 如果不是 Lh+k+2 然后執(zhí)行 Ah+k+2 ; ? ? ? 如果不是 后執(zhí)行 結(jié)束; 因?yàn)?A 組首先被掃描,法則掃描可以中斷一旦滿足排他性的法則違反了。只有它們沒(méi)有違反,剩余法則可以考慮。其中, B 型法則首先編碼強(qiáng)調(diào)它們不受下面并行獨(dú)立法則的影響。 系統(tǒng)控制編碼 軟件控制整個(gè)復(fù)雜系統(tǒng)終于建立起來(lái)了,其是通過(guò)由上面階段所形成的對(duì)象控制代17 碼組成。在開(kāi)始最后一步之前,有必要從延伸的角度考慮系統(tǒng)的表示法。這意味著,參與復(fù)雜系統(tǒng)的每個(gè)單元必須有與本身相關(guān)的控制代碼,以及系統(tǒng)控制軟件必須包含盡可能多的每個(gè)對(duì)象控制的副本作為 相應(yīng)單元類型的一定數(shù)量的實(shí)例。創(chuàng)建一個(gè)對(duì)象代碼副本意味著復(fù)制兩個(gè)指令和數(shù)據(jù)存儲(chǔ)器用于存儲(chǔ)對(duì)象屬性。之后,最終代碼結(jié)構(gòu)是直接從方案組成和專業(yè)化層次結(jié)構(gòu)派生的,根據(jù)下面的基本規(guī)則: 從簡(jiǎn)單到復(fù)雜單元 單元的有序控制是通過(guò)增加復(fù)雜性。一個(gè)單元需要考慮,在復(fù)合單元包含它之前,以便影響其的行為。例如,輸送機(jī)控制的三個(gè)副本和調(diào)車機(jī)車的兩個(gè)副本優(yōu)先于挑選灣控制軟件。 專門(mén)單元 如果一個(gè)對(duì)象被專業(yè)化的另一個(gè)定義,相對(duì)代碼通過(guò)添加特殊屬性和法則給那些超類型獲得。之后,一致性驗(yàn)證適用于所有法則,生成的代碼遵循上面顯示的。 虛擬對(duì)象 最后,產(chǎn)生虛擬對(duì)象的代碼要么到處復(fù)制的虛擬對(duì)象屬性被召回要么成為例行程序,如果這是目標(biāo) 后,如在前一種情況,進(jìn)行一致性驗(yàn)證和代碼生成。 根據(jù)這些規(guī)則,在每個(gè)執(zhí)行周期的最后,每個(gè)對(duì)象使用從組件和操作的信息獲得了一個(gè)全局合法狀態(tài)。然而,每個(gè)對(duì)象也可以修改組件的狀態(tài)(如果有的話):因?yàn)榻M件的代碼已經(jīng)被執(zhí)行了,一這種方式引入可能非法的決議被延遲到下一個(gè)執(zhí)行周期。為了避免承受不了外部事件的反應(yīng)次數(shù),適當(dāng)?shù)膬?yōu)化技術(shù)正在研究當(dāng)中。 18 軟件生命周期的影響 用本 文提出的方法,影響開(kāi)發(fā)生命周期的兩個(gè)條件得到滿足。首先,模型通過(guò)分析設(shè)備結(jié)構(gòu)驅(qū)動(dòng),因此系統(tǒng)組成擴(kuò)展到控制軟件。這意味著整個(gè)系統(tǒng),可實(shí)現(xiàn)通過(guò)組合模塊設(shè)計(jì)以供重復(fù)使用【 5, 15】,即,在不同上下文中使用不需要做任何修改。其次,一個(gè)可重復(fù)使用的設(shè)計(jì)獲得的結(jié)果比軟件代碼更有用和穩(wěn)定,因?yàn)樗皇軐?shí)現(xiàn)方面和約束的影響。對(duì)于 11】的一種 些都是必要的條件。別行動(dòng)的兩個(gè)并行循環(huán):正向行動(dòng)旨在獲得新的或修給的軟件系統(tǒng),可能有庫(kù)組件的重用和改寫(xiě),以及反 向行動(dòng)旨在確認(rèn)軟件系統(tǒng)可能的組成部分和分類到一個(gè)有用的庫(kù)以便重用。 我們目前的工作主要是涉及圖 2中表示的黑盒子的步驟,而持續(xù)的研究工作是考慮表示白盒子的步驟。下面我們簡(jiǎn)單的通過(guò)黑盒子。 組件設(shè)計(jì) 我們考慮兩個(gè)基本系統(tǒng)組件單元及其可能的組合構(gòu)成組合結(jié)構(gòu)。每個(gè)模塊的特征在于 I/置和狀態(tài)變量,它的行為和約束的正確表示。組件要么是與現(xiàn)有系統(tǒng)自頂向下分析確定,或者定義的自低向上的復(fù)合結(jié)構(gòu)從基本物理單元開(kāi)始。 圖 2: 組件細(xì)化 根 據(jù)“更容易”的方法,通過(guò)識(shí)別專門(mén)的結(jié)構(gòu),行為參數(shù)化法,組件間的上下文交互,模塊方案得到了改善。這提高了軟件的模塊化和重用潛力。 組件開(kāi)發(fā) 為了準(zhǔn)備它們的代碼生成,該模塊方案服從一致性和可串行性驗(yàn)證。之后,不變函數(shù)的編碼可以很方便的預(yù)期它們?cè)谙到y(tǒng)控制開(kāi)發(fā)中的使用。 系統(tǒng)設(shè)計(jì) 系統(tǒng)設(shè)計(jì)很大程度受一個(gè)組件庫(kù)的可用性影響。此行動(dòng)是根據(jù)相同的模型和組件設(shè)計(jì)使用的方法來(lái)進(jìn)行的,因?yàn)橄到y(tǒng)只不過(guò)是一個(gè)復(fù)合單元。 系統(tǒng)改進(jìn) 對(duì)于組件,通過(guò)識(shí)別專門(mén)的結(jié)構(gòu),行為參數(shù)化法,組件間的上下文交互,19 模塊方案得到了改善。 系統(tǒng)開(kāi)發(fā) 對(duì)于一致性和可串行性的系統(tǒng)方案驗(yàn)證。之后,不變函數(shù)的編碼進(jìn)行要么當(dāng)前 時(shí),系統(tǒng)方案和相對(duì)不變量代碼可以歸類為組件庫(kù)成員。 20 結(jié)論 “更容易”模型的提出,連著通過(guò)簡(jiǎn)單的例子,描述了它的應(yīng)用和方案實(shí)施以及改善過(guò)程。一致性標(biāo)準(zhǔn)已經(jīng)討論和一個(gè)獨(dú)有的串行和并行獨(dú)立分類法則已經(jīng)獲得。然后,通過(guò)這些分類,我們展示了從單一對(duì)象編碼到最后系統(tǒng)控制軟件的構(gòu)造,代碼生成是如何驅(qū)動(dòng)的。 在許多正向和反向工程實(shí)驗(yàn)中,“更容易”方法 已經(jīng)被驗(yàn)證,其中一些在“更容易”項(xiàng)目里面進(jìn)行。大部分的考慮的基于 常是通過(guò)定制化的基本類型之一的一種設(shè)備或變形,經(jīng)常采用同類的機(jī)械和電氣組件,以及由不同的硬件平臺(tái)控制。更重要的成就是: (ⅰ)定義對(duì)象的 50%到 70%,現(xiàn)在可重復(fù)使用,代替了傳統(tǒng) 0%。從上下文無(wú)關(guān)的合法性和轉(zhuǎn)換法則看,它們的模塊可以清楚的識(shí)別和完全特征化; (ⅱ)雖然手動(dòng)進(jìn)行,有序的代碼生成顯示了在設(shè)計(jì)階段的知識(shí)捕獲就足以完全驅(qū)動(dòng)編碼活動(dòng); (ⅲ)生成的代碼顯示更高軟件質(zhì)量,因?yàn)樗慕Y(jié)果不影響程序員的個(gè) 人風(fēng)格,以及它的結(jié)構(gòu)呈現(xiàn)特別適合于支持修改和擴(kuò)展; (ⅳ)通過(guò)手動(dòng)一致性驗(yàn)證,模型錯(cuò)誤很早和很容易地被識(shí)別和刪除,然而當(dāng)前的習(xí)慣,錯(cuò)誤檢測(cè)只由最終的代碼在模擬器上運(yùn)行,或者更糟糕,在客戶現(xiàn)場(chǎng)測(cè)試系統(tǒng); (ⅴ)最后,方案可讀性確保了設(shè)備控制的一個(gè)完整和均衡的文檔,因此,在涉及設(shè)計(jì)和開(kāi)發(fā)團(tuán)隊(duì)上允許更好的交流。 目前的研究主要集中于把“更容易”方法擴(kuò)展到其他系統(tǒng)生命周期階段。此外,為了幫助軟件設(shè)計(jì)者實(shí)現(xiàn)豐富和可靠的應(yīng)用方案,一個(gè)基于“更容易”模型電腦輔助支持正在開(kāi)發(fā)。該包將提供許多正確性和一致性控制,特別是沿分 類層次的一致性和沿組合圖,一確保上下文無(wú)關(guān)和上下文的每個(gè)對(duì)象的相關(guān)的法則的兼容。 21 參考文獻(xiàn) 1. E., et , 3, 1992. 2. F., P. D. a to E. . 58, 1994. 3. F., G., P. D. 0542 1994. 4. F., G., P. D. of 95) (1995. 5. F., G., P. D. 11,30, 1995. 6. G., M., P. 8, 1995. 7. 1995. 8. P., E. 1990. 9. C. J. 1981. 10. D., et a of 6, 1990. 11. R. a of 1991. 12. 9, 1, 1993. 13. R. W. 1311995. 14. B. 15. 218,1993. 16. J., et 1991. 17. A. D. of 4, 1992. 18. Y. A a of W. . 1989.
收藏